University of Illinois Urbana-Champaign

CS 440 Online Syllabus

Summer 2026 · Introduction to Artificial Intelligence

Coursera access and registration

This is an online course hosted on Coursera. For registration-related questions and Coursera access instructions, please follow the official Grainger Engineering instructions linked below.

How to access your CS course hosted on Coursera

Instructor

This course is taught by

  • Amnon Attali
  • aattali2@illinois.edu

Please post on Piazza to contact the course staff or use email if Piazza is insufficient or unavailable.

Course description

This course provides an introductory survey of concepts and techniques in artificial intelligence. Our core topic will be search, and we will see how many seemingly different topics can be viewed from the perspective of search or as tools that enable search.

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. This course also assumes some familiarity with Python. If you have no Python experience make sure to allocate significantly more time to the first homeworks.

You can expect materials to be released at least TWO weeks in advance. Your feedback is highly desired and even expected and in general please do not hesitate to reach out with any questions, criticisms, or feedback of any kind. If you require special accommodations or any aspect of the lectures are difficult for you to engage with please reach out. If you communicate your confusions to me we will eliminate them together, and the result is that you will learn what is probably the most important concept of the 21st century, Artificial Intelligence.

Office hours

An office hour schedule will be posted after polling the class for best times. Meanwhile, feel free to send Amnon an email or post on Piazza. As this is an asynchronous course, office hours will be online, and priority will be given to students working on “current” material rather than those who are ahead. You should expect office hours to occasionally be cancelled or moved.

Materials

All materials (lecture videos, quizzes, homeworks) for the course will be posted on Coursera.

Electronic tools

  • Coursera: our main course page and content
  • Gradescope: for submitting MPs
    • Make sure to only access Gradescope through the Launch App button in Coursera
    • Make sure to login to Gradescope and Coursera both with your Illinois email
  • Piazza: questions and discussion.
    • This will be created in the first week and you should be automatically added assuming you registered on time, if not please email Amnon for the access code.
  • Python: you should install a Python version >=3.10 and we recommend working in VSCode. There is a tutorial on how to set up your VSCode environment posted on Coursera along with the first week’s lectures.

Graded work

Your grade will consist of MPs (machine problems / mini projects) and Quizzes

3-credit hour Grading Formula

  • MP average 60%
  • Quiz average 40%

You can generally think of each week as a “lecture week” and the following week as an “assessment week” with both a quiz and programming assignment due.

4-credit students will have an additional assignment to record a presentation explaining or implementing an algorithm or concept we did not cover in class which is important to one of the course topics. More information on this assignment will be posted during the semester. This assignment will be worth 10% of your final grade (3-credit hour students can optionally do this assignment for up to 5% extra credit):

4-credit hour Grading Formula:

  • MP average 50%
  • Quiz average 40%
  • Final Project 10%

Quizzes:

  • These will be due every other week on Sunday at 11:59pm
  • You will have between 30 and 45 minutes for around 10-15 multiple choice questions
  • You will have at least three attempts (with different questions)
  • Your grade will be the maximum among your attempts
  • We don’t make any practice questions available, though you may think of your first attempts as practice…
  • You should expect quizzes to test your understanding of the material beyond simple recollections of covered material

MPs

  • These will be due every other week on Sunday at 11:59pm
  • All MPs will be autograded on Gradescope (where you will have unlimited submission attempts)
  • All MPs will be in Python
  • You will generally be provided some starter template code (and potentially data or test cases)

Grading Scale

This scale is tentative and may change depending on the grade distribution. This course has not been run many times before and so this scale may be miscalibrated.

  • A+: 97+
  • A: 93
  • A-: 90
  • B: same as above but 80s

Late Submissions

Late submissions will be accepted for one week after the deadline for a 10% deduction, e.g. a quiz or MP that was submitted late and received 80% would have 10% deducted and result in a grade of 72%. Note that we might not accept late submissions for the final assignments to allow for enough time to finalize grades before the end of the semester. Any extensions beyond this would require special accommodations and should be posted to Piazza as a private post.

Regrades

Regrade requests should be posted on Piazza. They must be submitted within a week after the grade has 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.

