CS343: Artificial Intelligence

Course Info

Semester: Fall 2018
Time: 3:30-4:45 Mon / Wed
Location: GDC 1.304
Website: http://www.cs.utexas.edu/users/sniekum/classes/343-F18/desc.php

Instructor: Scott Niekum
Email: [javascript protected email address]
Prof. Office Hours: Mondays 1:00-2:00 and by appointment (GDC 3.404)
TA: Akanksha Saran — [javascript protected email address]
TA Office Hours (GDC 1.302): Mon / Wed 5-6
Proctor: Intae Ryoo — [javascript protected email address]
Proctor Office Hours (GDC 1.302): Tues / Thurs 5-6

Piazza: http://piazza.com/utexas/fall2018/cs343

Course Description

This course will introduce the basic ideas and techniques underlying the design of intelligent computer systems. A specific emphasis will be on the statistical and decision-theoretic modeling paradigm. By the end of this course, you will have built autonomous agents that efficiently make decisions in fully informed, partially observable and adversarial settings. Your agents will draw inferences in uncertain environments and optimize actions for arbitrary reward structures. Your machine learning algorithms will classify handwritten digits and photographs. The techniques you learn in this course apply to a wide variety of artificial intelligence problems and will serve as the foundation for further study in any application area you choose to pursue.

Textbook: The course textbook is the 3rd edition of Artificial Intelligence: A Modern Approach by Russell and Norvig. Be sure to get the 3rd edition, as other editions will not match up to the reading assignments, nor contain all the necessary content.

Prerequisites: Upper-division standing in CS.

Language: Course programming assignments will be in Python. We do not assume that students have previous experience with the language, but we do expect you to learn the basics very rapidly. Project 0 is designed to teach you the basics of Python if you are not already familiar.


There are three types of assignments that you will be expected to complete:

1. Reading assignments: These will primarily be readings from the textbook, but may occasionally come from other provided sources. All reading assignments should be completed before the class period for which they are assigned.

2. Homework exercises: Throughout the semester, problem sets will be assigned and automatically graded through the edX system. You will receive instant feedback from the autograder and can retry each problem as many times as necessary. The goal of these problems is to get you comfortable with the material and prepared for the midterm and final. To access these assignments, you must sign up for an edX edge account. Please use you first + last name (followed by digits if necessary) as your username so that we can easily figure out who you are. After creating an account, enroll in the course here.

3. Programming projects: There will be a series of Python programming projects in which you will implment various AI algorithms. An autograder script will be provided for each project so that you can check your progress along the way and fix errors in your code. The first of these projects (P0: Tutorial) must be completed individually. All other projects may be completed in pairs or alone.


Day Topic Readings Slides and Videos Assignments
Wed 8/29 Introduction   PDF P0: Tutorial
Due: 9/4 11:59 pm

Mon 9/3 Labor Day: No class      
Wed 9/5 AI Basics Ch. 1.1, 2.1-2.3 PDF 

Mon 9/10 Uninformed Search Ch. 3.1-3.4 PDF
Due: 9/26 11:59 pm
Wed 9/12 A* Search and Heuristics Ch. 3.5-3.6 PDF
P1: Search
Due: 9/25 11:59 pm

Mon 9/17 Constraint Satisfaction Problems Ch. 6.1-6.3 PDF HW2
Due: 9/30 11:59 pm
Wed 9/19 CSPs II; Local Search Ch. 6.4-6.5, 4.1-4.2 PDF  

Mon 9/24 Game Trees: Minimax Ch. 5.1-5.3 PDF
Due: 10/7 11:59 pm
Wed 9/26 Game Trees: Expectimax; Utilities Ch. 5.4-5.5, 16.1-16.3 PDF P2: Multi-Agent Pacman
Due: 10/9 11:59 pm

Mon 10/1 Markov Decision Processes Ch. 17.1-3 PDF HW4
Due: 10/14 11:59 pm
Wed 10/3 Markov Decision Processes II Sutton and Barto Ch. 3-4 PDF  

Mon 10/8 Reinforcement Learning S&B Ch. 6.1, 6.2, 6.5 PDF HW5
Due: 10/21 11:59 pm
Wed 10/10 Reinforcement Learning II Ch. 21 PDF P3: Reinforcement Learning
Due: 11/4 11:59 pm

