Course Syllabus

Fall 2026

Instructor: Karthik Sridharan and John Thickstun

Course Coordinator: Lacy Jordaens

Course Textbook

Quiz Launcher

We are glad that you are interested in “CS3780/5780 Introduction to Machine Learning”. In addition to the lectures, we will have homework assignments and hands-on programming projects.  The class is meant to be inclusive, and you should generally expect and demand to be treated by your classmates and the course staff with respect. You belong here, and we are here to help you learn and enjoy this course. If any incident occurs that challenges this commitment to a supportive and inclusive environment, please let the instructors know so that the issue can be addressed.

Question: How can I contact the course staff?

The best and fastest way to get a response from course staff is the Ed discussion board. You can post private questions on Ed for sensitive topics. If you need to get in touch directly with the professors, you can reach us at: intro-ml-prof@cornell.edu.

Question: What topics will CS3780/CS5780 cover?

The following are the main topics we will cover in the course. But at a higher level, the course will convey an understanding of Machine Learning beyond the individual algorithms. This entails understanding the theoretical basis of machine learning, the design principles behind machine learning algorithms, and their use in practice.

  • Supervised Batch Learning: decision theoretic foundation, model selection, model assessment, empirical risk minimization
  • Instance-based Learning: K-Nearest Neighbors, collaborative filtering
  • Linear Rules: Perceptron, logistic regression, linear regression, duality
  • Optimization: Gradient descent, stochastic gradient descent, momentum
  • Support Vector Machines: Optimal hyperplane, margin, duality, kernels, stability
  • Deep Learning: multi-layer perceptrons, deep networks, backprop, transformers
  • Decision Trees: TDIDT, attribute selection, pruning and overfitting, boosting, bagging
  • Unsupervised Learning: k-means clustering, hierarchical agglomerative clustering, principal component analysis
  • Language Models: the foundations of modern AI chatbots and agents

For detail course plan, please look on Ed Discussion

Question: What prerequisite knowledge do I need to take the class?

You need to be well-versed in programming (at the level of CS2110) as well as in the math you need to understand machine learning. The math involves 

  • Probability theory (e.g., BTRY 3080, ECON 3130, MATH 4710, ENGRD 2700, CS 2800)
  • Linear algebra (e.g., MATH 2210, MATH 2940, MATH 2310)
  • Single-variable calculus (e.g. MATH 1910, MATH 1110)

With that background, you should be able to acquire and use the mathematical tools that you need for the class. Clearly, not everything in those classes is relevant, so you may want to look at

Deisenroth et al., “Mathematics for Machine learning”, Cambridge, 2020. (https://mml-book.github.io/).

to get a broad idea of the important topics. Again, not everything in that book is relevant, but you need to have the mathematical maturity to be able to understand the basics of linear algebra, analytic geometry, calculus, probability and distributions, and continuous optimization.

To evaluate your mathematical maturity and preparation, we will be having a graded take-home prerequisite evaluation in the first week of classes. It will cover the basics of the math we will use later in the class, so that there are no unpleasant surprises half-way through the semester. 

Question: How can I enroll in the class?

The class follows the CIS enrollment procedures posted at https://www.cs.cornell.edu/courseinfo/enrollment. The instructors are not involved in this process. 

Question: Can I take the class S/U?

Yes! In this case you don’t do the creative project at the end of the semester. 

Question: Can I audit the class?

If the university rules allow it, you can audit the class. In that case, you only attend the lectures, but don't participate in any of the homeworks, projects, exams, etc.

Question: When will the exams take place?

The current plan is to have one  prelim exam on October 6 at 7:30pm, as well as a final exam (time and date TBD). 

Question: What is the overall grading scheme for this class?

This is a 4-credit course. For CS3780, grades will be determined based on two written exams, programming projects, homework assignments, a prereq assessment, and class participation. For CS5780, in addition you are required to read assigned research papers and complete the associated comprehension quizzes online. Papers will be assigned roughly once every two to three weeks.

For CS3780, the final grade is composed of:

  • Exams (49% of Grade)

  • In-class Quizzes (20% of Grade)
  • Programming Projects (20% of Grade)

  • Homeworks (10% of Grade)

  • Participation (1% of Grade)

For CS5780, the final grade is composed of:

  • Exams (45% of Grade)

  • In-class Quizzes (20% of Grade)
  • Programming Projects (16% of Grade)

  • Homeworks (8% of Grade)

  • Paper Comprehension (10% of Grade)
  • Participation (1% of Grade)

For homeworks, we will replace your lowest grade with the next lowest grade. So if, e.g., you are unable to complete one homework assignment your score of zero would be replaced with the next lowest grade you received on a homework assignment. Same policy applies to projects. This policy is intended to provide some flexibility if some crisis comes up during the semester; I still encourage you to attempt all homework and projects, as this is the best way to engage with the material and prepare for exams.

Undergraduates enrolled in CS3780 may choose to do the paper comprehension assignments; if completed you will receive the higher of your two grades between the above schemes.

All homework assignments, the prelim and the final exam, and the final grades are roughly on the following scale (and they include + and - of that grade): A=92-100; B=82-88; C=72-78; D=60-68; F= below 60. The gaps between grades reflect that actual grade cutoffs are not yet determined, and that this is only meant to provide guidance on roughly where you stand in the class.

If you are taking the class S/U, following university policy, the minimum passing grade (i.e. S) is a C-.

Question: How can I contact the course staff and get help?

We use Ed Discussions (via Canvas) as our communication tool.  This is typically the fastest way to get a response. Please don't email the course staff directly. Or you can just come to office hour - which raises the question...

Question: When and where are the office hours?

Office hours will be posted here. For online office hours, the zoom link is in the "location" field. In person office hours will be held in Malott 301A.