|Lectures:||Tu, Th 12:30 - 1:45 pm in KCB 101|
|Labs:||Fri 1:25-2:15, 2:30-3:20, 3:35-4:25, and 4:40-5:30 in EMA 304|
|Instructor:||Prof. Margrit Betke|
|Teaching Fellows:||Wenxin Feng and Yi Zheng|
|Class web page:
|Class mailing list:
||firstname.lastname@example.org and email@example.com|
|Margrit Betkefirstname.lastname@example.org||Tue 1:45-2, 3-4, Wed 10:30-11, Thu 1:45-2, and by appointment||MCS 286, except after lectures meet outside the classroom.|
|Wenxin and YZemail@example.com and firstname.lastname@example.org. Always send emails to both TFs||Mon 3:50-5:30 and Wed 2:20-5||Ugrad Lab|
Seeing Me in My Office:
Please feel free to stop by my office anytime. My office is in MCS 286 (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, and pattern recognition, 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:
Yi and Wenxin 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.
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).
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 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. 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 three programming
assignments and three written problem sets. The due dates are listed below.
Programs and reports on your program performance must be submitted
electronically. 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.
Face Recognition Symposium: This year we have an opportunity to participate in the international BU Face Recognition Symposium, which will discuss the promises and perils of this important AI technology. The symposium is on Wednesday, April 18, which has a substitute BU Monday schedule. You are invited to attend the full symposium (register online) or attend just a single one-hour panel. For those students who cannot make it at all, we plan to make a video available. There will be a AI homework question with regards to the material discussed in the symposium. You will have an opportunity to submit a 250-word abstract (deadline February 16) and a 2,500-word paper (dealine March 30) if you are interested to participate in a poster session. Such participation is not required for CS440/640 but is helpful for anybody who would like to do research in AI.
CS 640 Project: This year, 40 students are enrolled in CS 640. A project is only required for students enrolled in CS640. 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 will be due in early April.
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
email@example.com 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, 4-5 pm and write a report:
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 (Barzilay, Hertzmann, Darrell) 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, February 22, 2017, the date of the final exam is TBA. 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:
|Programming Assignments (CS440: P1-3, CS640: P1, P3)||25%||15%|
|Written Problem Sets||20%||10%|
|Project and presentation||0%||15%|
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.
|Lecture Dates||Topics||Readings|| Homework & Reviews
(due in class)
|2018 Th 1/18||Introduction: What is AI? Turing Test. Industry Successes, Interfaces for people with disabilities: Camera Mouse.||Turing test. Russell: Intro, Intelligent Agents.||CS640: Talk reviews 1, 2, and 3 assigned.||.|
|2018 Tue 1/23, Th 1/25||Rule-based Systems, Propositional Logic||Handout. Wikipedia on Expert Systems: 1, 2||H1 (Rule-based systems) . Solution.||.|
|2018 Tu 1/30||
(1) ROC analysis, sensitivity & specificity, precision & recall, likelihod ratio, F1-measure, confusion matrices.
(2) Gaze-based interfaces: EyeSwipe
Last day to ADD class: Wednesday, 1/31/18
|Fawcett, Wiki on F1-measure Likelihood ratios||H1 (ROC analysis). Solution.||.|
|2018 Th 2/1||TBA||.||.||.|
|2018 Tu 2/6, Th 2/8||Logic and Planning, Resolution Proofs. Situation Variables. Planning and Acting in the Real World.||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). Solution.||.|
|2018 Tu 2/13, Th 2/15|| Machine Learning, Neural Nets: Backpropagation
M 2/12, 4 pm, Regina Barzilay Talk. CILSE, 610 Com Ave.
|Learning by Training Neural Nets. Backprop Example, Learning from Examples. Wikipedia 1, 2, 3 Activation functions|| 2/13: H1 due
CS640: Talk review 1 due 2/15
|P1 (NN) out and P1_DATA|
|2018 Tu 2/20||No class. Monday schedule.||.||.||.|
|2018 Thu 2/22|| Midterm Exam
Last Day to DROP Classes (without a 'W' grade): Th 2/22/18
|2018 Tue 2/27||Applications of Neural Nets (NetTalk.mp3), Convolutional Nets, Deep Learning||Interview with Yann LeCun, Director of AI Research at Facebook, Collard, Sejnowski, SexNet, Pomerleau, MANIAC||.||.|
|2018 Th 3/1||Neural Nets and Computer Vision||LeCun.||.||W 2/28 midnight: P1 due.|
|2018 3/3-3/11||Spring Recess||.||.||Project (Deep Learning/Computer Vision) out, CS640 only|
|2018 Tu 3/13, Th 3/15||Deep Learning and Computer Vision||
|.||P2 (Computer Vision) out, CS440 only|
|2018 Tu 3/20, Th 3/22||Interactive Rooms. Computer vision introduction. Computer Vision for interactive graphics (image moments for object area, position & orientation, orientation histograms, template matching, SSD, NCC, recursive labeling algorithm).||Russell: Perception, Kids Room Lecture Slides, Bobick Computer Vision Introduction Lecture Slides, Freeman, Shapiro & Stockman, page 3.||.||.|
|2018 Tu 3/27, Th 3/29|| Markov Models, Hidden Markov Models with Discrete
Observations, HMMs with Continuous Output
Densities, Applications of HMMs:
American Sign Language Recognition, Hand Tracking
Last Day to DROP Classes (with a 'W' grade) : Fri, 3/30/2018
|HMM Lecture Notes, Rabiner (up to p. 275)||H2 (NN/CV/DHHM/CHHM). Solution.|
|2018 Tu 4/3||CS 640 Course Project Presentations||.||.||Mon 4/2, midnight: CS640 Project due; CS440 P2 due|
|2018 Thu 4/5||Training HMMs (Baum-Welch Reestimation). HMMs with Continuous Output, ASL & HMMs: Vogler||Additional HMM Lecture Notes||4/5: H2 due||.|
|2018 Tue 4/10||Search techniques: Path-based search techniques: Greedy search, A* Search. Local techniques (gradient ascent)||Search Strategies Lecture Notes, 8-Queens Problem and Gradient Descent, Genetic Algorithm, Russell: Searching (Ch 3). A*||.||.|
|2018 Th 4/12||Search Techniques: Simulated annealing, genetic algorithms. Game Playing: Minimax||Lecture notes on simulated annealing for traffic sign recognition. Russell: Searching (Ch 3), Adversarial Search (Ch 5), Wikipedia: Minimax.||.||P3 (Game) out|
|2018 Tu 4/17||
Alpha-Beta Algorithm for Adversarial Games. Heuristic Pruning of Game Trees
(progressive deepening, tapered search, horizon effect, continuation heuristics).
Wed 4/18 (BU Monday schedule):
All day: BU Face Recognition Symposium,
4-5 pm: Trevor Darrell Talk. CILSE, 610 Com Ave.
Lecture notes on Adversarial Search.
Russell: Ch. 5.5-5.7,
on Static Evaluator and Alpha Beta Pruning
Deep Blue , IBM's Chess Playing
Computer versus Kasparov. FIDE
, World Chess Federation Network.
Making the Jump into Games. Global Games Market 2016, 2016 Video Game Statistics adn Trends Who's Playing What & Why, AI with ChineseCharacteristics
|2018 Th 4/19||Natural Language Processing. Case Study: Can we use AI to address "Addiction?"||Lecture notes on Natural Language Processing. Watson, IBM's Jeopardy! playing computing system, Russell: Natural Language Processing (Ch 22). NLP Wiki.||
H3 (Continuous HMMs, Search, Games, NLP, Robotics).
4/19: CS640: Talk review 2 due.
|2018 Tu 4/24||Stochastic Games. Partially Observable Games. Speech Recognition||
Game Playing Lecture Notes,
Speech Recognition Lecture Notes.
Speech recognition software: Dragon Naturally Speaking, and CMU's Open Source Speech Recognition Engines.
|2018 Th 4/26||Robotics. Robot Path Planning.||Russell: Robotics (Ch 25), Robotics Lecture Notes, Handout: Robot's Configuration Space, Lozano-Perez, Robot Motion Planning, Visibility Graph.||.||Wed 4/25, midnight: P3 (Game) due|
|2018 Tu 5/1|| Last lecture: Robotics
Announcing Winner of Game Competition
CS640: M 4/30, 4 pm, Aaron Hertzmann Talk. CILSE, 610 Com Ave.
|Article on Pepper,|| H3 due.
CS640: Talk review 3 due
|2018 5/9 12:30-2:30||Final Exam: Neural Nets, Computer Vision, Hidden Markov Models, NLP, Search, Games, Robotics.||.||.||.|
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!
When you submit your programming homework, use the following template for your report: Programming Assignment Webpage Template
Graded written homeworks and solutions will be handed out in your lab section.
Use this link to check your grades: CS440/640 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.