How can we build systems that perform well in unknown environments and unforeseen situations? How can we develop systems that exhibit “intelligent” behavior, without prescribing explicit rules? How can we build systems that learn from experience in order to improve their performance? We will study core modeling techniques and algorithms from statistics, optimization, planning, and control and study applications in areas such as sensor networks, robotics, and the Internet. The course is designed for upper-level undergraduate and graduate students.


  • Due date of final project postponed to December 7.
  • We created a new mailing list (cs154). If you're taking the class but not on this list, please email the TAs.


  • Instructor:
    • Andreas Krause (krausea [at] caltech.edu)
  • Teaching Assistants:
    • Pete Trautman (trautman [at] cds.caltech.edu)
    • Xiaodi Hou (xiaodi.hou [at] gmail.com)
    • Liang Wang (lwang2 [at] caltech.edu)
    • Carlos R. Gonzalez (crgonzal [at] caltech.edu)
  • Time and Location: Fall ’10/’11, Mon & Wed 2:30pm-4pm in 105 Annenberg
  • Prerequisites: Basic knowledge in probability and statistics (Ma 2b or equivalent) and algorithms (CS 1 or equivalent)
  • 9 Units (3-0-6): Grading based on
    • Homework assignments (50 %)
    • Final exam (20 %)
    • Challenge project (30 %)
  • Office hours / recitation:
    • Office hours TAs: TAs Tuesday, 4:30pm-5:30pm, Annenberg 107
    • Office hours Instructor: Wednesday 4pm-5pm, Annenberg 300
    • Recitation (optional but encouraged): Thursday 4:30pm-5:30pm, Annenberg 107
  • Collaboration policy:
    • Homeworks: Discussion of the problems is allowed, however, everybody must turn in their own solutions.
    • Challenge problem: Groups of 2-3 students (exceptions possible with instructor's permission)
    • Exam: Open textbook and lecture notes, but no collaboration and external material allowed
  • Textbook:
    • Stuart Russell, Peter Norvig. Artificial Intelligence: A Modern Approach (3rd edition). Prentice Hall (Dec 2009)
  • Late day policy: Everybody has 3 late days that can be used for any homework assignment (e.g., you can be later for HW2 for 2 days and HW1 for 1 day). No credits when turning in after the late days have been used. Start early!

Final Exam

  • Out: December 8, 10am
  • Due: December 9, 10am
  • Open textbook and lecture notes, but no collaboration and external material allowed
  • Review in recitation on December 2

Challenge and independent projects

  • Groups formed and project preferences selected: Oct 11
  • For independent projects: Proposal due Oct 11
  • Project milestone due Nov 3. You should have received a link to code per email. If not, please contact the TAs.
  • Project final implementation due Dec 7


Homeworks submitted by email should be sent to your TAs.
  • Homework 1 out [pdf]: Oct 10, due: Oct 22 5pm in Lisa Knox's office, 343 Annenberg
  • Homework 2 out [pdf]: Oct 29, due: Nov 10 5pm in Lisa Knox's office, 343 Annenberg
  • Homework 3 out [pdf]: Nov 14, due: Nov 24 5pm in Lisa Knox's office, 343 Annenberg

Lecture notes

Relevant Readings

  • Christopher M. Bishop. Pattern Recognition and Machine Learning. Springer, 2007 (optional)