COMS 4721 is a graduate-level introduction to machine learning. The course covers basic statistical principles of supervised machine learning, as well as some common algorithmic paradigms. Additional topics, such as representation learning and online learning, may be covered if time permits.


You must know multivariate calculus, linear algebra, and basic probability. You must be comfortable writing code to process and analyze data in Python or Matlab, and be familiar with basic algorithmic design and analysis. You must have general mathematical maturity.

Online resources

If you are unsure about whether you satisfy the prerequisites for this course (or would like to “page-in” this knowledge), please check the following links.


Readings will be assigned from notes, books, and research papers available on the web. This includes readings from the following texts:

Course requirements

Homework assignments (along with instructions) will be posted on the course website. The lowest homework score will be dropped before determining the final grade.


No late assignment will be accepted except in the case of a valid medical or family emergency. If you have such an emergency, please present any confirmatory documentation (e.g., from a physician) to your academic adviser, and then have your adviser e-mail me about the circumstance.

Disability services

If you require accommodations or support services from Disability Services, make necessary arrangements in accordance with their policies within the first two weeks of the semester.

Academic rules of conduct

You are expected to adhere to the Academic Honesty policy of the Computer Science Department, as well as the following course-specific policies.


You are welcome and encouraged to discuss course materials and reading assignments with other students.

For each homework assignment other than Homework 0, you may discuss the problems in a group of at most three students. You must list all discussants in your homework write-up. Discussion must not go as far as one person telling others how to solve a problem. You must write up your own solutions by yourself. You may not look at another student’s homework write-up (whether partial or complete), even if this other student was part of your group.

Collaboration of any kind on Homework 0, quizzes, and exams is not permitted.

Use of outside references

Outside reference materials and sources (i.e., texts and sources beyond the assigned reading materials for the course) may be used on homework assignments only if explicitly permitted by the instructor. Such references must be appropriately acknowledged in the homework write-up. You must always write up your solutions in your own words.

  • Sources obtained by searching the internet for answers or hints on homework assignments are never permitted.
  • You are permitted to use texts and sources on course prerequisites. If you need to look up a result in such a source, provide a citation in your homework write-up.
  • If you inadvertently come across the solution to a homework problem: you must acknowledge this source and document the circumstance in your homework write-up, and then do your best to produce a solution without looking at the source. You must, as always, write your solution in your own words.


Violation of any portion of these policies will result in a penalty to be assessed at the instructor’s discretion. This may include receiving a zero grade for the assignment in question AND a failing grade for the whole course, even for the first infraction.