BU Logo

CAS CS 440/640 Artificial Intelligence - Fall 2019

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

Lectures: Tu, Th 3:30 - 4:45 pm in COM 101
Labs: Fri 10:10 am - 2:15 pm in MCS B31
Instructor: Prof. Margrit Betke
Teaching Fellows: Wenda Qin and Stan (Sha) Lai
Class web page:
Piazza page:
Class mailing list:
cascs440a1-l@bu.edu and grscs640a1-l@bu.edu
Contact Information:
Staff Email Office Hours Office
Margrit Betke betke@bu.edu Mon 3-5, Tue/Thu 4:45-5:15, and by appointment MCS 295B. After lectures: Meet outside the classroom COM 101.
Wenda and Stan wdqin@bu.edu and lais823@bu.edu Always send emails to both TFs.
Better: Use Piazza to contact them.
Mon 2-3 (Stan), Tue 5:30-6:30 (Wenda), Wed 2:30-6:30 (Wenda:2:30-4:30, Stan:4:30-6:30) Ugrad Lab

Seeing Me in My Office:
Please feel free to stop by my office anytime. My office is in MCS 295B (111 Cummington Mall). 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, your plans for the future, or anything else. Check out my personal web page (in need of updating...) to get to know me a little.

Responsibilities of the Teaching Fellows:
Wenda and Stan are responsible for teaching the four laboratory sections and helping you out during their office hours. They will also help me design the written homework and programming projects, and they will manage the graders. Please contact the TFs 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 B.A. or B.S. 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 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 Nordiv, 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 Norvig book, and then augment the materials with newer articles, especially with regards to deep learning.

Computing Environment: You will use the Computer Science Department's main server csa2.bu.edu to submit programming solutions. If you don't have a CS account yet, you may activate your account online at http://www.bu.edu/cs/account. You may work in the Computer Science Department's Undergraduate Lab located at 730 Commonwealth Ave (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 three programming assignments and four written problem sets. The due dates are listed below. Programs and reports on your program performance must be submitted electronically. In order for your team not to crash the CS file server, do not wait until the last minute to submit your program and do not upload large files (upload links to large files in the cloud instead). Guidelines for submission are provided with each assignment. We allow teams of two students for the programming assignments. Each student must prepare their own written homework and hand it in at the beginning of class. To speed up the grading process of the written homework, each exercise will be graded separately. Therefore (and for stricter privacy rules), you will have to prepare a cover sheet for each of your exercise solutions and then hand in separately-stapled solutions for each exercise. The cover sheet should be empty except for your name, BU ID, and statements whether you are in CS 440 or 640 and which lab section you are assigned to.
Late solutions will be levied a late penalty of 20% per day (up to three days). After three days, no credit will be given.

CS 640 Project: A project is only required for students enrolled in CS 640. The project involves developing a computer vision system. More details will be announced shortly. We will discuss your project's scope, design, and presentation with you in class, labs, and office hours. The project has three due dates: (1) your plan, (2) your initial results, and (3) your final results (see schedule).

Colloquia: Students enrolled in CS440 and CS 640 are encouraged to attend the CS Department Seminars. Try to make a couple of talks by faculty candidates. Such talks are extremely well prepared and approachable. They will be announced only by email to cs-grads@cs.bu.edu and held typically on M/W/F at 11 am in March and April.
CS 640 students must attend two of the three BU AIR Distinguished Speakers Seminars held in 610 Com Ave on Mondays, 11-12, and write a report.
Talk date & title: TBA
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, and UMass Boston Department of Computer Science.

CS 640: Talk Reports: Students enrolled in CS 640 must attend at least three talks on subjects related to Artificial Intelligence and write a summary on each talk. Two of these talks must be from the list above. 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, your review is late, contains typographical and grammatical errors, does not contain a discussion, and does not contain a statement how the talk relates to class material.

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 Thursday, October 17, 2019, the date of the final exam is Decmber 18, 2019. If you miss the midterm exam, there will not be a make-up exam and your final exam will count towards 50% of your grade. 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: 20% 20%
Final exam 30% 30%
Programming Assignments (CS440: P1-3, CS640: P1, P3) 25% 10%
Written Problem Sets 20% 15%
Class participation (Lecture and Lab) 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 reading materials, 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 the TFs for help or send us email. Our task is to help you learn a very interesting topic.

Course Schedule

Lecture Dates Topics Readings Homework & Reviews
(due in class)
Projects (gsubmit)
2019 Tue 9/3 Introduction: What is AI? Turing Test. Industry Successes Turing test. Russell: Intro, Intelligent Agents. CS640: Talk reviews 1, 2, and 3 assigned (due dates TBA). .
2019 Th 9/5 Research in AI at BU,
Interfaces for people with disabilities: Camera Mouse.
Responsible AI: Racial Bias in Emotion Recognition AI Systems.
Rule-based Systems, Knowledge Bases, Expert Systems
Camera Mouse. On the use of ML and facial inferences to classify people Expert-System-Handout. Wikipedia on Knowledge Bases & Expert Systems: 1, 2, 3 H1 (Rule-based systems) .
2019 Tu 9/10, Th 9/12, Tu 9/17 Rule-based Deduction Systems, Forward and Backward Chaining, Conflict Resolution Strategies. Logic and Planning, Resolution Proofs. Situation Variables. Planning and Acting in the Real World.

