CS 540 Section 1: Introduction to Artificial Intelligence
Spring 2020 (T,Th 9:30-10:45, Humanities 3650)
(P0 AI100) 1/21 Python for Java Gurus (slides); Uninformed search (slides, ch 3)
1/23 Search: state space
(P1 python) 1/28 Search: A* (slides, ch 3)
1/30 Search: hill climbing (slides, 4.1)
(P2 search) 2/04 Search: genetic algorithm
2/06 Search: summary
(P3 search) 2/11 Math: Probability (slides, 14.1, 14.2, 14.4, Introduction to Probability, Statistics, and Random Processes Ch 1, 2, 3)
2/13 Math: Statistics (Natural language and statistics notes, NLPdemo.zip, Stanford English Tokenizer)
2/18 Math: Decision theory: Naive Bayes Text classifier (notes)
(P4 math) 2/20 Math: Linear algebra (math crib sheet, Solomon Numerical Algorithms Ch 1)
Eigenface, Principal Component Analysis (notes, matlab/octave PCA demo, Roughgarden, Valiant notes on PCA vs. SVD)
2/25 Math: Logic (slides, 7.1, 7.3 - 7.5)
2/27 Math: summary
(P5 game) 3/03 Game: Minimax
3/05 Game: in-class activity
3/10 Game: summary
3/12 Machine learning: intro
(P6 ML) 3/24 Machine learning: python
3/26 Machine learning: hierarchical clustering
(P7 cluster) 3/31 Machine learning: k-means clustering
4/02 Machine learning: linear regression
(P8 regression) 4/07 Machine learning: kNN classifier
4/09 Machine learning: perceptron
(P9 NN) 4/14 Machine learning: neural network
4/16 Machine learning: deep learning 1
(P10 DL) 4/21 Machine learning: deep learning 2
4/23 Machine learning: reinforcement learning 1
4/28 Machine learning: reinforcement learning 2
4/30 Machine learning: summary
The instructors and TAs will post announcements, clarifications, hints, etc. on Piazza. Hence you must
check the CS540 Piazza page frequently throughout the term. If you have a question, your best option
is to post a message on Piazza. The staff (instructors and TAs) will check the forum regularly, and if
you use the forum, other students will be able to help you too. When using the forum, please do not post
answers to homework questions before the homework is due.
If your question is personal or not of interest to other students, you may mark your question as private
on Piazza, so only the instructors will see it. If you wish to talk with one of us individually, you are
welcome to come to our office hours. Please reserve email for the questions you can't get answered in
office hours or through the forum.
Homework assignments are posted in Canvas. Homework must be submitted via the Canvas system.
If there is a programming part, electronically hand in files containing the python code
that you wrote for the assignment. We provide specific instructions for each homework.
Course Staff and Office Hours
Hobbes LeGault, email@example.com, W 1-2 and by appointment, CS 4388
Professor Jerry Zhu, firstname.lastname@example.org, M 3-4 and by appointment, CS 6391
TAs: hold office hours, grade your submissions
Apurbaa Bhattacharjee, email@example.com : R 2-4pm in 4293 CS
Brian Chang, firstname.lastname@example.org : TW 3-4pm in 4294 CS
Dandi Chen, email@example.com : T 1-2pm, W 3:30-4:30pm in 1302 CS
Bastin Joseph, firstname.lastname@example.org : T 4-6pm in 4297 CS
Akshaya Kalyanaraman, email@example.com : M 2:30-3:30pm, F 12:30-1:30pm in 1302 CS
Rohit Sharma, firstname.lastname@example.org : RF 4-5pm in 4235 CS
Tuan Dinh, email@example.com : M 4-6pm in 1302 CS
Peer Mentors: hold office hours
Tanmay Bagaria, firstname.lastname@example.org : T 1:15-5:15pm, R 1-6pm
Steven (Pengyu) Kan, email@example.com : T 5:30-7pm, W 4-5pm, R 5:30-9pm, F 5-7pm
Atharva Kulkarni, firstname.lastname@example.org : Su 10-12pm, T 1-3pm, W 10a-12pm, F 10a-12pm
Daniel (Xuri) Li, Xli892@wisc.edu : W 2-5pm, F 2-5pm
Tushar Narang, email@example.com : M 3-4pm, T 12-2pm, W 3-4pm, R 12-3:30pm, F 1:30-3pm
Suyan Qu, firstname.lastname@example.org : M 3-6pm, T 7-9pm, W 7-9pm
Mentors will be available in 1304 CS at the following times each week:
We: 10am-9pm (break 12-2pm, 6:30-7pm)
Fr: 10am-7pm (break 1-1:30pm)
Graders: grade your submissions
Erik Bjorklund, email@example.com
Yi-Shiun Chang, firstname.lastname@example.org
Chia-Wei Chen, email@example.com
Grishma Gupta, firstname.lastname@example.org
Phanindra Moganti, email@example.com
Aashish Richhariya, firstname.lastname@example.org
Abhash Singh, email@example.com
Artificial Intelligence: A Modern Approach, 3rd edition (blue)
Stuart J. Russell and Peter Norvig. Prentice Hall, Englewook Cliffs, N.J., 2010
Prerequisite: (COMP SCI 300 or 367) and (MATH 211, 217, 221, or 275), mathematical maturity
Note: The distribution of CS540 final grades has been as follows.
This is an approximation, and changes from semester to semester.
The median student's course grade is usually a low B or high BC.
The percentiles refer to ranking based on the final weighted score.
A top ~20% of class
AB next ~20%
B next ~20%
BC next ~20%
C next ~15%
D next ~3%
F next ~2%
- Midterm Exam: about 15%
- Final Exam: about 15%
- Homework Assignments: about 70%
Homework assignments will include written problems and sometimes programming in Python.
Accounts will be provided on the Computer Sciences Department's instructional
Unix workstations located in rooms 1350, 1351, and 1370. Frequently-asked
questions (FAQs) on homework assignments will be e-mailed to the class mailing
list. Homework is always due the minute before class starts on the due date.
Late submissions will not be accepted. Assignment grading questions must be
raised with the TAs within 72 hours after it is returned. Regrading request
for a part of a homework question may trigger the grader to regrade the entire
homework and could potentially take points off. Regrading will be done on the
original submitted work, no changes allowed.
We will drop two lowest homework scores from your final homework average calculation. These drops are
meant for emergency. We do not provide additional drops, late days, or homework extensions.
We encourage you to use a study group for doing your homework. Students are expected to help
each other out, and if desired, form ad-hoc homework groups.
Think Python: How to Think Like a Computer Scientist by Allen B. Downey
There will be a midterm exam and a final exam. Makeup exams will not be scheduled. Please plan for
exams at these times and let us know about any exam conflicts during the first two weeks of
the semester. If an emergency arises that conflicts with the exam times, email us as soon as
possible. Emergency exam conflicts will be handled on a case-by-case basis. Exam grading questions
must be raised with the instructor within 72 hours after it is returned. If a regrade request is
submitted for a part of a question on the exam, the grader reserves the right to regrade the entire exam
and could potentially take points off.
All exams are closed book. For midterm, one 8.5x11 sheet of paper with notes on both sides
allowed (handwritten or typed). For final exam two such sheets are allowed. Bring copious
amount of blank scratch paper. Calculator is optional -- you shouldn't need it (we ask you
to not use internet enabled devices such as the calculator app on smartphone). Lectures
and readings on the syllabus page are required, with a few exceptions (to be posted before
the exam). You are responsible for topics covered in lecture even if there are no lecture
notes on the topic.
(Note the exam format, scope and order of topics might be different.)
Fall 18 midterm (with solution)
Fall 17 final (with solution)
Fall 17 midterm (with solution)
Fall 16 final (with solution)
Fall 16 midterm (with solution)
Fall 14 final (with solution)
Fall 14 midterm (with solution)
Fall 13 final
Fall 12 final (with solution)
Fall 11 midterm (with solution)
Fall 10 final (with solution)
Fall 10 midterm (with solution)
Fall 09 final (with solution)
Fall 09 midterm | Answers
Fall 08 final
Fall 08 midterm
Fall 06 final
Fall 06 midterm | Answers
Fall 05 final
Fall 05 midterm | Answers
Prof. Dyer's CS540 exam archives
- Midterm Exam: 3/11/2020, Wednesday 5-7pm. Van Vleck B102 and Ingraham B10
Topics: all topics in lectures up to the exam; related slides and notes.
- Final Exam: 5/5/2020, Tuesday 12:25PM - 2:25PM.
Topics: Cumulative. everything on the course webpage, including slides, notes, selected readings (but not whole books)
You are encouraged to discuss with your peers, the TA or the instructors ideas, approaches
and techniques broadly. However, all examinations, programming assignments, and written
homeworks must be written up individually. For example, code for programming assignments
must not be developed in groups, nor should code be shared. Make sure you work through all
problems yourself, and that your final write-up is your own. If you feel your peer discussions
are too deep for comfort, declare it in the homework solution: "I discussed with X,Y,Z the following
specific ideas: A, B, C; therefore our solutions may have similarities on D, E, F..."
You may use books or legit online resources to help solve homework problems, but you must always credit
all such sources in your writeup and you must never copy material verbatim.
We are aware that certain websites host previous years' CS540 homework assignments and solutions against the
wish of instructors. Do not be tempted to use them: the solutions may contain "poisonous berries" previous
instructors planted intentionally to catch cheating. If we catch you copy such solutions, you automatically fail.
Do not bother to obfuscate plagiarism (e.g. change variable names, code style, etc.) One application
of AI is to develop sophisticated plagiarism detection techniques!
Cheating and plagiarism will be dealt with in accordance with University procedures
(see the UW-Madison Academic Misconduct Rules and Procedures).
The University of Wisconsin-Madison supports the right of all enrolled students to a full and equal
educational opportunity. The Americans with Disabilities Act (ADA), Wisconsin State Statute (36.12),
and UW-Madison policy (Faculty Document 1071) require that students with disabilities be reasonably
accommodated in instruction and campus life. Reasonable accommodations for students with disabilities
is a shared faculty and student responsibility. Students are expected to inform Professor Zhu of their
need for instructional accommodations by the end of the third week of the semester, or as soon as
possible after a disability has been incurred or recognized. Professor Zhu will work either directly
with the student or in coordination with the McBurney Center to identify and provide reasonable
instructional accommodations. Disability information, including instructional accommodations as part
of a student’s educational record, is confidential and protected under FERPA.
Additional Course Information
Course learning outcomes: Students gain principles of knowledge-based search techniques;
automatic deduction, knowledge representation using predicate logic, machine learning,
probabilistic reasoning. Students develop applications in tasks such as problem solving,
data mining, game playing, natural language understanding, and robotics.
Number of credits associated with the course: 3
How credit hours are met by the course: For each 50min of classroom instruction, a minimum of two hours
of out of class student work is expected. This course has two 75-minute classes each week over approximately
15 weeks, which amounts to the standard definition of a 3-credit course.
Attend lectures! Much information is in neither the textbook nor the slides. Students do better in the
course if they stay on track with lectures. That also helps with your homework.
Do the homeworks! The homeworks are explicitly designed to help you to learn the material as you go along.
There is usually a strong correlation between homework scores and final grades in the class.
Visit the TAs and peer mentors! They are here to help you. The better prepared you are for the discussion,
the more you are likely to benefit from it.
Form study groups! You are encouraged to form small groups to work together on homeworks and on understanding
the class material on a regular basis. In addition to being fun, this can save you a lot of time by generating
ideas quickly and preventing you from getting hung up on some point or other. Of course, it is your responsibility
to ensure that you contribute actively to the group; passive listening will likely not help you much.
You must write up your solutions on your own. We advise you strongly to spend some time on your own thinking
about each problem before you meet with your study partners; this way, you will be in a position to compare ideas
with your partners, and it will get you in practice for the exams. Some groups try to split up the problems
("you do Problem 1, I'll do Problem 2, then we'll swap notes"); not only is this a punishable violation of our
collaboration policies, it also ensures you will learn a lot less from this course.
Don't Be Afraid to Ask for Help! Struggling? Convinced that you are the only one who doesn't know the material?
Don't feel that way. Please come talk to us early. Don't wait until the end of semester. We want to see you succeed in CS 540!