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 keep phones away during class and use a computer only when the class activity calls for one.

The weekly rhythm

CMC’s workload standard for a one-unit course is nine hours each week, including time in class. 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 based on the points you earn in four categories.

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

Problem sets. Learning mathematics requires practice. You receive credit for submitting complete work and for explaining a randomly selected problem to the grader during each problem-set cycle.

Quizzes. Short, five-minute quizzes will take place at the beginning of selected classes. 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. 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. 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 93 90 87 83 80 77 73 70 67 63 60 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.