CS 229
Machine Learning
Handout #1: Course Information

Meeting Times and Locations

Lectures: MW 9:30 AM - 10:50 AM, NVIDIA Auditorium (Huang Engineering Center)

Discussion sections: Fridays, 4:30 PM - 5:20 PM, Gates B01 (recorded, optional attendance)

Teaching Staff

Andrew Ng
Office: Gates 156
John Duchi
Office: Sequoia 126
Office hours: Wednesdays 11:00 AM - 12:00 PM, Location - Packard 277 (starting November 9, 2016)

Course Coordinator:
Swati Dube
Office: Gates 127

Teaching Assistants:
Rishabh Bhargava*
Yin Zi*
Michael Zhu*
Nihit Desai*
Hao Sheng*
Chenyue Meng
Poorna Kumar
Daniel Levy
Kian Katanforoosh
Pulkit Agrawal
Ye Tian
Jingwei Ji
Francois Germain*
Sunil Pai
Kalpit Dixit
Danyang Wang
Timon Ruban
Bo Wang*
Ziang Xie
Benjamin Zhou
Arjun Sheshadri
* - TAs marked with asterisk are Project TAs

Contact Information

If you and have a homework, technical or general administrative question about CS229, for you to get the fastest possible response, please post it on our Piazza forum. To contact the CS229 teaching staff directly, you can also email us at For telephone numbers and information about office hours (where we can help you in person), see Office Hours and Contact Information

Course Description

This course provides a broad introduction to machine learning and statistical pattern recognition. Topics include: supervised learning (generative/discriminative learning, parametric/non-parametric learning, neural networks, support vector machines); unsupervised learning (clustering, dimensionality reduction, kernel methods); learning theory (bias/variance tradeoffs; VC theory; large margins); reinforcement learning and adaptive control. The course will also discuss recent applications of machine learning, such as to robotic control, data mining, autonomous navigation, bioinformatics, speech recognition, and text and web data processing.


Students are expected to have the following background:

Course Materials

There is no required text for this course. Notes will be posted periodically on the course web site. The following books are recommended as optional reading:

Course handouts and other materials can be downloaded from

Online Resources

Homeworks and Grading

There will be four written homeworks, one midterm, and a major open-ended term project. The assignments will contain written questions and questions that require some Matlab programming. In the term project, you will investigate some interesting aspect of machine learning or apply machine learning to a problem that interests you.

We try very hard to make questions unambiguous, but some ambiguities may remain. Ask if confused or state your assumptions explicitly. Reasonable assumptions will be accepted in case of ambiguous questions.

Course grades: will be based 40% on homeworks (10% each), 20% on the midterm and 40% on the major term project.

Honor code: We strongly encourage students to form study groups. Students may discuss and work on homework problems in groups. However, each student must write down the solutions independently, and without referring to written notes from the joint session. In other words, each student must understand the solution well enough in order to reconstruct it by him/herself. In addition, each student should write on the problem set the set of people with whom s/he collaborated.

Further, since we occasionally reuse problem set questions from previous years, we expect students not to copy, refer to, or look at the solutions in preparing their answers. It is an honor code violation to intentionally refer to a previous year's solutions. This applies both to the official solutions and to solutions that you or someone else may have written up in a previous year.

Late assignments: Each student will have a total of seven free late (calendar) days to use for homeworks, project proposals and project milestones. Once these late days are exhausted, any assignments turned in late will be penalized 20% per late day. However, no assignment will be accepted more than three days after its due date, and late days cannot be used for the final project poster or writeup. Each 24 hours or part thereof that a homework is late uses up one full late day.

Assignment submission: We will be using Gradescope to handle assignment submissions. Entry code for Gradescope is 9GK339. Hard copy and email submissions will not be accepted.

The term project may be done in teams of up to three persons.

Midterm Information: The midterm is open-book/open-notes/open labtop (no internet). It will take place on Wednesday, November 9, 2016 from 6-9 PM. The exam venue will be announced soon.
Syllabus: Everything up to and including lecture on Wednesday, November 2nd. All the relevant lecture notes (until, but not including unsupervised learning) are included, including the relevant supplemental notes.
Also, there are two sets of notes dealing with SVMs (from the lecture notes and the supplemental notes) on the website. Primarily, this class has dealt with material from the supplemental notes on SVMs. So, we will not include material on Lagrange duality, KKT conditions, etc. from the lecture notes on SVMs in the midterm.


To review material from the prerequisites or to supplement the lecture material, there will occasionally be extra discussion sections held on Friday. An announcement will be made whenever one of these sections is held. Attendance at these sections is optional.

Communication with the Teaching Staff

If you have a question that is not confidential or personal, encourage you to post it on our forum on Piazza. To contact the teaching staff directly, we strongly encourage you to come to office hours. If that is not possible, you can also email us at the course staff list, (consisting of the TAs and the professor). By having questions sent to all of us, you will get answers much more quickly. Of course, confidential or personal questions can still be sent directly to Prof. Ng, Prof. Duchi or the TAs.

Answers to commonly asked questions and clarifications to the homeworks will be posted on the FAQ.

Comments to

Home Page