Fall 2026
  • Discord
  • Gradescope
  • Syllabus
  • Spring 2026

CSCI 145: Syllabus

Course purpose

Modern artificial intelligence uses the same mathematical and algorithmic tools again and again. This course is organized around that fact. Probability gives us a language for uncertainty, linear algebra gives us a language for data, loss functions tell us what a model should do, and optimization tells us how to fit it. We will build those tools carefully, then revisit them in linear models, neural networks, low-rank methods, convolutional networks, transformers, and reinforcement learning.

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

  • translate a modeling question into mathematical assumptions, an objective, and an algorithm;
  • derive and implement the core methods we study;
  • explain how probability, linear algebra, and optimization reappear across different models;
  • evaluate a model and distinguish successful optimization from successful generalization; and
  • read the mathematical description of a new method and connect it to tools you already know.

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.

There is no textbook to buy. Each topic has a reading on this site, and reading it before class will make the discussion and derivations much easier to follow. 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.

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, use nine hours total each week, including class, as a typical planning target. A typical week in this course should look like this:

Activity Typical time
Attend both class meetings and participate 2.5 hours
Read before class and review the notes afterward 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

The balance will shift during exam and project weeks, but the total is a useful planning target. 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 strengthens the neural pathways involved in recall and problem solving. It also gives you time to notice exactly where your understanding breaks down.

Most topics follow the same cycle. You read before class, we develop and test the ideas together, and you practice them on a problem set. Problem sets are grouped into three-week cycles. Once per cycle, you will meet with a grader and present one problem selected at random from your work. The recurring structure is intentional: the same foundational tools should become easier to recognize each time they return.

Grading

Your course grade is the sum of 500 unweighted course points. Every point is worth \(0.2\%\) of the final grade, regardless of the assignment on which you earn it. The categories below summarize where the points come from; they are not reweighted at the end of the semester.

Category Course points What it measures
Problem sets 75 Regular practice and your ability to explain a selected solution
Quizzes 75 Short checks of the ideas practiced in the problem sets
Exams 250 Correct, independent work across each half of the course
Project 100 Applying one course method to a dataset and explaining the result
Total 500

Problem sets. Learning mathematics requires practice. Each of the 25 written problems is worth 2 points, for 50 points total. The five cycles are Problems 1 through 5, 6 through 10, 11 through 15, 16 through 20, and 21 through 25. At the end of each cycle, you will explain one randomly selected problem to the grader for 5 additional points, for 25 presentation points total.

Quizzes. One 5-point, five-minute quiz will take place each instructional week, for 15 quizzes total. Except for the first-week onboarding quiz, each quiz covers the two most recently completed topics. In an ordinary week these are the prior week’s two topics; holidays and exam days can cause one older topic to appear again. They draw directly on recent problem-set ideas and help you check your understanding before an exam.

Exams. There are two in-person exams, one covering each half of the course. Each exam is worth 125 points. You may bring one double-sided sheet of notes, but you may not use electronic devices.

Project. For the final project, you will implement a course algorithm on a dataset you choose, write a report about the results and what you learned, and present the work to the class. The proposal is worth 25 points, the presentation package is worth 25 points, and the final notebook and report are worth 50 points. Projects are individual unless we agree on another arrangement in advance.

Your total points determine 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 points 465 450 435 415 400 385 365 350 335 315 300 0

Late work and missed assessments

You have a 48-hour, no-questions-asked late bank for the semester. Every hour that a take-home assignment is late comes from the same 48-hour total, so you may use the bank on one assignment or divide it across several. Gradescope timestamps determine the elapsed time, and you do not need to email me before using the bank. The bank applies to problem sets and the project, not to quizzes or exams. After the bank is exhausted, late work is not accepted unless you have an accommodation or we arranged an extension. If illness, an emergency, a religious observance, or college travel affects you beyond the bank, contact me as soon as reasonably possible.

If you must miss a quiz or exam for one of those reasons, contact me as soon as reasonably possible so that we can arrange a makeup or an equivalent assessment.

Collaboration and large language models

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. Do not copy a completed solution from a person, website, or model.

LLMs can be useful for explaining an error message, reviewing a definition, suggesting a test case, or helping with a small piece of project code that you can check. Do not ask an LLM to solve a problem-set question or write a derivation that you submit. Do not submit code or prose from an LLM unless you understand it and have verified it. The purpose of the assignments is to build your own ability to reason through the material.

Academic 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.