Academic integrity

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. ChatGPT or CoPilot) 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 does the A* algorithm 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 aids make the assignment significantly easier.

If you aren't sure, ask the instructor.

Similarly, do not make your work available to other students. Extended fragments of code should be shown only to course staff, not to other students, and they should not be posted on Piazza. Instead, submit your code to Gradescope so staff can refer to it when they answer your Piazza question. If you store your code on github, make sure your repo is set to private. It is an academic integrity infraction ("facilitation") to make your work available for other students to copy, either deliberately or negligently. The sanctions may be as large as the ones quoted above for copying someone else's work, but may be lower depending on the circumstances.

Discuss quiz questions and solutions with other students only after both of you have taken the quiz. Do not post information about quizzes in public places.

See the college statement and the student code for other types of actions that would be considered academic integrity infractions. The course staff reserve the right to give as harsh penalties as they see fit for infractions.

Circumstances beyond your control

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.)

As this is an asynchronous course minor problems such as short illness throughout the semester are not expected to impact your overall ability to complete assignments in a timely manner.

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 (some of which need college approval) such as incompletes, late drops, light load.

Course topics

You can expect approximately six to seven total quizzes and MPs, along with 2-4 hours of recorded lecture per chapter below. Note that some of the dates below are compressed due to the shortened summer semester - for example Chapter 3 materials are condensed to a single week.

  1. [5/18 - 5/31] A* (State Space Search)
    1. We will start by understanding what is a search problem and why this model of a problem is so important to AI
    2. We will build up to the A* algorithm, the canonical heuristic search algorithm
    3. NOTE: to accommodate start-of-the-semester complications the first assignment and quiz will be accepted without penalty on 6/7 but we highly recommend completing them by 5/31 so you have sufficient time for Chapter 2
  2. [6/1 - 6/14] Multi Agent and Task Planning (“Applications” and Bilevel Search)
    1. We will see how to represent real world problems as search problems
    2. We will see how the Curse of Dimensionality forces us to resort to more efficient but suboptimal search strategies,
    3. We will explore different approaches to searching a space: hierarchically, decoupled, using a database, or searching in plan space
    4. We will see how heuristics often come from relaxations of constraints
  3. [6/15 - 6/21 ~ one week] Robot Motion Planning (Continuous Search)
    1. We will see how robot motion planning problems naturally yield continuous search spaces through interactions between geometries
    2. We will model and solve these problems using various discretization techniques and search methods
    3. We will see the most popular types of heuristics for guiding search in robotics
  4. [6/22 - 7/5] Machine Learning (Local Search and Optimization)
    1. We will see how fitting a function to data is a search problem that necessitates different strategies than we used before, in part because we will no longer care about the path taken just the end result → we will use local search
    2. We will see how model selection and model optimization are two separate search problems that can be combined into one
    3. We will see how to express goal conditions and other desiderata into an objective function
  5. [7/6 - 7/19] Reinforcement Learning (Policy Search)
    1. We will see how the Markov Decision Process is a general and powerful model for search, where Reinforcement Learning (RL) is the tool we will have to resort to when very little is known explicitly about our search problem
    2. We will see how RL is effectively the study of search over a space of policies
    3. We look at both “model-based” and “model-free” RL and finish with Deep RL
  6. [7/20 - 8/2] Planning Under Uncertainty (Belief Space Search)
    1. We will introduce the Hidden Markov Model and Partially Observable MDP as models for states spaces in which the true state is unknown
    2. We will study problems in which the desired output is the most likely outcome accounting for priors, called the Maximum A Posteriori Estimate (MAP)
    3. We will see how to cast such problems as search problems in which transitioning between states requires repeated application of Bayes’ Rule - Bayesian Filtering
    4. We will see how the same tools we use for planning under uncertainty can also be applied to other problems such as Adversarial Search.
  7. [8/3 - 8/9] Perception (Tools)
    1. Computer Vision (images)
    2. Unsupervised and self-supervised representation learning
    3. Natural Language Processing (text)
    4. NOTE: this chapter has NO assignment and an OPTIONAL extra credit quiz worth up to 4% of your final grade