BU Logo

CAS CS 440/640 Artificial Intelligence - Spring 2012

Course Objectives - Course Materials - Requirements
Collaboration and Academic Integrity - Help - Schedule - Links

Lectures: Tu, Th 12:30 - 2 pm in MCS B25
Instructor: Prof. Margrit Betke
Teaching Fellow: Alex Ren
Class web page:
Class mailing list:
cascs440a1-l@bu.edu and grscs640a1-l@bu.edu
Contact Information:
Staff Email Phone Office Hours Office
Margrit Betke betke@bu.edu 353-6412 Tue 11-12:30, Thu 3-4:30 (usually in office until 6:45 on Thu),
and by appointment
MCS 286
Alex Ren aren@bu.edu Please email Tue 5-6, Wed 4-6 and by appointment Ugrad Lab

Seeing Me in My Office:
Please feel free to stop by my office anytime. My office is in MCS 286 (111 Cummington St). I am generally around every day. I may be in meetings, so the best time to reach me is during office hours. If you can't make the office hours, come by Thursday evening. I usually stay until 6:45 pm or 7 pm on Thursdays. You can also make an appointment by email. I'm happy to talk with you about the course, research in AI, computer vision, machine learning, and pattern recognition, your plans for the future, or anything else. Check out my (admittedly dated) personal web page to get to know me a little.

Responsibilities of Teaching Fellow:
Alex is responsible for helping you out during his office hours, managing the gradering of the written homeworks, and designing and managing the grading the programming projects. Please contact him if you have questions about your homework grades.

Course Objectives

Our goal is to learn about computer systems that exhibit intelligent behavior, in particular, perceptual and robotic systems. Topics include human computer interfaces, computer vision, robotics, game playing, pattern recognition, knowledge representation, planning, and machine learning.

Prerequisites of CS440: Geometric Algorithms (CAS CS 132) or Linear Algebra (CAS MA 242), 1 Year Programming Experience (C, C++, or Java at CS112 level) or consent of instructor. Prerequisites of CS640: Same as above and BA background in Computer Science (e.g., Algorithms, Theory, Programming Languages).

Course Materials

Handouts: The updated course syllabus and most handouts are made available online. Check our course web page at least once a week for homework assignments and other information.

Textbook: Our textbook is a Pearson Custom textbook, available in the BU bookstore. It is a shorter, less expensive version of "Artificial Intelligence A Modern Approach by Russell and Nordig," Edition 3. If you use Edition 2, it is your responsibility to check page number differences etc. I will also hand out course materials in class and direct you to additional materials on the web (e.g., wikipedia).

Computing Environment: You will use the Computer Science Department's main server csa2.bu.edu to submit programming solutions. To get an account on csa2, go to the Computer Science Department's Undergraduate Lab located at 730 Commonwealth Ave. You can work on various platforms in the lab there (and have immediate access to the computing staff and TF help). You can also access csa2 remotely using scp and ssh (linux) or putty and WinSCP (Windows).


Class Participation: Come to class and participate regularly. Reading the assigned texts and listening in class will only give you a "passive understanding" of the material. I encourage discussions in class to help you acquire an "active understanding" of the material so that you can evaluate existing computer systems critically and learn to develop your own creative solutions.

Reading: To prepare for each class, you will be asked to read textbook sections, wikipedia pages and journal papers, and explore web sites. You can achieve a good understanding and appreciation of the state-of-the-art in artificial intelligence if you read the assigned texts thoroughly.

Homework: The homework includes four programming assignments and several written problem sets. The due dates are listed below. Programs and reports must be submitted electronically. Guidelines for submission are provided with each assignment. Written homework must be handed in at the beginning of class. Late solutions will be levied a late penalty of 20% per day (up to three days). After three days, no credit will be given.

Project: This year, three students are enrolled in CS 640. A project is only required for students enrolled in CS640. The project will built on your programming and written assignments. I will discuss your project's scope, design, and presentation with you in my office hours and provide guidance while you work on it in the later part of the semester. Read the project guidelines and project instructions carefully. You will present the project in class at the end of the term. With some additional work, you may be able to use your project to fulfill the MA project requirement in the CS BA/MA and CS MA programs.

Colloquia: Students enrolled in CS440 and CS 640 are encouraged to attend the CS Department Colloquia. In addition to the CS Department Colloquium Series, you may also check out talks in other departments and at other universities. A partial list includes: BU College of Engineering Seminar Calendar , CSAIL lab at MIT , MIT Department of Electrical Engineering and Computer Science , Northeastern College of Computer and Information Science , Tufts Department of Computer Science Colloquium, UMass Boston Department of Computer Science.
Students enrolled in CS 640 must attend three talks on subjects related to Artificial Intelligence and write a summary on each talk. The one-page review should give a problem definition, summarize the algorithms and results, and briefly explain how the work relates to material discussed in class. You must submit at the beginning of class on the dates listed in the syllabus. Check your text for typographical and grammatical errors. You will lose points if you simply copy the speaker's abstract, or if your review is late, or contains errors.

Exams: There will be two exams on the material discussed in the class and practiced with homeworks. The exams will be quite easy for students who come to class, participate in our discussions, and keep up with homework assignments and programming projects. The date of the midterm exam is March 1, 2012 The final exam will focus on material discussed in the second part of the course, but may also test earlier material. You are allowed to use one double-sided page of notes in each exam.

Grading Policy: Your final grade will be determined as follows:

CS440 CS640
Midterm exam 20% 20%
Final exam 30% 30%
Programming Assignments 20% 12.5%
Written Problem Sets 20% 12.5%
Class participation 10% 5%
Project and presentation 0% 15%
Talk reviews 0% 5%

