This course is taught by
3214 Siebel or 1222 Siebel (inside the CS Undergraduate Office)
Neither office has a working phone, so please use email to contact me or post on our piazza forum
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 probability and statistics (CS 361, ECE 313, STAT 400, MATH 461, or BIOE 310). Notice that our data structures course implies that you have taken discrete math (CS 173) and Calculus I. CS 440 is intended to be a first course in AI. If you have already taken a specialized AI course (e.g. CS 446), be prepared for a repeat of some familiar material.
Our meeting time is MWF 9-9:50 in 0027/1025 Campus Instruction Facility (aka the big auditorium).. In-class lectures will be recorded and lecture notes posted. Some pre-recorded lecture material may be used, especially to handle technical glitches (e.g. classroom projector won't turn on).
There will be in-class quizzes every other Friday starting with week 3. MPs will be due Mondays starting week 4. See the schedule page for details.
An office hour schedule (instructor and TAs) will be posted during the first week of classes. Meanwhile, catch Margaret at the end of lecture to talk or set up a time to talk. Office hours will be a mix of in-person and online, depending on the current state of diseases on campus (e.g. Covid 19) and how crowded our building is.
Lecture notes will be posted on the schedule page. Supplementary readings are posted on the readings page.
All critical information should be in the posted notes. You may, optionally, wish to buy a copy of Russell and Norvig, Artificial Intelligence: A Modern Approach. The fourth edition is the most recent version. Used copies, third edition, paperback (aka international) and electronic editions are also fine.
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. You should install version 3.8. If you'd like a hardcopy reference for the basics, the hardcopy version 3.6 tutorial is still a good place to start because it covers features that haven't changed much.
Quizzes will will require a portable device. They will be browser-based, so a wide range of devices should work ok. However, it's best to have a real keyboard because you'll need to be able to type extended (e.g. 1-2 paragraph) answers.
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 quizzes.
Students may not add the class after add date (10 day of classes).
Please tell me right away if you change your credit hours (3 vs. 4 hours) so that I can ensure you are given the appropriate version of the quiz on moodle.
You may change from 3 to 4 credit hours up until you take the first quiz. After that, I will only approve the change in emergency situations.
You may change from 4 to 3 credit hours as late as drop date (Oct 13th). However, I will not adjust the scores for quizzes you have already taken.
See the top menu for links to piazza, gradescope, and moodle.
If you registered at least a week before the start of classes, you should find that you are enrolled in the class on all three sites. The rest of you might or might not be on these sites yet, but you can add yourself. The moodle self-enrollment key is "Hedwig". The Gradescope access key is 7GRYRE.
On the external sites (Gradescope and Piazza), please enroll using your illinois.edu email address. If you would prefer not to do this, e.g. for privacy reasons, contact the instructor to be added under an alternate email address. We need to be able to match your external email to the roster for purposes such as moving MP grades from Gradescope to Moodle.
We plan 12 MPs, 6 quizzes, and a short final exam (aka Quiz 7). 4-hour students will take modified quizzes which also include questions on technical reading (approximately one accessible conference paper for each quiz). See the quiz page for more details.
The final has the same weight as one quiz.
For students taking the course for 3 credit hours, the two lowest MP scores will be dropped. Be aware that some MPs build on previous MPs, notably pairs of adjacent MPs with similar names. This means that it's safe to skip some MPs and unwise to skip others. We will make these dependencies clear as the MPs are posted.
To get a letter grade of A+, you must complete all MPs with a grade of at least 80% on each (in addition to having a high course average).
The translation into letter grades will be at least as generous as the standard high school scale. That is,
I may move these cutoffs downwards (i.e. raising the letter grades) if the raw scores seem to be running lower than I intended. Historically, such adjustments have rarely been more than a couple percentage points. Because the work is different, the adjustments for the 4-hour students may differ from those for the 3-hour students.
Makeups for each quiz will be held in class in the same period as the next quiz. See the Quizzes page for details. Ad-hoc makeup times will be arranged only in rare cases (e.g. extended illness, students with DRES accommodations). Makeups for Quiz 6 will be at the final exam.
Makeups are for students who have not yet taken the quiz. You do not need special permission or documentation to take the makeup.
For each MP, we expect you to have preliminary submissions well ahead of the deadline. Each MP deadline has a two-day grace period for managing most normal problems that may arise close to the deadline (e.g. short illness). The grace period will not be extended if you start the MP very late and then have some other problem arise. See below for discussion of major problems that may be beyond your control.
Regrade requests should be posted to the regrade folder on piazza. They 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.
Programs and reports that you submit must be your own work. You may not look at another student's code or copy from it. You may not copy significant quantities of material from external sources except as specifically directed in the instructions for the assignment. You may not use tools (e.g. large language models) to write significant quantities of text/code for you.
You are encouraged to discuss assignments at a high level with other students (e.g. how is a perceptron supposed to work?). You should also feel free to share information about basic utilities (e.g. how do I open a file in Python?). It is ok to conduct this discussion online, e.g. on piazza. Similarly, you may look at external sources for general tips and copy small fragments of code (e.g. an example of how to invoke some standard utility).
There is a grey area where you may be copying something that is interesting but seems small within the context of the whole assignment, e.g. an interesting algorithm trick or formula. In this case, you must properly acknowledge the source, e.g. using comments in your code. Be aware that the MPs in this course are intended to be built largely from scratch, so your grade will be reduced if these external aides make the assignment significantly easier.
If you aren't sure, ask the course staff.
Similarly, do not make your work available to other students, either deliberately or negligently. Extended fragments of code should be shown only to course staff, not to other students. Details of MP solutions should be discussed with another student only after the grace period, plus any individual extensions the two of you might have. It is your responsibility to check. Similarly, discuss quiz questions and solutions only after both of you have taken the quiz. Do not post this information in public places (e.g. github).
If you have reason to worry that someone may have copied your work, keep good notes and consider informing the course staff. A good way to document your authorship is to submit preliminary work on gradescope as you develop your code.
See the college statement and the student code for other types of actions that would be considered academic integrity infractions.
The standard sanction for an academic integrity infraction is the larger of a 10% reduction in your course average or a non-droppable zero on the assignments or quizzes involved. (This assumes a misdeed of some significance rather than a minor technical mistake or misunderstanding.) A second infraction will typically cause you to fail the entire course.
If you need disability accommodations, please send a copy of your DRES letter to the instructor. Usually it's fairly easy to work out something appropriate. Similarly please tell the instructor if you need privacy protections beyond what we normally provide. (See here for the college's official statements.)
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 ahead of the deadline, so that last-minute problems will not have catastrophic consequences.
We will make special arrangements for the usual range of official excuses (e.g. illness, religious holidays), serious extenuating circumstances, university-sponsored travel (e.g. athletic, academic conferences), and situations that you could not reasonably have avoided by good preparation (e.g. illness on the day of an exam/quiz). 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 in advance. On the other hand, there might be unavoidable delays informing us about a serious illness or 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 significant accommodations such as incompletes, late drops, light load..
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.