**COS 324: Introduction to Machine Learning**
Spring 2025, Princeton University
[Syllabus](./syllabus.html) |
[Schedule](./schedule.html) |
[Office hours](#officehours) |
[Course notes](https://princeton-introml.github.io/) |
[Ed](https://edstem.org/us/courses/73697/discussion) |
[Ed Resources](https://edstem.org/us/courses/73697/resources) |
[Gradescope](https://www.gradescope.com/courses/955169)
 using [DALLĀ·E 3](https://openai.com/index/dall-e-3/)](assets/dalle3_cute_robot.png width="30%" border="2")
This course provides a broad introduction to different machine learning paradigms and algorithms and lays a foundation for further study or independent work in AIML. Some topics we'll cover include: linear models, support vector machines, neural networks, clustering, principal components analysis, Markov decision processes, planning, and reinforcement learning. The goals of this course are three-fold: to understand the landscape of ML, how to compute the mathematics behind techniques, and how to use Python and relevant libraries to implement and use various methods.
## FAQs
Last updated: Jan 14, 2025.
- Q: I would like to change my precept assignment, who do I contact?
- A: Please reach out to Colleen Kenny (ckenny AT cs.princeton.edu).
## Course staff
- **Instructors:** Professors [Ruth Fong](https://www.ruthfong.com/) and [Lydia Liu](https://www.lydiatliu.com/)
- **Graduate teaching assistants (TAs):** [Romina Mahinpei](https://rmahinpei.github.io/) (head TA), [Sofiia Druchyna](https://sof0-0.github.io/SofiiaDruchyna/), [Nimra Nadeem](https://nimranadeem.com/), Meenal Parakh, Jiatong Yu, Mingkun Zhao
- **Undergraduate course assistants (UCAs):** Aditya Palaparthi (head UCA), Aaysh Sharma, Alexander Tao, Anha Khan, Anki Manjunatha, Anshika Gupta, Charles Yu, Christina Zhang, Crystal Deng, Hugh Peterson, Laya Reddy, Lillian Ye, Natalia Espinosa Dice, Peter Wu, Rafael Perez, William Guan
## Course details
- **Lectures:** Mondays and Wednesdays, 1:30-2:50pm in Friend 101
- **Precepts:** Thursdays
- P01: 10:00am-10:50am, Andlinger 017, preceptor Meenal Parakh
- P02: 11:00am-11:50am, Andlinger 017, preceptor Jiatong Yu
- P03: 12:30pm-1:20pm, Andlinger 017, preceptor Nimra Nadeem
- P04: 1:30pm-2:20pm, Friend 109, preceptor Romina Mahinpei
- P05: 2:30pm-3:20pm, Julis Romo Rabinowitz A12, preceptor Sofiia Druchyna
- P06: 3:30pm-4:20pm, Friend 110, preceptor Mingkun Zhao
- **Assignments:** due Wednesdays at 12:30pm unless otherwise noted.
- **Midterm exam:** Wednesday, March 5, 1:30-2:50pm.
- **Final exam:** Wednesday, May 14, 12:30-3:30pm.
## Getting started
- Register for COS 324 in [TigerHub](https://registrar.princeton.edu/tigerhub).
- Official registration is needed for access to most course components (iClicker, [Adroit cluster](https://researchcomputing.princeton.edu/systems/cloud-computing/gpus-classes), Ed, Gradescope, etc.)
- Read our course [syllabus](https://bit.ly/cos324-syllabus).
- Consider if further preparation would be helpful for you. If so, plan to go through the relevant pre-work resources in the syllabus **ASAP** (e.g. before the course picks up).
- Accept invitations to join [Ed](https://edstem.org/us/courses/73697/discussion) and [iClicker](https://www.iclicker.com/students/).
- Read week 1 readings (see [full schedule](./schedule.html) for assigned readings).
- Attend lecture, starting Mon, Jan 27.
- Attend your assigned precept, starting Thu, Jan 30.
## Where do I find X? / How do I do X?
- **Course policies:** see our [syllabus](https://bit.ly/cos324-syllabus).
- **Assigned readings:** see our [full schedule](./schedule.html).
- **Course materials (e.g. lecture slides, precept material, past exams, etc.):** see [Ed Resources](https://edstem.org/us/courses/73697/resources) (click the "Download" icon in the upper right-hand corner).
- **Note:** We've uploaded recent, in-person exams; previous versions of COS 324 may have covered different topics.
- **To access the Adroit cluster (for precept/PAs):** see our [technical guide](./tech_guide.html) for instructions on logging onto to Adroit, copying course materials to your home directory, etc.
- **To turn in an assignment:** use [Gradescope](https://www.gradescope.com/courses/955169) to submit both HWs and PAs.
- **Note:** For PAs, you must submit both an .ipynb file and a .pdf of your notebook.
- **Communicate with course staff:** use [Ed Discussion](https://edstem.org/us/courses/73697/discussion) to communicate with us.
- If you need to include a dean, email us at cos324-staff AT lists.cs.princeton.edu.
- **Note:** Course staff will not reply to individual emails.
## Semester overview
Below is a tentative overview of the semester (subject to change).
For detailed list of topics and assigned readings, see our [full schedule](./schedule.html).
## Office hours
We offer a few different "flavors" of office hours (OHs):
- **Instructor OHs:** For conceptual questions only on lecture material and/or readings (**no assignment support**)
- **TA OHs:** For conceptual questions and assignment support
- **UCA OHs:** For assignments support only (**no conceptual questions**)
**Note:** UCA OHs will start by week 3. TA OHs will initially be 2-hour blocks (after UCAs start, TA OHs will be 1-hour blocks).
### Office hours queue
For TA+UCA OHs, please use the [queue form](./oh_form.html) to enter the OH queue. To check the status of the queue, see the [status page](./oh_status.html).
### Office hours calendar
Changes less than 48 hours before a scheduled OH block will be announced on Ed.