Collaboration and Academic Integrity

You are encouraged to collaborate on the solution of the homework. If you do, you must acknowledge your collaborators. Each student must submit his or her own electronic version of the solutions. If you use algorithms or code that are not your own original work and that were not provided in class or discussed in the textbook, you must give a detailed acknowledgment of your source.

Cheating and plagiarism are not worthy of Boston University students. I expect you to abide by the rule stated above and the standards of academic honesty and computer ethics policy described in http://www.bu.edu/computing/ethics/ and http://www.bu.edu/cas/students/undergrad-resources/code


Artificial Intelligence is an elective course that will introduce you to an exciting topic in computer science. It should be fun and not too much of a struggle for you. Make sure that you have had the prerequisites. Depending on your level of programming experience and/or mathematics background, the course may be challenging for you. If you do not understand the material, ask for help immediately. Ask questions in class. If one student is confused about something, then maybe others are also confused and grateful that someone asked. Please come and see me or Alex for help or send us email. Our task is to help you learn a very interesting topic.

Course Schedule

Dates Topics Readings Homework:
Due in class, 1 week
Tu 1/17, Th 1/19 Introduction - What is AI? Industry Successes, Smart Rooms, The Kids Room Russell: Intro, Intelligent Agents, Bobick . 1/19: P0 out (small credit)
Tu 1/24, Th 1/26 Computer Vision
Last day to ADD class: 1/30
Russell: Perception, Freeman, Fawcett 1/26: H1 out 1/26: P0 due, P1 out
Tu 1/31 Assistive Environments, Human-Computer Interfaces Assistive Environments, Betke, Kim, Gorman, Lombardi, Crampton. . .
Th 2/2, Tu 2/7 Machine Learning, Neural Nets: Backpropagation Russell: Learning from Examples, Wikipedia 1, 2, 3 2/2: H1 due .
Th 2/9, Tu 2/14 Applications of Neural Nets, Face Recognition Sirovich, Turk, Collard
Pomerleau, LeCun, Sejnowski
H2 out 2/9: P1 due, P2 out
Th 2/16 Knowlege-based Agents, Expert Systems
Last Day to DROP Classes (without a 'W' grade) or change from Credit to Audit: Tue 2/21
Wumpus World, Russell: Logical Agents, Handout,
Wikipedia: 1, 2
H2 due, CS640: Review-1 due
Tu 2/21 No class. Monday schedule. . . .
Th 2/23, Tu 2/28 Logic, Planning Russell: First-Order Logic, Inference. Handout.
Wikipedia: 1, 2, 3.
2/23: H3 out,
2/28: H3 due
2/23: P2 due
Th 3/1 Midterm Exam . . .
Tu 3/6, Th 3/8 Resolution Proofs. Situation Variables. Planning and Acting in the Real World. Multiagent Planning. Handouts on "Logic and Resolution Proofs," "Putting axioms into clause form," and "Situation Variables." Russell: Classical Planning, Planning and Acting in the Real World (Ch 8, 9, 10.1, 10.4, 11.4). . .
3/10-3/18 Spring Recess . . .
Tu 3/20, Th 3/22 Markov Models, Hidden Markov Models with Discrete Observations
Last Day to DROP Classes (with a 'W' grade) : Fri 3/30
Rabiner (up to p. 275) 3/22: H4 out,
CS640: Review-2 due
Tu 3/27, Th 3/29 HMMs with Continuous Output Densities, Applications of HMMs: American Sign Language Recognition, Hand Tracking Vogler (Oliver) 3/29: H4 due P3 out, CS640 project proposals due
Tu 4/3 Speech Recognition, Natural Language Processing 2 handouts of slides: Speech Recognition, NPL, Also: Russell: Natural Language Processing (Ch 22). Wiki . .
Th 4/5, Tu 4/10 Search techniques, A* Search, Robot Path Planning I Russell: Searching (Ch 3). Also: Wikipedia: A*, Robot Motion Planning, Visibility Graph . .
Th 4/12, Tu 4/17 Game Playing: Minimax, Alpha-Beta, Iterative Deepening Russell: Adversarial Search (Ch 5), Also: Wikipedia: Minimax, Alpha-Beta, Iterative Deepening . 4/12: P3 due, P4 out
Th 4/19, Tu 4/24, Th 4/26 Robotics, Robot Path Planning II Slides. Russell: Robotics (Ch 25). Handout with examples of configuration spaces. Also, Wikipedia: Robot Motion Planning. 4/19: H5 out, CS640: Review 3 due .
Tu 5/1 CS 640 Course Project Presentations . H5 due P4 due, CS640 project writeups due
Thur 5/10 Final Exam, 9-11 am . . .

The lecture schedule may change depending on the time spent on each topic and whether alternative subjects are discussed. Suggestions for additional topics are welcome!

Homework Solutions

Graded homeworks and solutions will be handed out in class. If you miss a class, you can find them on the shelf marked "CS 440/640" located across the MCS 135 Suite (near the CS Department headquarters).

Programming Assignment results will be published here.

Sample solutions for the written homeworks are:

Related Papers and Web Sites


Check out http://www.cs.bu.edu/faculty/betke/links.html if you need ideas for your class project, if you are looking for a job, or if you are interested in research related to AI and computer vision. You will find a list of links to conferences, journals, research groups, and companies.

Images of AI Research
Margrit Betke, Professor
Computer Science Department
Boston University
111 Cummington Street (campus map)
Boston, MA 02215
Email: betke@cs.bu.edu
URL: http://www.cs.bu.edu/faculty/betke
Phone: 617-353-8919, Fax: 617-353-6457
Last updated: January 17, 2012