Fall 2026
  • Discord
  • Gradescope
  • Syllabus
  • Spring 2026

CSCI 145: Syllabus

Course Purpose

This course covers the mathematics behind machine learning, from linear regression to neural networks and reinforcement learning. We will use probability to describe data and uncertainty, linear algebra to write down models, and optimization to fit their parameters. For each method, we will work through the derivations, try it in code, and study how to evaluate the results.

By the end of the course, you should be able to:

Prerequisites: Linear Algebra (MATH 60 or CSCI 48 or equivalent) and Data Structures and Advanced Programming (CSCI 62 or equivalent).

Meetings, Resources, and Communication

We meet Mondays and Wednesdays from 2:45 to 4:00pm in Robert Day 126. My office hours are Tuesdays from 1:00 to 4:00pm in Adams Hall 213.

Each topic has a reading on this site. Read it before class or afterward if the lecture is not crystal clear. Assignments and grades are on Gradescope. Please post course questions on the class Discord, either in the appropriate public channel or in a direct message to me. Public questions help everyone, but please do not post complete assignment solutions.

Electronic Devices: Phones and unrelated computer use are distracting to you and to people around you. Please do not use either during class.

The Weekly Rhythm

The CMC Faculty Handbook, section 5.4.2 expects students to study at least two to three hours for every hour in class. Because this course meets for 2.5 hours, nine hours total each week, including class, is a good target for most students. A typical week should look like this:

Activity Typical Time
Attend both class meetings and participate 2.5 hours
Read the topic page and review the notes 1.5 hours
Work on the problem set across several days 4 hours
Prepare for quizzes or advance the project 1 hour
Total 9 hours

Start each problem set on your own, well before it is due. Work for a while, leave it, and return on another day before asking for help or comparing ideas. Repeated effort over several days improves recall and problem solving and gives you time to identify gaps in your understanding.

Grading

Percent Category What It Measures
15% Problem sets Regular written practice and your ability to explain selected solutions
15% Quizzes Short assessments, approximately weekly
50% Exams Two in-class midterms, each covering about half the course (noncumulative)
20% Project Choosing a useful question, analyzing it with AI-assisted code, and explaining the answer with evidence

Roughly one third of the problem-set grade comes from submitting complete, good-faith attempts, and two thirds comes from demonstrating your understanding in brief conversations with the grader. During a conversation, the grader will select one of your recent assigned problems at random and ask you to explain your reasoning and answer a related question. Keep your submitted work and be prepared to explain each solution. Scheduling details will be announced in class.

Your total grade determines your letter grade. The highest threshold you meet determines the grade:

Grade A A- B+ B B- C+ C C- D+ D D- F
Minimum Percentage 93% 90% 87% 83% 80% 77% 73% 70% 67% 63% 60% 0

Late Work and Missed Assessments

You have a single 48-hour, no-questions-asked late bank shared across all problem sets for the entire course. It does not apply to quizzes, exams, or projects. Gradescope timestamps determine the elapsed time, and you do not need to email me before using the bank. After you exhaust the bank, every additional 24 hours of lateness deducts one percentage point from your overall course grade. If illness, an emergency, a religious observance, or college travel affects your coursework, contact me as soon as reasonably possible.

Academic Honesty

You are welcome to discuss course ideas and problem-solving approaches with other students. After a discussion, write your own solution in your own words and make sure you can explain every step.

LLMs can be useful for explaining an error message, reviewing a definition, or suggesting a test case. Do not ask an LLM to solve a problem-set question or write a derivation that you submit. These assignments build your ability to reason through the material. For the project, you may use LLMs extensively to write and revise code. You remain responsible for choosing the question, checking the analysis, understanding what the code does, and presenting claims that the evidence supports. Record this help in the project’s AI_USAGE.md file.

Accommodations

If you have a Letter of Accommodation, please contact me as early in the semester as possible. If you do not have a letter and believe you may be eligible, please contact Accessibility Services at accessibilityservices@cmc.edu. I want you to have a fair opportunity to learn and demonstrate what you know.