BU Logo

CAS CS 440/640 Artificial Intelligence - Spring 2016

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

Lectures: Tu, Th 12:30 - 2 pm in SCI 113
Labs: Fri 10, 11, and 3 in EMA 304
Instructor: Prof. Margrit Betke
Teaching Fellow: Ajjen Joshi
Class web page:
Piazza 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 2-3:30, Thu 3-4:30 and by appointment MCS 286
Ajjen Joshi ajjendj@bu.edu Please email Mon 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 have classes during my office hours, speak to me after our lecture to make an appointment that works for both of us. 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 the Teaching Fellow:
Ajjen is responsible for teaching three laboratory sections and helping you out during his office hours. He will also help me design the written homework and programming projects, and he will manage the graders. Please contact him first 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, machine learning, game playing, knowledge representation, planning, pattern recognition, and natural language processing.

Prerequisites of CS440: Geometric Algorithms (CAS CS 132) or Linear Algebra (CAS MA 242), 1 Year Programming Experience (CS 112 level, Python, Java, or C++) 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: You are not required to buy a text book. I will hand out course materials in class and direct you to additional materials on the web (e.g., wikipedia). For background reading, you may go to the Science Library on Cummington St. I requested that two books are placed on reserve for you there: Artificial Intelligence by Patrick H. Winston (barnesandnoble and amazon) and Artificial Intelligence A Modern Approach by Russell and Nordig, Edition 2 or Edition 3. Both books provide a fundamental background of AI. I will follow, for example, the chapters about Expert Systems and Neural Nets in the Winston book and about Robotics in the Russell and Nordig book, and then augment the materials with newer research papers.

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, 5 students are enrolled in CS 640. A project is only required for students enrolled in CS640. The project will involve developing code for the robot arm Proficio. Ajjen and I will discuss your project's scope, design, and presentation with you in office hours and provide guidance while you work on it in the later part of the semester. Read the project guidelines carefully. You will present the project in class at the end of the term.

Colloquia: Students enrolled in CS440 and CS 640 are encouraged to attend the CS Department Colloquia. In addition to the CS Department Colloquia, you may also check out AI 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 at least 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, discuss the work critically, and also 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 Tuesday, March 1, 2016, the date of the final exam is Wednesday, May 3, 2016. The final exam will focus on material discussed in the second part of the course, but may 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 25% 25%
Final exam 25% 25%
Programming Assignments 25% 15%
Written Problem Sets 20% 10%
Class participation 5% 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/academics/policies/academic-conduct-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 Ajjen 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
Projects, ~2 weeks
2016 Tu 1/29, Th 1/21 Introduction - What is AI? Industry Successes, Smart Rooms, The Kids Room Russell: Intro, Intelligent Agents, Bobick . .
2016 Tu 1/26, Th 1/28 Computer Vision for interactive graphics (image moments for object area, position & orientation, orientation histograms, optical flow, template matching, SSD, NCC, recursive labeling algorithm), confusion matrices, ROC analysis
Last day to ADD class: 2/2
Russell: Perception, Freeman, Shapiro & Stockman, page 3, Fawcett 2016 1/26: H1 out 2016 1/26: P1 (Vision) out
2016 Tu 2/2, Th 2/4 Machine Learning, Neural Nets: Backpropagation Learning by Training Neural Nets. Learning from Examples. Wikipedia 1, 2, 3 2016: 2/2: H1 due, H2 out, H1 solution .
2016 Tu 2/9, Th 2/11 Backprop Example. Applications of neural nets, convolutional nets, deep learning Backprop Example.
Interview 12/22/2014 with Yann LeCun, Director of AI Research at Facebook
ImageNet Winner
Sirovich, Turk, Collard
Pomerleau, LeCun, Sejnowski

CS640: Review-1 due 2016 2/9: P1 due, P2 (NN) out
2016 Tu 2/16 No class. Monday schedule. . . .
2016 Th 2/18, Tu 2/23, Th 2/25 Expert Systems, Logic, Planning, Resolution Proofs
Last Day to DROP Classes (without a 'W' grade): Tu 2/23
Wikipedia on Expert Systems: 1, 2
Russell: First-Order Logic, Inference. Handout on "Logic and Resolution Proofs,"
Wikipedia: 1, 2, 3.
2016 Th 2/18: H2 due, H3 out
2016: Th 2/25: H3 due, H2 solution, H3 solution
2016: 2/23: P2 due
2016 Tue 3/1 Midterm Exam . Half-term Grades .
2016 Thu 3/3 Resolution Proofs. Situation Variables. Planning and Acting in the Real World. Multiagent Planning. Handouts on "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). CS640: Review-2 due .
2016 3/5-3/13 Spring Recess . . .
2016 Tu 3/15, Th 3/17 Markov Models, Hidden Markov Models with Discrete Observations Rabiner (up to p. 275) . .
2016 Tu 3/22, Th 3/24 HMMs with Continuous Output Densities, Applications of HMMs: American Sign Language Recognition, Hand Tracking Vogler (Oliver) 2016: 3/22: H4 out P3 (HMM) out
2016 Tu 3/29 Speech Recognition, Natural Language Processing 2 handouts of slides: Speech Recognition, NLP, Also: Russell: Natural Language Processing (Ch 22). Wiki 2016: 3/31: H4 due, H4 solution .
2016 Th 3/31, Tu 4/5 Search techniques, A* Search. Game Playing.
Last Day to DROP Classes (with a 'W' grade) : Fri, 4/1
Russell: Searching (Ch 3). A* 2016 4/5: CS640 project description out 2016 Tu 4/5: P3 due, P4 (Game) out
2016 Th 4/7, Tu 4/12 Game Playing: Minimax, Alpha-Beta, Iterative Deepening Russell: Adversarial Search (Ch 5), Also: Wikipedia: Minimax, Alpha-Beta, Iterative Deepening . .
2016 Th 4/14 Heuristic Pruning of Game Trees, Stochastic Games. Russell: Ch. 5.5-5.7. . .
2016 Tu 4/19 Partially Observable Games, "Making the Jump into Games." , Robotics Handout . 2016: 4/19 P4 due.
2016 Th 4/21 Robotics, Humanoid personal-use robot "Pepper," Robot Path Planning Russell: Robotics (Ch 25), Lecture slides. Article on Pepper, Handout with examples of configuration spaces. Robot Motion Planning, Visibility Graph. 2016 Tu 4/12: H5 out CS640 Project due
2016 Tu 4/26 Robot Path Planning, Crowdsourcing and Human Computation 4/26: H5 due, H5 solution
CS640: Review 3 due
Annoucing winner of game competition
2016 Tu 4/28 CS 640 Course Project Presentations. . . .
2016 5/3 Final Exam, 12:30-2:30 pm . . .

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.

Programming Assignment Webpage Template

Programming Assignment Results Programming Assignment 1

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 Mall (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: April 22, 2016