CS 161 - Fundamentals of Artificial Intelligence - Spring 2017

Instructor: Professor Guy Van den Broeck <guyvdb@cs.ucla.edu>; Office Hours: Thu 1pm-2pm, or by appointment
TA: Sasank, Shriya <shriya@cs.ucla.edu> ; Discussion 1A: ROYCE 156 / Friday / 2:00pm-3:50pm; Office hours BH 2432, M 4:00 - 6:00 pm
TA: Shen, Yujia <yujias@cs.ucla.edu> ; Discussion 1B: HUMANTS 135 / Friday / 10:00am-11:50am; Office hours BH 4671, Monday 2-4 pm.
TA: Kim, DJ <djkim@cs.ucla.edu> Discussion 1C PERLOFF 1102 / Friday / 12:00pm-1:50pm; Office hours BH 2432, R 11:30am - 1:30pm
Lecture Time: Spring 2017, TR 2pm-3:50pm
Lecture Location: HAINES A2
CCLE: https://ccle.ucla.edu/course/view/17S-COMSCI161-1

Course Description

This course studies the design of intelligent agents. It introduces the fundamental problem-solving and knowledge-representation paradigms of artificial intelligence. We will study the AI programming language LISP, state-space and problem reduction methods, brute-force and heuristic search, planning techniques, two-player games, and recent developments in game AI. In knowledge representation and reasoning, we will cover propositional and first-order logic and their inference algorithms. Finally, the course covers probabilistic approaches to AI, such as Bayesian networks, and machine learning algorithms to improve the agent's performance with experience.


This course requires knowledge of basic computer science, algorithms, complexity analysis, and programming principles.

Class Attendance

Class attendance is not required. However, if you miss part or all of a class, it is your responsibility to retrieve relevant information, material, announcements, etc., from friends and classmates. Some limited material will not be covered by the textbook.


Grading will be based on Homework (20%), Midterm (35%) and Final (45%). Midterm and final will be closed book. You are allowed to bring a simple calculator.


Weekly homeworks will be announced on CCLE with a one-week deadline.



Stuart Russell and Peter Norvig. Artificial Intelligence: A Modern Approach. (3rd Edition), Pearson 2009.

Available from:


Additional Readings

Honor Code

You are encouraged to work on your own in this class. If you get stuck, you may discuss the problem with up to two other students, PROVIDED THAT YOU SUBMIT THEIR NAMES ALONG WITH YOUR ASSIGNMENT. ALL SOLUTIONS MUST BE WRITTEN UP INDEPENDENTLY, HOWEVER. This means that you should never see another student's solution before submitting your own. You may always discuss any problem with me or the TAs. YOU MAY NOT USE OLD SOLUTION SETS UNDER ANY CIRCUMSTANCES. Making your solutions available to other students, EVEN INADVERTENTLY (e.g., by keeping backups on github), is aiding academic fraud, and will be treated as a violation of this honor code.

You are expected to subscribe to the highest standards of academic honesty. This means that every idea that is not your own must be explicitly credited to its author. Failure to do this constitutes plagiarism. Plagiarism includes using ideas, code, data, text, or analyses from any other students or individuals, or any sources other than the course notes, without crediting these sources by name. Any verbatim text that comes from another source must appear in quotes with the reference or citation immediately following. Academic dishonesty will not be tolerated in this class. Any student suspected of academic dishonesty will be reported to the Dean of Students. A typical penalty for a first plagiarism offense is suspension for one quarter. A second offense usually results in dismissal from the University of California.