Professor: Mark Hopkins, [email protected]
Class Schedule: MWF 1215-105pm (Section 1, Performing Arts 320), MWF 135-225pm (Section 2, Performing Arts 320), MWF 310-4pm (Section 3, online at https://zoom.us/j/3344875668).
Office Hours: TuTh 3-4pm, F 4-5pm (all by appointment - sign up using this link).
Textbook: Artificial Intelligence: A Modern Approach (4th edition) by Stuart Russell and Peter Norvig. Make sure to get the newest (4th) edition!
Website: http://markandrewhopkins.com/csci-377-artificial-intelligence/
Course Information Sheet: here
This course teaches you the fundamentals you need, in order to be an informed, well-rounded practitioner of artificial intelligence. At a high level, it focuses on three topics: logic, search, and probability. While you likely have some experience with all three of these subjects in previous classes, the focus of this course will be on: (a) coming to terms with the fact that almost everything we want to do is NP-hard or worse, and then (b) sometimes successfully doing it anyway.
Homework: There will be short but very regular homework assignments. They are important to do, so that you can learn the material well. It is less important that you get the answers correct than that you give a good faith effort. We will spend a good chunk of class time tackling homework assignments together. You will be required to hand in homework solutions, with the freedom to skip two homeworks over the course of the semester without penalty. I would, however, encourage you not to exercise this freedom unless necessary.
Projects: There will be four projects during the course. These are the famous “Pac-Man” projects developed at UC Berkeley. You will have approximately two weeks to complete each project.
Exams: There will be three exams during the course: two midterms and a final. Each exam is weighted equally and covers one module of the course. In other words, there will be one exam about logic, one exam about search, and one exam about probability. The final will not be comprehensive of the entire course and will not be worth more than the midterms. This means that once you take the logic exam, you can forget everything you ever knew about logic, but I hope you don’t.
After successful completion of the course, a student should:
- Understand introductory concepts in AI logic, as demonstrated by the following skills:
- Express logical statements using propositional and first-order logic, and understand the ontological difference between propositional and first-order logics.
- Apply and analyze logical inference algorithms, such as resolution and forward/backward chaining
- Understand introductory concepts in AI search, as demonstrated by the following skills:
- Implement and analyze uninformed search strategies such as BFS, DFS, and depth-limited search, and bidirectional search
- Implement heuristics in informed search strategies, as well as identify the aspects of a good heuristic
- Implement and analyze simple game search algorithms, e.g. minimax and alpha-beta pruning
- Understand introductory concepts in probabilistic models and reinforcement learning, as demonstrated by the following skills:
- Construct probabilistic models of uncertainty and compute/understand associated concepts like d-separation.
- Implement a reinforcement learning engine for a simple scenario, like learning to play blackjack.
Collaborating on homework and projects is permitted, but each student must write up homework independently, and must do the actual programming on the projects independently (no cutting and pasting somebody else’s code!) Also, you should acknowledge the names of anyone who you collaborated with.
Reading assignments will be posted on the website a minimum of two days in advance of each lecture. I will assume that the reading is done prior to lecture.
If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your professor and the Office of Disability Support Services, [email protected] or 503-517-7921 as early as possible in the semester. Please be aware that requests may take several weeks to implement once approved, and that accommodations are not retroactive.
Face Masks: All members of the class (students, faculty, staff) are expected to wear face masks during class. If a student does not wear a mask, they will be asked to leave. If a student continues to not wear a face mask in future classes, they may be dropped from the course.
Health Checking: Students, staff, and faculty are expected to complete a health self-assessment each day to check for symptoms of COVID-19. This assessment tool will be available as a Qualtrics survey. Those experiencing COVID-19 symptoms should not attend an in-person course (see details below).
In-person course attendance (Sections 1 and 2): Each community member has an individual responsibility to help prevent the spread of the coronavirus. If you are ill, self-isolating and/or quarantining due to possible exposure to coronavirus or to other infectious diseases, your in-person attendance in class is not required (and you will not be penalized for not attending in-person classes). Self-isolation is the recommended course of action for anyone experiencing flu-like symptoms, whether due to possible coronavirus or to other illnesses. Please stay at home if you feel sick, and most especially if you think you may have an infectious disease. You should not attend class if you have tested positive for COVID-19, or if you have received notification or advice from the college or a health professional (including HCC staff) to quarantine or self-isolate. The CDC suggests that people with the following symptoms may have COVID: fever or chills, cough, shortness of breath or difficulty breathing, fatigue, muscle or body aches, headache, new loss of taste or smell, sore throat, congestion or runny nose, nausea or vomiting, diarrhea. As always, please consult a medical professional (members of the HCC or otherwise) if you have any questions about your health or health safety. Students who are quarantining or self-isolating should attend Section 3 lectures (no matter which section you are enrolled in), to the extent that their health allows.
If you need to miss a class, or series of classes, due to illness, self-isolation, and/or quarantine, you are responsible for emailing me to let me know as soon as possible. You are also responsible for coordinating with me to complete work that you might miss due to absences. It can be challenging to catch up after some time out of class, so let’s collaborate to make a plan for getting up to speed.
Finally, please let me know right away about any technical issues you are having with respect to accessing material provided to you during a period away from in person class attendance.