[Page archived. Visit this page for the most recent version.]
University of Wisconsin-Madison CS 540 Section 1: Introduction to Artificial Intelligence
Spring 2020 (T,Th 9:30-10:45, Humanities 3650) 

In response to the Covid-19 pandemic, this is how we plan to teach CS540 starting the week of March 23, 2020: 1. [During lecture hours]: Each lecture will be a series of short pre-recorded videos posted to Youtube. Video links will be posted to both Canvas/Pages (View All Pages/Video Lectures) and Piazza @10 (Lecture doodles) before class. We don't have any planned VIDEO interaction happening specifically during lecture hours (but see Piazza below) and that all lecture content will be delivered asynchronously. We suggest having a routine that involves watching the content during class time, but acknowledge that your time constraints will likely have changed. As a test, we already posted two short Youtube videos on HAC single linkage and complete linkage clustering, please try them out. 2. [Also during lecture hours]: We will use Piazza for real-time Q&A. Please follow these rules: a. Please check if someone has posted the same / similar question before you; it's much easier if we build on the thread. b. Use an informative "Summary" line to help others. To summarize: In class you watch Youtube videos and ask / discuss questions on Piazza. 3. [Office hours]: Instructors / TAs / peer mentors will hold office hours (same schedule as before) in BBCollaborate Ultra, where the 250-student limit should not be an issue. In Canvas, go to the CS540 course, on the left menu you will find BBCollaborate Ultra. We set up an "Office hour test" session, you can join that session at any time to get familiar with the system. That session is not monitored, though, so don't expect someone to chat with you -- use the actual sessions that will be set up later. 4. Homework projects will be submitted the same way as before. 5. The final exam will be online. More details later.
Schedule Homework Posted|Date|Lecture Topic (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 3/03 Game: Minimax (slides, 5.1 - 5.3) (P5 PCA) 3/05 Game: in-class activity 3/10 Game: summary 3/12 Machine learning: intro, hierarchical clustering (slides, Z&G ch 1 [free access from UW IP addresses]) 3/24 Machine learning: k-means clustering (P6 game) 3/26 Machine learning: linear regression (notes) 3/31 Machine learning: kNN classifier (knn demo) (P7 cluster) 4/02 Machine learning: perceptron (slides) 4/07 Machine learning: neural network (P8 regression) 4/09 Machine learning: neural network 4/14 Machine learning: neural network (schema) (P9 NN) 4/16 Machine learning: deep learning 1 (Nature'15, Deep Learning book Ch 6, 9, Convolutional neural nets, 18.7) 4/21 Machine learning: deep learning 2 (P10 DL) 4/23 Machine learning: reinforcement learning 1 (Sutton and Barto 2nd ed. 1.1-1.4, 3, 6.5) 4/28 Machine learning: reinforcement learning 2 (Qlearning.m) 4/30 Machine learning: summary (CCC AI Roadmap)
Piazza 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. Canvas 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 Instructors: Hobbes LeGault, legault@wisc.edu, W 1-2 and by appointment, CS 4388 Professor Jerry Zhu, jerryzhu@cs.wisc.edu, M 3-4 and by appointment, CS 6391 TAs: hold office hours, grade your submissions Apurbaa Bhattacharjee, bhattachar26@wisc.edu : R 2-4pm in 4293 CS Brian Chang, brian.chang@wisc.edu : TW 3-4pm in 4294 CS Dandi Chen, dchen282@wisc.edu : T 1-2pm, W 3:30-4:30pm in 1302 CS Bastin Joseph, bjoseph5@wisc.edu : T 4-6pm in 4297 CS Akshaya Kalyanaraman, kalyanarama3@wisc.edu : M 2:30-3:30pm, F 12:30-1:30pm in 1302 CS Rohit Sharma, rsharma54@wisc.edu : RF 4-5pm in 4235 CS Tuan Dinh, dinh5@wisc.edu : M 4-6pm in 1302 CS Peer Mentors: hold office hours Tanmay Bagaria, tbagaria@wisc.edu : T 1:15-5:15pm, R 1-6pm Steven (Pengyu) Kan, pkan2@wisc.edu : T 5:30-7pm, W 4-5pm, R 5:30-9pm, F 5-7pm Atharva Kulkarni, akulkarni23@wisc.edu : 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, tnarang@wisc.edu : M 3-4pm, T 12-2pm, W 3-4pm, R 12-3:30pm, F 1:30-3pm Suyan Qu, squ27@wisc.edu : M 3-6pm, T 7-9pm, W 7-9pm Mentors will be available in 1304 CS at the following times each week: Su: 10-12pm Mo: 3-6:30pm Tu: noon-9pm We: 10am-9pm (break 12-2pm, 6:30-7pm) Th: noon-9pm Fr: 10am-7pm (break 1-1:30pm) Graders: grade your submissions Erik Bjorklund, ebjorklund@wisc.edu Yi-Shiun Chang, chang242@wisc.edu Chia-Wei Chen, cchen562@wisc.edu Grishma Gupta, ggupta7@wisc.edu Phanindra Moganti, moganti@wisc.edu Aashish Richhariya, richhariya@wisc.edu Abhash Singh, singh234@wisc.edu Optional Textbook: 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 Grading: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%
Homework Policies: 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. Useful Tips: learnpython.org Think Python: How to Think Like a Computer Scientist by Allen B. Downey
Exams: 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. Exam Archives: (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
Academic Integrity: 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). Disability Information 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. Advice 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!