DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
UNIVERSITY OF CALIFORNIA, SAN DIEGO

CSE 151: Introduction to Artificial Intelligence

Fall 2008


Please ask questions about CSE 151, including about the lectures and the assignments, on this message board.

OVERVIEW

CSE 151 is an upper-division course devoted to the basic concepts and algorithms of modern artificial intelligence (AI), especially machine learning.  151 is part of a two quarter sequence with CSE 150, but each course may be taken independently.  151 will focus on statistical reasoning and learning, while 150 covers search and logical reasoning methods.  Both courses cover theory and applications. 

Undergraduate and M.S. students in CSE, mathematics, engineering, and cognitive science are welcome in 151.  The only prerequisite for 151 is CSE 100 (upper-division data structures) or equivalent experience.  For registration, the section id is 631645.  Note: If you cannot register for any reason, do not worry.  Come to the first lectures and the instructor will sign an add card.  

Some specific AI topics that will be covered in CSE 151 are:

The programming language used in the current version of 151 is a high-level mathematical programming environment named Matlab.  For documentation to get you started, see here.

The instructor is Charles Elkan, Professor.  Lectures will be on Tuesdays and Thursdays from 9:30am to 10:50am in room 2154 in the CSE building.  Lecture notes for each class meeting will be published on this website.  There will be a weekly one-hour section every Monday at 11am, led by the teaching assistant, who is Albert Park.

There is no required textbook for this course.  The primary reference is the instructor's lecture notes, which will be published on this web page.  Lecture notes from courses at other universities can be found here.  Three books are suggested as references:

LECTURE AND SECTION NOTES

Lecture notes for each class will be below as PDF files.  The notes for each day are either a clickable link for that date, or they are contained in the notes for a previous day.  For lecture notes and other materials from the Fall 2007 version of CSE 151, see here.

September 25
Framework for AI, learning, and classifier learning.  Nearest-neighbor classifiers.
Assignment 1
September 30 Notion of optimal error rate.  Theorem on error rate of 1NN.
October 2 Linear classifiers, hyperplanes, perceptron algorithm.
October 7 Proof of convergence of perceptron algorithm.
October 9 Discrete probabilities, Bayes' rule, example of Bayesian medical diagnosis Assignment 2
October 14 Using Bayes' rule for classification, naive Bayes (NB) simplifying assumption
October 16 Algorithm for NB training and prediction, spam example, time and space complexity Assignment 3
October 21 Evaluation of classifiers, cross-validation, precision and recall
October 23 Unsupervised learning, principle of maximum likelihood, Bernoulli example
October 28 In-class midterm exam
October 30 Maximum likelihood for multinomial distributions
November 4 "Bag of words" representation for documents.  Multinomial distribution to model sets of documents. Assignment 4
November 6 Mixture models, mixture of multinomials, expectation-maximization (EM), initialization
November 11 No class because of Veterans' Day
November 13 EM review, deterministic annealing Midterm solutions
November 18 Markov decision processes, value iteration Assignment 5
November 20 Policy iteration algorithm, Q-learning Russell and Norvig notes
November 25 Assignment 2 solutions

Important:  The lecture notes above contain additional advanced material that is not covered in class.  Exams for 151 will not refer to material that  has never been mentioned in class or section.  However, on the other hand, lectures will contain additional explanations and examples that do not appear in the PDF lecture notes.  Therefore, coming to class and taking notes is very important.  

The section happens every Monday from 11am to 11:50am in Center Hall, room 217B.  The first section will be on September 29.  Attendance is recommended very strongly.  Material from the sections will be essential for the assignments, and may appear on exams.

September 29 Matlab basic commands and functions.  Vectorization for efficiency.
October 6 History of machine learning and artificial intelligence
October 13 Review of perceptron convergence theorem.  Conditional probabilities
October 20 Project grading, Matlab performance tutorial
October 27 Review session to prepare for the midterm
November 3 Maximum likelihood example: the Poisson distribution
November 10 No section
November 17 Section will be rescheduled

EXAMINATIONS AND POLICIES

The course will have an open-book final examination on Thursday December 11 from 8am to 11am.  There will be one midterm exam, also open-book, on Tuesday October 28 in class.  Examinations will be based mainly on material from lectures, as summarized in the online lecture notes. Exam questions may also involve knowledge from the assignments.

Open-book means that you may bring (i) your own personal handwritten notes, (ii) lecture notes from this website, (iii) Wikipedia pages and other documents distributed in class, or linked to from lecture notes, and (iv) a basic calculator.  You may not bring books, copies of notes written by other people, or a computer.

There will be two or three written assignments, and three or four programming assignments.  You may do each of the assignments either by yourself, or with exactly one partner, at your choice; you may change partners between assignments.  The assignments are always due in class, i.e. at 9:30am on the due date.  The penalty for late submission is 20% of the maximum score per day or part of day late.  One day late means after 9:35am and before midnight on the due date, two days late means the next day, and so on.  Generally, you will have one week for written assignments and two weeks for programming assignments.  

Complete academic honesty is always required.  For all programming assignments, code quality is very important.  This includes useful commenting, clarity and concision, modularity and organization, and appropriate error checking.  The first programming assignment is due on Thursday October 9.

The midterm will count for 10% of your overall grade, the final for 30%, each written assignment for 5%, and each programming assignment for 15%.  (5% of your grade may be a gimme :-)  There is no a priori correspondence between letter grades and numerical scores on the assignments or on the exams.  You can evaluate your performance in the class by comparing your scores with the means and standard deviations, which will be announced.  However there is also no fixed correspondence between letter grades and standard deviations above or below the mean.  If all students do well in the absolute, then all students will get a good grade.

You should not drop CSE 151 just because you are unhappy with a score that you receive.  Instead, you should make an appointment to discuss with the instructor how you can do better on following assignments.


Most recently updated on November 24, 2008.