CSC 246: Machine Learning
Fall 2025
Staff
- Instructor: Adam Purtee
- Homepage: cs.rochester.edu/u/apurtee.
- Email: apurtee AT cs DOT rochester.edu
- Office: Wegmans Hall 2109
- Office Hours: Tuesdays and Thursdays 3-4pm
Course Information
Course Description Mathematical foundations of classification, regression, and decision making. Supervised algorithms covered include perceptrons, logistic regression, support vector machines, and neural networks. Directed and undirected graphical models. Numerical parameter optimization, including gradient descent, expectation maximization, and other methods. Introduction to reinforcement learning. Proofs covered as appropriate. Significant programming projects will be assigned.
Credit Hours - This course follows the College credit hour policy for four-credit courses, including lectures and study sessions. Students are expected to do significant work outside of class time. You may find it necessary to spend several hours most weeks reading the textbook, studying derivations, and working on assignments. You should plan to spend approximately eight hours each week working on material for this course.
Prerequisites - Required: Full Calculus sequence and MATH 165. Recommended: CSC 242 and STAT 190.
Class - Tuesdays and Thursdays 1105-1220. (See UR Student for location.)
Teaching Staff
- Instructor: Adam Purtee
- Homepage: cs.rochester.edu/u/apurtee.
- Email: apurtee AT cs DOT rochester.edu
- Office: Wegmans Hall 2109
- Office Hours: TBD
Course Outcomes and Goals
In this course, students will leverage their prior knowledge of mathematics and computer science to develop an understanding of the foundations of the field of machine learning, including supervised, unsupervised, and reinforcement learning paradigms. They will deepen their understanding by designing, implementing and analyzing computational systems and by solving problems by theoretical analysis.
By the end of this course, students will be able to:-
Analyze machine learning systems using appropriate practical and theoretical models.
-
Design, implement, test and validate machine learning systems subject to appropriate requirements and external constraints.
-
Communicate ideas and research findings effectively in written reports.
-
Recognize, recall, and explain fundamental models and concepts of machine learning using both language and mathematics.
Course Mechanics
Class time will be used for lectures, collaborative problem solving activities, quizzes, and end of semester project presentations. Graded work will of three exams (two quizzes and a final), programming assignments (6), problem sets (6), and a project.
You will be expected to do substantial reading outside of class.
- (DL) Christopher Bishop and Hugh Bishop. Deep Learning. Springer-Nature. 2024.
- (PRML) Christopher M. Bishop, Pattern Recognition and Machine Learning. Springer. 2006.
- (ITLA) David MacKay. Information Theory, Inference, and Learning Algorithms. Cambridge University Press. 2003.
- (RLAI) Richard Sutton and Andrew Barto. Reinforcement Learning: An Introduction. MIT Press. 2018.
Learning Activities
There are four distinct kinds of graded learning activity in this course:
-
Programming assignments. These directly reinforce outcomes 1, 2, and 3. These assignments vary in scope but all require students to write well-structured python code. Programs will be evaluated via automated testing and via TAs. A substantial portion of your grade on these assignments will be from writing short reports which analyze and validate the performance of your implementation.
-
Problem sets. These directly reinforce outcomes 1 and 4. These are meant to help you develop foundational skills and understanding of course concepts. Problem sets may be completed on paper and scanned or typeset via latex. These are graded by TAs.
-
Quizzes. Quizzes directly assess outcomes 1 and 4. These are typical written, in-person exams. You can expect a mixture of multiple choice and short answer questions on each quiz.
-
The Project. The project reinforces outcomes 1, 2, and 3. Students are encouraged to work in small groups of 3 students. Project requirements are to apply a machine learning model to an interest dataset/problem chosen by the student, or to implement or replicate a result from recent publications. Project proposals will be due September 25th.
All programming assignments, problem sets, and the project will be submitted to gradescope.
Grading
Your Overall Numeric Grade
Your scores on the individual components of this course will weighted to obtain your course score. All appeals of grades on individual scores must be made within one week of the grade being available. The following table represents this weighting of components.
| Category | Weight |
| Project | 20% |
| Programming Assignments | 20% |
| Problem Sets | 20% |
| Midterm 1 | 12.5% |
| Midterm 2 | 12.5% |
| Final Exam | 15% |
| Total | 100% |
Letter Grades
Letter grades will follow the Official University of Rochester Grading Scheme. Note that the University scheme puts “average” somewhere between C and B.
| A: Excellent | >=93% |
| A-: | >=90% |
| B+: | >=87% |
| B: Above Average | >=83% |
| B-: | >=80% |
| C+: | >=77% |
| C: | >=73% |
| C-: Minimum satisfactory grade | >=70% |
| D: UG Minimum passing grade, Grads convert to E | >=60% |
| E: | <60% |
Policies
Academic Honesty
Do not misrepresent someone (or something) else's work as your own.
All assignments and activities associated with this course must be performed in accordance with the University of Rochester’s Academic Honesty Policy. More information is available at: www.rochester.edu/college/honesty
All incidents of academic dishonesty will be reported. This is because academic dishonesty is harmful to the entire university community, AND because it is the explicit requirement of the University of Rochester Academic Honesty Policy.
Artificial Intelligence
Do not misrepresent AI generated work as your own. You should not use AI to complete whole assignments for this course. You may use AI to explore course topics at the level of ideas and examples. You may use AI to help you improve your writing, or to improve your ability to write programs; however, you should not use it to directly complete the tasks of the assignments. Submission of uncited AI generated work will be considered an act of academic dishonesty.
Late work
No late work will be accepted without prior approval from the instructor. If you are unable to complete your work on time, please submit what you have before the deadline in order to be considered for partial credit. If there are serious conflicts (e.g., varsity travel, serious illness) please contact the instructor well in advance.
Disability Resources
The University of Rochester respects and welcomes students of all backgrounds and abilities. In the event you encounter any barrier(s) to full participation in this course due to the impact of disability, please contact the Office of Disability Resources. The access coordinators in the Office of Disability Resources can meet with you to discuss the barriers you are experiencing and explain the eligibility process for establishing academic accommodations. You can reach the Office of Disability Resources at: disability@rochester.edu; (585) 276-5075; Taylor Hall.
Students with an accommodation for any aspect of the course must make arrangements in advance through the Disability Resources office. Then, as instructed by the office, contact the instructor to confirm your arrangements.
Policy Revisions
The instructor hopes that these policies are stable and fixed; however, they may be modified during the semester according to changing circumstances. Any modifications will be communicated clearly to students and updated on this page.
Schedule
| Date | DoW | Topic | Reading |
| Aug 26 | T | Machine Learning | DL 1.1-1.3 |
| Aug 28 | R | Probability and Information | "DL 2.1-2.3, 2.5-2.6; 3.1-3.2;" |
| Sep 2 | T | Regression and Classification | DL 4.1-4.3; 5.1-5.4; Appx A |
| Sep 4 | R | Multilayer Perceptrons | DL 6.1-6.4; 8.1 |
| Sep 9 | T | Gradient Descent | DL 7.1-7.4; 8.1-8.2; 9.2-9.3 |
| Sep 11 | R | Convolutional Neural Networks | "DL 9.1, 10.1-10.5" |
| Sep 16 | T | Transformers | DL 12.1 |
| Sep 18 | R | Large Language Models | DL 12.2-12.4 |
| Sep 23 | T | Non-parametric Methods | DL 3.5 |
| Sep 25 | R | Max Margin Classifiers | PRML 7.1 |
| Sep 30 | T | The Kernel Trick | PRML 6.1; Appx E |
| Oct 2 | R | Review | |
| Oct 7 | T | Quiz 1 | |
| Oct 9 | R | Quiz Solutions | |
| Oct 14 | T | Fall break. | |
| Oct 16 | R | Conditional Independence | PRML 8.1-8.2; (DL 11.1-11.2) |
| Oct 21 | T | Markov Random Fields | PRML 8.3-8.4 |
| Oct 23 | R | Sampling Algorithms | ITLA 29.1-29.3; (DL 14.1-14.2) |
| Oct 28 | T | Metropolis-Hastings | ITLA 29.4-29.5; |
| Oct 30 | R | Clustering Algorithms | DL 15.1-15.3 |
| Nov 4 | T | Expectation Maximization | DL 15.4 |
| Nov 6 | R | Principle Component Analysis | DL 16.1 |
| Nov 11 | T | Reinforcement Learning | RLIA Ch 1-3 |
| Nov 13 | R | Q-Learning | RLIA Ch 4 |
| Nov 18 | T | Review | |
| Nov 20 | R | Quiz 2 | |
| Nov 25 | T | Quiz solutions | |
| Nov 27 | R | No class (Thanksgiving) | |
| Dec 2 | T | Symposium | |
| Dec 4 | R | Symposium | |
| Dec 17 | W | Final Quiz |