CS 540 Section 1: Introduction to Artificial Intelligence
Fall 2018 (T,Th 11am - 12:15pm, Van Vleck B102) 

Calendar 9/6 Introduction (Stanford One Hundred Year Study on Artificial Intelligence; optional: textbook ch 1, 2; AAAI) Breadth-first search, depth-first search (slides, ch 3) Homework 1 9/11 Uniform-cost search, iterative-deepening 9/13 Informed search: A* algorithm (slides, ch 3) Homework 2 9/18 Hill-climbing (slides, 4.1) 9/20 Simulated annealing, genetic algorithms Homework 3 9/25 Minimax Game playing (slides, 5.1 - 5.3) 9/27 Alpha-beta pruning Homework 4 10/2 Probability and statistics basics (slides, 14.1, 14.2, 14.4, Introduction to Probability, Statistics, and Random Processes) 10/4 Probability and statistics basics Homework 5 10/9 Natural language and statistics (notes, Stanford English Tokenizer) 10/11 Linear Algebra (notes, matlab demo PCA.m with its data files vocabulary_stopword_removal.txt and WARC201709BOW.txt, Numerical Algorithms Ch 1, math crib sheet) 10/16 Principal Component Analysis (PCA) Homework 6 10/18 Propositional Logic (slides, 7.1, 7.3 - 7.5) 10/23 First Order Logic (slides, FOL inference slides) 10/25 Machine Learning basics 10/30 Hierarchical Clustering (slides, Z&G ch 1 [free access from UW IP addresses]) Homework 7 11/1 K-means Clustering 11/6 K-Nearest-Neighbor classifier (knn demo) 11/8 Linear regression (notes) Homework 8 11/13 Logistic Regression 11/15 Perceptron 11/20 Neural networks Homework 9 11/27 Backpropagation 11/29 Deep learning (Nature'15, Deep Learning book, slides, Convolutional neural nets, 18.7, hand notes on backprop) Homework 10 12/4 Deep learning 12/6 Deep learning 12/11 Markov Decision Processes (Sutton and Barto 2nd ed., 1.1-1.4, 3, 6.5) Homework 11 12/13 Reinforcement Learning (Qlearning.m)
Homework Homework assignments and solutions are posted here. Homework 1, assigned 9/6, due 9/13 before class [pdf | latex | solution] Homework 2, assigned 9/13, due 9/20 before class [pdf | successor.java | latex source files: hw2.tex, graphc.png, graph.jpg] Homework 3, assigned 9/20, due 9/27 before class [version 2 (updated examples)] 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. https://piazza.com/class/jlmhmm29tn87jk Canvas Homework must be submitted via the Canvas system. Typically, you hand in a single pdf file. If there is a programming part, electronically hand in files containing the Java code that you wrote for the assignment. You do not need to hand in any class files. We provide specific instructions for each homework. https://canvas.wisc.edu/courses/106860
Course Staff and Office Hours Instructor: Professor Jerry Zhu, jerryzhu@cs.wisc.edu, T 4-5, CS 6391 TAs: hold office hours, grade your submissions (head TA) Ara Vartanian, aravart@cs.wisc.edu, W 5-6, CS 4259 Yunang Chen, ychen459@wisc.edu, M 4-5, CS 7331 Siddhant Garg, sgarg33@wisc.edu, Th 3-4, CS 1307 Yufei Wang, ywang2395@wisc.edu, Th 4-5, CS 7351 Shuo Yang, syang439@wisc.edu, F 4-5, CS 6378 Zhanpeng Zeng, zzeng38@wisc.edu, W 4-5, CS 4360 Peer Mentors: hold office hours Shrehit Goel, sgoel22@wisc.edu Pengyu Kan, pkan2@wisc.edu Nicholas Mandal, nmandal2@wisc.edu Tushar Narang, tnarang@wisc.edu Yash Shah, yshah2@wisc.edu Shaoheng Zhou, szhou228@wisc.edu All peer mentor office hours are in CS 1304: Mon: 10:30 - 12:30 (Yash), 12:00 - 4:00 (Nicholas), 4:15 - 5:45 (Tushar) Tue: 1 - 2:30 (Tushar), 1:00 - 3:00 (Yash), 4-5:30 (Tushar), 4:30 - 7:30 (Pengyu), 4:30 - 8:30 (Shaoheng) Wed: 11:00 - 1:00 (Nicholas), 2:30 - 4:30 (Nicholas), 4:00 - 5:30 (Tushar) Thu: 12:45 - 4:00 (Shrehit), 1:00 - 5:00 (Yash), 5:00 - 9:00 (Pengyu, Shaoheng) Fri: 12:15 - 3:00 (Shrehit) Graders: grade your submissions Swati Mishra, smishra33@wisc.edu Prerak Mall, pmall@wisc.edu Varun Batra vbatra@wisc.edu Recommended 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) 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 Java. 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: Resources on Java for C++ programmers http://pages.cs.wisc.edu/~hasti/cs368/JavaTutorial/ http://www.horstmann.com/ccc/c_to_java.pdf Resources on Java for Python programmers: http://home.wlu.edu/~lambertk/pythontojava/ http://interactivepython.org/runestone/static/java4python/Java4Python.html Resources for basic Java syntax: http://cs300-www.cs.wisc.edu/wp/index.php/2017/07/25/java-syntax-for-cs300/ There is also the Computer Sciences Learning Center (CSLC) which provides drop-in tutoring: http://cs300-www.cs.wisc.edu/wp/index.php/2018/08/28/additional-support-2/
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 the Head TA know about any exam conflicts during the first two weeks of the semester. If an emergency arises that conflicts with the exam times, email the Head TA as soon as possible. Emergency exam conflicts will be handled on a case-by-case basis. Exam conflicts originating from a lecture conflict will not be accommodated. 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. Bring a calculator and copious amount of blank scratch paper. One 8.5x11 sheet of paper with notes on both sides allowed (handwritten or typed). 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 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! There is a reason that your professor is superior to online courses. 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!