Mon 10/15 Probability Ch. 13.1-13.5 PDF  
Wed 10/17 Bayes Nets: Representation Ch. 14.1-14.3 PDF Practice Midterms

Mon 10/22 Bayes Nets: Independence Ch. 14.3 PDF
Wed 10/24 Bayes Nets: Inference Ch. 14.4 PDF
Contest: Pacman
Capture the Flag

Due: 12/7 11:59 pm

Mon 10/29 Midterm Exam      
Wed 10/31 PeARL Lab:
Research Presentations

Mon 11/5 Bayes Nets: Sampling Ch. 14.5 PDF
Due: 11/18 11:59 pm
Wed 11/7 Hidden Markov Models Ch. 15.1-15.3 PDF  

Mon 11/12 Particle Filters and
HMM Applications
Ch. 15.5 PDF P4: Ghostbusters
Due: 11/25 11:59 pm
Wed 11/14 Decision Diagrams / VPI Ch. 16.5-16.6 PDF HW7
Due: 11/27 11:59 pm

Mon 11/19 ML: Naive Bayes Ch. 18.1-18.2, 20.1-20.2.2 PDF
P5: Classification
Due: 12/3 11:59 pm
Wed 11/21 Thanksgiving holidays: No class      

Mon 11/26 ML: Perceptrons Ch. 18.6.1, 18.6.3 PDF
Due: 12/9 11:59 pm
Wed 11/28 ML: Kernels and Clustering Ch. 18.8, 18.9 PDF  

Mon 12/3 ML: Deep Learning   PDF
Wed 12/5 Advanced Applications:
NLP, Games, Cars, and Robotics
  PDF Practice Finals

Mon 12/10 Philosophical Questions in AI   PDF  

Fri Dec 14 Final Exam: GAR 0.102, 7-10 PM      


Project grading: Projects will by default be graded automatically for correctness, though we will review projects individually as necessary to ensure that they receive the credit they deserve.   

Slip days: Programming projects must be turned in electronically by 11:59pm on the listed due date. You will have 5 slip days for these projects, up to two of which can be used for each project. After two slip days are used on a project, or after you've run out of slip days, you will receive a zero, so reserve them for when they are absolutely necessary. Note that slip days are counted at the granularity of days, rounded up to the nearest day, meaning that 1 minute past the deadline counts as a full day. The written homework assignments do not have late days (i.e. you will be given a zero if late), as solutions are automatically posted after the due date and may be discussed in the next class. However, we will drop your lowest written homework grade.

Overall grades will be determined from:

  • Homework Exercises (20%)
  • Programming Assignments (30%)
  • Midterm Exam (20%)
  • Final Exam (30%)

Grades will be assigned using both plus and minus grades.

Academic honesty policy

You are encouraged to discuss the readings and concepts with classmates, but all written work must be your own. Programming assignments must be your own, except for 2-person teams when teams are authorized. You may NOT look online for existing implementations of algorithms related to the programming assignments, even as a reference. Your code will be analyzed by automatic tools that detect plagiarism to ensure that it is original.

Students caught cheating will automatically fail the course and will be reported to the university. If in doubt about the ethics of any particular action, look at the departmental guidelines and/or ask—ignorance of the rules will not shield you from potential consequences.

Notice about students with disabilities

The University of Texas at Austin provides upon request appropriate academic accommodations for qualified students with disabilities. For more information, contact the Division of Diversity and Community Engagement — Services for Students with Disabilities at 512-471-6529; 512-471-4641 TTY.

Notice about missed work due to religious holy days

A student who misses an examination, work assignment, or other project due to the observance of a religious holy day will be given an opportunity to complete the work missed within a reasonable time after the absence, provided that he or she has properly notified the instructor. It is the policy of the University of Texas at Austin that the student must notify the instructor at least fourteen days prior to the classes scheduled on dates he or she will be absent to observe a religious holy day. For religious holy days that fall within the first two weeks of the semester, the notice should be given on the first day of the semester. The student will not be penalized for these excused absences, but the instructor may appropriately respond if the student fails to complete satisfactorily the missed assignment or examination within a reasonable time after the excused absence.