Course Policies and Information
Enrollment
We aim to enroll as many students as possible subject to limits on room size, GSI availability, and the department's policies that govern admission into classes. The course staff does not control enrollment!
Sections
- Section 101, Monday 9-10am, 6 Evans
Instructor: Pat Virtue
Course control number: 26457 - Section 102, Monday 10-11am, 6 Evans
Instructor: Pat Virtue
Course control number: 26460 - Section 103, Monday 11-12pm, 75 Evans
Instructor: Joey Moghadam
Course control number: 26463 - Section 104, Monday 12-1pm, 2 Evans
Instructor: Andrew Liu
Course control number: 26466 - Section 105, Monday 1-2pm, 75 Evans
Instructor: Nimesh Chakravarthi
Course control number: 26469 - Section 106, Monday 2-3pm, 4 Evans
Instructor: Kevin Tee
Course control number: 26472 - Section 107, Monday 3-4pm, 6 Evans
Instructor: Kevin Tee
Course control number: 26475 - Section 108, Monday 4-5pm, 6 Evans
Instructor: Shijing Yao
Course control number: 26478 - Section 109, Monday 5-6pm, 81 Evans
Instructor: Shijing Yao
Course control number: 26481 - Section 110, Monday 6-7pm, 81 Evans
Instructor: Anna Lee
Course control number: 26484 - Section 111, Monday 4-5pm, 71 Evans
Instructor: Don Mai
Course Control Number: 26485 - Section 112, Monday 5-6pm, B51 Hildebrand
Instructor: John Du
Course Control Number: 25696 - Section 113, Monday 11am, 9 Evans
Instructor: James Sha
Course Control Number: 25727 - Section 114, Monday 3-4pm, 75 Evans
Instructor: Don Mai
Course Control Number: 25730
Prerequisites
-
CS 61A and 61B: Prior computer programming experience and a good understanding of clean, elegant implementations of nontrivial algorithms and data structures.
-
CS 70: Facility with basic concepts of propositional logic and probability are expected, as well as the ability to understand and construct proofs. CS 70 is the better choice for this course, but Math 55 could be substituted. Some linear algebra and calculus will be used, but the necessary content will be covered in the course.
Language
Course programming assignments will be in Python. We do not assume that students have previous experience with the language, but we do expect you to learn the basics very rapidly. Project 0 is designed to teach you the basics of Python, but if you want to get a head start here is a good tutorial: ACM Python Tutorial
Assignments
This class includes five programming projects in addition to the Python refresher and regular electronic assignments (some of which include tradition written components).
Collaboration: Project 0 is to be completed alone. Projects 1 through 5 can be completed alone or in teams of two. When completing in a team of two it is important that both team members submit their team's project files into edX to ensure a grade is registered for both team members. Homework is to be submitted individually but may be discussed in groups.
Project grading: Projects will by default be graded automatically for correctness, though we will review projects individually as necessary to ensure that they receive the credit they deserve.
Slip days: Programming projects must be turned in electronically by 5:00pm on the listed due date. You will have 5 slip days for these projects, up to two of which can be used for each project. Note that slip days are counted at the granularity of days, rounded up to the nearest day. The other homework assignments do not have late days; they cannot be submitted after the due date.
Ethics: Submissions should acknowledge all collaborators and sources consulted. All code and written responses should be original. We trust you all to submit your own work, but to protect the integrity of the course from anyone who doesn’t want to play by the rules, we will actively be checking for code plagiarism (both from current classmates and previous semesters). Please read the EECS Department policy on academic dishonesty.
Grading
Overall grades will be determined from:
- Programming Assignments (25%)
- Electronic Assignments (15%)
- Midterm exam (20%)
- Final Exam (40%)
Grades are on the following fixed scale:
A | [90 – 100]% |
A- | [85 – 90)% |
B+ | [80 – 85)% |
B | [75 – 80)% |
B- | [70 – 75)% |
C+ | [65 – 70)% |
C | [60 – 65)% |
C- | [55 – 60)% |
D+ | [50 – 55)% |
D | [45 – 50)% |
D- | [40 – 45)% |
F | [0 – 40)% |
These cutoffs represent grade minimums. We may adjust grades upward based on class participation, extra credit, etc. The grade of A+ will be awarded at the professor’s discretion based on exceptional performance.
Regrade Policy: If you believe an error has been made in the grading of one of your exams or assignments, you may resubmit it for a regrade. For any regrade requests, send an email to the staff list with a detailed explanation of which problems you think we marked incorrectly and why. Regrades for cases where we mis-applied a rubric in an individual case are much more likely to be successful than regrades that argue about relative point values within the rubric, as the rubric is applied to the entire class. Because we will examine your entire submission in detail, your grade can go up or down as a result of a regrade request.
Textbook
The required text is Artificial Intelligence: A Modern Approach by Russell and Norvig.