CSE 150: Introduction to Artificial Intelligence

  Spring 2007

Please use the discussion board to ask questions about the course, including about the assignment

Office hours:
   Gary Cottrell:
        Mondays 1:15-2:15 PM
        Fridays 10-11 AM
        CSE Building, Room 4130
   Matthew Tong:
        Tuesdays 5-6 PM - CSE B225 - Office hour
        Wednesdays 1-2 PM - WLH 2206 - Discussion
        Thursdays 2-3pm - CSE B250/250A - Lab/Office Hour


The course description, including expectations for assignments, academic integrity, and a schedule for assignments and tests is here. You are expected to read this document. What is given is is only a pale shadow of that information! ;-)

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

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

Additional topics that may be covered depending on time and interests of the class and the instructor include game playing methods, planning algorithms, clustering, and simple probabilistic learning.  The current version of 150 does not use or teach Lisp or Prolog.


Lectures are Tuesdays and Thursdays in Peterson Hall room 102 from 11-12:20. Section meetings are on Wednesdays (1-1:50PM Warren Lecture Halls 2206. Useful information concerning assignments will be discussed at section!

The instructor is Gary Cottrell.  Office hours will be on Mondays from 1:15pm to 2:15pm, and Fridays 10-11am, in CSE building (aka EBU3b 4130).  If you are unable to attend office hours, feel free to send an email (gary at ucsd dot edu).

We have an excellent teaching assistant (TA), Matt Tong. He will lead the sections and have office hours:
Tues 5-6pm @ EBU3b B225 - Office hour
Wed 1-2pm @ WLH 2206 - Discussion: Hints for assignments will be discussed here!!
Thurs 2-3pm @ EBU3b B250/B250A - Lab/Office hour

Juniors, seniors, and graduate students in CSE, mathematics, and cognitive science are welcome.  The only prerequisite for 150 is CSE 100 (upper-division data structures) or an equivalent course. 

For registration, the section id is 588775.  Note: We have decided to let the waiting list in.  If necessary, come to lecture and the instructor will sign an add card.

Here is a practice midterm. Note that it has a LOT of Lisp questions, which are IRRELEVANT. This is more to see what the format of my midterms is than anything else.


The first homework was due on Thursday, April 12th.

The second homework is due Thursday, April 19th.

The third homework is due Tuesday, May 1.

The fourth homework is due Tuesday, May 8(in class) or Wednesday, May 9 (in section).

The fifth homework is due Tuesday, June 5(in class) or Wednesday, May 6 (at start of section).


The first programming assignment is now up. Note that you do NOT have to use matlab - sorry about that! Java is fine and probably preferred for this assignment.

The second programming assignment is now up. . Use Java (or Matlab if you feel compelled and talk with the TA). It will be due May 3.

The third programming assignment is now up..

The fourth programming assignment is now up..


April 3, 2007
Blind State Space Search
April 5, 2007
Heuristic Search
April 10, 2007
See previous lecture...
April 12, 2007
Constraint Satisfaction
April 17, 2007
Game playing (adversarial) search

Some old game playing slides of mine...
April 19 (Sanmay Das's lecture)
Logical Agents (Chapter 7) (he used Russell's slides)

David Kriegman's version of that lecture...
April 24, 2007
I gave my version of propositional logic...

More of my version of propositional logic and first-order pred. calc.
April 26, 2007
My edit of some of David's slides on FOPC...

David Kriegman's slides on Resolution...
May 1, 2007
I finished up resolution (see above)
May 3, 2007
May 8, 2007
Charles Elkan lectured on the Situation Calculus.
Here is what I hoped he would talk about!
May 10, 2007
No lecture, midterm!
May 15, 2007
Planning 2
I also went over parts of the midterm...
May 17, 2007
Chapter 13: Uncertainty and Naive Bayes
I also went over the rest of the midterm...
May 22 & 24
Chalk talks on perceptrons, linear networks, and back prop networks...See Chapter 20, pp. 736-748.
May 29, 31 & June 5th, 2007
I broke down and used some powerpoint slides, but I switched back & fortth between slides and chalk, and overheads, and a tape of NETTalk
June 7, 2007
My research: What can computational models tell us about face processing? (I got up to slide 86 or so!)
June 11, 2007
Review session, 7PM, basement of EBU3B.
Here is an old final. Ignore the last problem. Unfortunately, some parts were hand-drawn that don't show up here!
Here is an old 151 final with some relevant problems (only problems 1-3 are relevant, and not all parts are relevant!)

Lecture notes and section notes from Professor Elkan's version of the class are available here

Here are notes for each section meeting.

April 4
Matlab overview
April 11
Review of R&N ch 1-4 (what we've covered so far)
April 25
HW #1 and Review of R&N ch 5
May 2
Proj #1 and review of R&N ch 5-6
May 9
Midterm prep
May 16
Logic wrap-up
May 23
Knowledge representation
May 30
Project 4, naive Bayes, classifiers


The main textbook for CSE 150 and 151 is Artificial Intelligence: A Modern Approach, second edition, by Stuart Russell and Peter Norvig.  This excellent book is available at the UCSD campus bookstore and elsewhere.  You may want to use to compare online prices.

Quite a few of the topics discussed in class will not be in the book, or will be explained differently. Coming to lectures and taking notes carefully is importantAs the quarter progresses, it is your responsibility to locate relevant chapters of the books and to study them.  Use the indexes of the books! 

Most recently updated on April 9, 2007 by Matthew Tong,