CS343: Artificial Intelligence

Course Info

Semester: Spring 2017
Time: 2:00-3:15 Tues / Thurs
Location: GDC 1.304
Website: http://www.cs.utexas.edu/users/sniekum/classes/343-S17/desc.php

Instructor: Scott Niekum
Email: [javascript protected email address]
Prof. Office Hours: Wednesdays 1:30-2:30 and by appointment (GDC 3.404)
TA Office Hours: Wed / Fri 4-5 (GDC 1.302)
TA: Yuchen Cui — [javascript protected email address]

Piazza: http://piazza.com/utexas/spring2017/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. 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
Tu 1/17 Introduction   PDF P0: Tutorial
Due: 1/23 11:59 pm
Th 1/19 AI Basics Ch. 1.1, 2.1-2.3 PDF 

Tu 1/24 Uninformed Search Ch. 3.1-3.4 PDF
Due: 2/6 11:59 pm
Th 1/26 A* Search and Heuristics Ch. 3.5-3.6 PDF
P1: Search
Due: 2/8 11:59 pm

Tu 1/31 Constraint Satisfaction Problems Ch. 6.1-6.3 PDF HW2
Due: 2/13 11:59 pm
Tu 2/2 CSPs II; Local Search Ch. 6.4-6.5, 4.1-4.2 PDF  

Tu 2/7 Game Trees: Minimax Ch. 5.1-5.3 PDF
Due: 2/20 11:59 pm
Th 2/9 Game Trees: Expectimax; Utilities Ch. 5.4-5.5, 16.1-16.3 PDF P2: Multi-Agent Pacman
Due: 2/22 11:59 pm

Tu 2/14 Markov Decision Processes Ch. 17.1-3 PDF HW4
Due: 2/27 11:59 pm
Th 2/16 Markov Decision Processes II Sutton and Barto Ch. 3-4 PDF  

Tu 2/21 Reinforcement Learning S&B Ch. 6.1, 6.2, 6.5 PDF HW5
Due: 3/6 11:59 pm
Th 2/23 Reinforcement Learning II Ch. 21 PDF P3: Reinforcement Learning
EXTENSION: 3/24 11:59 pm

Tu 2/28 Probability Ch. 13.1-13.5 PDF  
Th 3/2 Bayes Nets: Representation Ch. 14.1-14.3 PDF Practice Midterm (solutions)

Tu 3/7 Bayes Nets: Independence Ch. 14.3 PDF
Th 3/9 Midterm Exam      

Tu 3/14 Spring Break      
Th 3/16 Spring Break      

Tu 3/21 Bayes Nets: Inference Ch. 14.4 PDF
Th 3/23 Bayes Nets: Sampling Ch. 14.5 PDF
Due: 4/5 11:59 pm

Tu 3/28 Hidden Markov Models Ch. 15.1-15.3 PDF  
Th 3/30 Particle Filters and
HMM Applications
Ch. 15.5 PDF P4: Ghostbusters
Due: 4/12 11:59 pm

Tu 4/4 Decision Diagrams / VPI Ch. 16.5-16.6 PDF HW7
Due: 4/17 11:59 pm
Th 4/6 ML: Naive Bayes Ch. 18.1-18.2, 20.1-20.2.2 PDF

Tu 4/11 ML: Perceptrons Ch. 18.6.1, 18.6.3 PDF
Due: 4/24 11:59 pm
Th 4/13 PeARL Lab:
Research Presentations
N/A PDF P5: Classification
EXTENSION: 5/4 11:59 pm

Tu 4/18 ML: Deep Learning   PDF
EXTENSION: 5/4 11:59 pm
Th 4/20 ML: Kernels and Clustering Ch. 18.8, 18.9 PDF  

Tu 4/25 Advanced Applications:
NLP, Games, and Cars
  PDF Practice Final (solutions)
Th 4/27 Advanced Applications:

Tu 5/2 Philosophical Questions in AI   PDF  
Th 5/4 Conclusion   PDF  

Fri 5/12 Final Exam: 9am-12pm, GDC 1.304      


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.