This course provides an introductory survey of concepts and techniques in artificial intelligence. We will cover methods for search, classification, reasoning, and machine learning. We will also look at applications including core AI (games, planning), robotics, computer vision, and natural language understanding.
This course assumes that you have taken data structures (CS 225) and therefore, by transitivity, Discrete Structures and Calculus I. A probability and/or statistics course (e.g. CS 361) is strongly recommended. It is intended to be a first course in AI. If you have already taken a specialized AI course (e.g. CS 446), be prepared to review some familiar material.
Lectures are 9-9:50 MWF in 1002 ECE.
The textbook is Russell and Norvig, Artificial Intelligence: A Modern Approach, third edition. The bookstore has the hardbound (aka US) edition. Used copies, paperback (aka international) and electronic editions are also fine. There is a copy on reserve in Grainger library.
You will also need a reference for Python, which we will use to write the MPs. A good place to start is the the Python Tutorial (also available in hardcopy form).
Other supplementary readings will be posted, typically from textbooks available online.
As long as we have enough seats, it's ok for non-registered students to sit in on lectures. You can (obviously) also do MPs on your own. However, non-registered students may not take the exams or submit work (e.g. MPs) for grading.
We will not let students add the class after add date (10 day of classes).
See the top menu for links to piazza, gradescope, and moodle.
If you have some reason why you don't want gradescope or piazza to know your U. Illinois email, contact the instructor to be added under an alternate email address.
There will be about 7 MPs, 2 in-class midterms, and a final. Students taking the course for 4sh will also do two short literature review papers. Some bonus credit may be available on the MPs, but your grade on any individual MP may not exceed 110%. Your lowest MP score will be dropped.
Grading Formula (3sh)
Grading Formula (4sh)
The translation into letter grades will be at least as generous as the standard high school scale (e.g. 70% is a C-, 80% is a B-, 90% is an A-). Any necessary curving may be done differently for the 3sh and 4sh students.
Exam regrade requests should normally be submitted via gradescope's built-in regrade request feature. Asking questions on piazza may also be appropriate if the issue seems to be general to many people (e.g. moodle's gradebook seems to be using the wrong formula).
MP regrade requests should be posted on piazza, in the appropriate regrade folder (e.g. mp1-regrades for mp1).
Regrade requests must be submitted within a week after the grade and feedback comments have been released. The course staff reserves the right to regrade not only the items questioned by the student, but also the other parts of the assignment or test.
You are encouraged to discuss assignments with other students, to share high-level understanding of the design (e.g. how is a perceptron supposed to work?) or basic utilities (e.g. how do I open a file in Python?). It is ok to conduct this discussion online, but do not post code (beyond very short generic examples). Programming and writing of reports/papers must be done individually.
You may look for tips, copy code, or use packages, from external sources. However, this must be explicitly acknowledged in your report and your code comments. Be aware that these MPs are intended to be built largely from scratch, so your grade will be reduced if these external aides make the assignment significantly easier.
It is an academic integrity offense to deliberately or negligently copy from other students, assist other students in copying from you, or use external sources without acknowledgement. It is also an academic integrity offense if a written report significantly misrepresents what your code actually does. See the student code for other types of actions that would be considered violations.
The standard penalty for an academic integrity violation is a zero on the assignment or exam in question. (This assumes an action of some significance rather than a minor technical mistake or misunderstanding.) A second offense will typically cause you to fail the entire course.
We expect that you can arrange your work so that minor problems (e.g. a short virus, planned travel) do not stop you from meeting the deadlines. In particular, you are expected to submit preliminary versions of MPs well ahead of the deadline, so that last-minute problems will not have catastrophic consequences.
We will make special arrangements for serious extenuating circumstances, and situations that you could not reasonably have avoided by good preparation (e.g. illness on the day of an exam). However, you must inform the instructor and respond to rescheduling emails in a timely manner. The meaning of "timely" depends on the circumstances. For example, planned travel or religious holidays should be reported a couple weeks in advance. On the other hand, there might be unavoidable delays informing us about a serious injury.
For major and extended problems, we expect you to be in contact with the Dean of Students office. Or, for graduate students, your department's advising office. These offices can help document the problem, help you stay in contact with instructors, and determine if you need accommodations such as incompletes.
Makeups for each exam will be held during the week after the regular sitting. The details are still TBD, but expect the makeup to be at the class time or very early morning, to avoid conflicts. Ad-hoc makeup times will be arranged only in rare cases (e.g. extended illness).
Occasionally there are problems affecting a large number of people, e.g. network outages, snowstorms, TA strikes. In that case, we'll make appropriate adjustments. Watch for announcements (e.g. piazza). Do not make unsafe choices, e.g. driving into campus when the roads are dangerous.