Last day to ADD class: Monday, 9/16/19
Handouts. Russell: First-Order Logic, Inference, Classical Planning, Planning and Acting in the Real World (Ch 8, 9, 10.1, 10.4, 11.4). Wikipedia: 1, 2, 3. H1 (Logic, Planning) .
2019 Th 9/19 ROC analysis, sensitivity & specificity, precision & recall, likelihod ratio, F1-measure, confusion matrices. Fawcett, Wiki on F1-measure Likelihood ratios H1 (ROC analysis) .
2019 Tu 9/24, Th 9/26 Learning from Examples, part 1. Learning by Training Neural Nets. Machine Learning, Neural Nets: Backpropagation Partial Derivative Examples Backprop Example, Backprop derivation, Wikipedia 1, 2, 3 Activation functions 9/26: H1 due, solution P1 (NN) out and P1_DATA
2019 Tu 10/1, Th 10/3 Shallow and Deep Convolutional Neural Networks.
Last Day to DROP Classes (without a 'W' grade): Mon 10/7/19
LeCun 1990 paper, Convolutional Nets, Collard, Sejnowski and NetTalk.mp3, SexNet, Pomerleau, MANIAC, Object Recognition under Affine Transformation H2 (Machine Learning, Neural nets) solution .
2019 Tu 10/8, Th 10/10 Computer Vision and Neural Nets: Looking at People and Face Recognition, Image Net
Interactive Rooms. Computer vision introduction. Computer Vision for interactive graphics (image moments for object area, position & orientation, orientation histograms, template matching, SSD, NCC).
2013-ImageNet, Kids Room & Computer Vision Lecture Slides, Bobick, Freeman, Russell: Perception. Image Formats Lecture Slides, "How to Program with Images" Lecture Slides. 10/10: H2 due W 10/9 midnight: P1 due.
2019 Tu 10/15 No class. Monday schedule. . . .
2019 Thu 10/17 Midterm Exam: Crib sheet: 1 letter-size piece of paper. Topics included: Everything above. Solution . .
P2 (Computer Vision) out, CS440 only
Project (Deep Learning/Computer Vision) out, CS640 only
2019 Tu 10/22, Th 10/24, Tu 10/29, Th 10/31 More Computer Vision: 2D Motion, Perspective Projection, 3D Motion, Binocular Stereo, Empatic Painting. Horn H3 (Computer Vision) (Solution) Oct. 24: CS 640 Project Plan due
2019 Tu 11/5 Markov Models, Hidden Markov Models with Discrete Observations, HMMs with Continuous Output Densities, Applications of HMMs: American Sign Language Recognition, Hand Tracking HMM Lecture Notes, Rabiner (up to p. 275) Viterbi . .
2019 Thu 11/7 Training HMMs (Baum-Welch Reestimation). HMM Lecture Notes, Part 2, HMM Outputs,
Last Day to DROP Classes (with a 'W' grade) : Fr 11/8/2019
ASL & HMMs: Vogler . W 11/6: P2 due (CS 440 only)
CS 640 Project Initial Results due
2019 Tu 11/12, Th 11/14 Game Playing: Minimax Alpha-Beta Algorithm for Adversarial Games. Lecture notes on Adversarial Search. Example. Heuristic Pruning of Game Trees (progressive deepening, tapered search, horizon effect, continuation heuristics). Russell: Adversarial Search (Ch 5), Wikipedia: Minimax. Alpha-Beta, Iterative Deepening,
IBM's Chess Playing Computer versus Kasparov. FIDE, World Chess Federation Network.
Global Games Market 2016. The Global Games Market Will Reach $108.9 Billion in 2017. Global Games Market: $137.9 Billion in 2018. Global Games Market: $152.1 Billion in 2019.
AI with ChineseCharacteristics
11/14: H3 due.
H4 (HMMs) (Solution: part I , part II )
11/12: P3 (Game) out
2019 Tu 11/19, Th 11/21 A*, Stochastic Games. Partially Observable Games. Search Strategies and Robot Path Planning Lecture Notes, Advanced Game Playing, Watson, IBM's Jeopardy! playing computing system, H4 (Search, A*, Games) (Solution) .
2019 Tu 11/26 Robotics, Robot Path Planning, Robotics Lecture Notes. Lozano-Perez, Robot Motion Planning, Visibility Graph. . Tue 11/26: P3 due
2019 11/27-1/12 Thanksgiving Recess . . .
2019 Tu 12/3 640 project in-class presentation . . .
2019 Th 12/5 Robotics, Likable Robots. ABOT. Moral Competence of Robots. Mars Robots. Article on Pepper Russell: Robotics (Ch 25), What Makes a Robot Likable? Learning How to Behave: Moral Competence for Social Robots H4 (Robotics) (Solution) Friday (12/6) midnight: 640 project report due
2019 Tu 12/10 Last lecture: Speech Recognition
Announcing Winner of Game Competition
. H4 due. .
12/18/2019, 3-5 pm Final Exam: Crib sheet: 1 letter-size piece of paper. . . .

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 and Programming Assignments

When you submit your programming homework, use the following template for your report: Programming Assignment Webpage Template

How to use gsubmit:instructions

Programming Assignments:

  1. P1: Neural Nets. You will be asked to implement the backpropagation algorithm in Python to train a neural network.
  2. P2: Computer vision project. You will be asked to implement a system in Python with OpenCV library functions.
  3. P3: Games. You may use Python, Java, or C++ to implement your game. You need to use a default interface so that we can run your team's code against all other teams' code.

Graded written homeworks and solutions will be handed out in your lab section.


Use this link to check your grades



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@bu.edu
URL: http://www.cs.bu.edu/faculty/betke
Phone: 617-353-8919, Fax: 617-353-6457
Last updated: September 2, 2019