| Component | Weight |
|---|---|
| Assignment 1 — build something with an agent | 10% |
| Assignment 2 — build an agent | 10% |
| Assignment 3 — make your agent 3× cheaper | 10% |
| Project Proposal | 5% |
| Project Checkpoint | 5% |
| Project Presentation | 10% |
| Final Project Report | 20% |
| Cache Competition | 10% |
| Paper Presentation | 10% |
| Class Participation | 10% |
| Bonus (course feedback & problems AI cannot solve) | up to 10% |
The four project components add up to the 40% project weight listed on the home page. There is no exam in this course. There is no curve set in advance; if the class as a whole finds an assessment harder than intended, the instructor may adjust upward, never downward.
You have four late days for the semester, to spend as you like across the three assignments and the project proposal, checkpoint, and final report. Late days are counted in whole days: a submission one minute past the deadline consumes one full late day.
Regrade requests are accepted for seven days after grades are released. Submit them in writing (Canvas or email) with a specific explanation of what you believe was misgraded and why. Please do not open a regrade request over a single point — use it when you think a substantive part of your work was misread.
A regrade is a re-evaluation of the entire question or artifact, not just the disputed part, so your score may go up or down.
We plan to host guest speakers from industry who build the systems we study. These are among the most valuable sessions of the course and attendance is expected. Please come with questions — the speakers are giving up their time and a silent room is a wasted opportunity.
Recording, photographing, or redistributing guest lectures is not permitted unless the speaker explicitly agrees.
Up to 10% of bonus credit is available, from two sources.
This field moves faster than model training runs, so a great deal of what these systems "know" about GPUs, serving frameworks, and kernel APIs is quietly out of date. Finding those gaps is a genuinely useful skill and it is the point of this exercise. A submission needs all four of:
You may use AI tools throughout this course, including for the project. This is a course about the systems underneath these tools, and pretending they do not exist would be strange. Two conditions apply.
Disclose. Every submitted artifact must include a short note describing which tools you used and for what — a couple of sentences is enough. Undisclosed AI use is an integrity violation; disclosed AI use never is.
Own it. You are responsible for everything you submit. If an AI tool generates code with a subtle bug, a benchmark with a methodological flaw, or a claim about a paper that the paper does not make, that is your error. In discussion, in your presentation, and in questions afterwards, you will be expected to explain your own work without assistance — which is, in practice, the check that matters.
Attendance is expected. Participation is 10% of the grade and cannot be earned from an empty seat. Paper discussion sessions in the second half of the term depend on the room having read the paper — a discussion class with an unprepared audience does not work.
Laptops and tablets are welcome for note-taking and for following along with code. Please keep them closed during student presentations and guest lectures; presenting to a wall of screens is dispiriting, and your classmates deserve the same attention you will want when it is your turn.
If you must miss a class, no permission is needed — but let the instructor know in advance if it falls on a day you are presenting.
Harvard supports students in observing their religious and spiritual traditions while participating fully in their academic work. If a religious or spiritual observance conflicts with a class meeting, an assignment, or any other course requirement, please contact me as early as possible so that we can try to identify an appropriate academic flexibility consistent with course requirements and University policies.
Because observances and practices vary across traditions and individuals, you do not need to limit requests to dates included on a published religious calendar. Students are encouraged to review the Harvard Multifaith Calendar and the Harvard Chaplains resources at the beginning of the term, and to communicate anticipated conflicts early whenever possible.
Concretely, in this course:
You do not need to explain or justify your tradition or your practice to me. “I have a religious observance on date” is a complete request.
Discussing ideas with classmates is encouraged. Reading papers together, arguing about a design, and debugging alongside each other are all part of how systems work gets done.
What is not acceptable: submitting work you did not do, copying text or code without attribution, fabricating experimental results, or misrepresenting what a measurement shows. Fabricated numbers are the one thing in this course that will be treated as a serious violation without exception — a systems paper whose evaluation cannot be trusted is worthless, and the same holds here.
Cite your sources: papers, blog posts, repositories, and AI tools alike. All work is subject to the Harvard College Honor Code and to GSAS academic integrity policy where applicable.
This course is intended for students of all backgrounds. Students come to AI systems from machine learning, from operating systems, from architecture, and from industry, and the mix is what makes the discussions good. Nobody arrives knowing all of it.
If anything about the course — its pace, its assumptions about prior knowledge, its examples — is making it harder for you to participate, please tell the instructor. That feedback is genuinely useful and it will be acted on.
Students needing academic accommodations should contact the Disability Access Office and let the instructor know as early in the term as possible, ideally within the first two weeks.
Auditors are welcome if there is room. Please email the instructor before the first class. Auditors are expected to do the reading for discussion sessions they attend — the discussion format depends on it — but do not submit projects and are not graded.
Graduate systems courses have a way of expanding to fill all available time. This one has a substantial project and it is possible to overcommit. If the workload is becoming unmanageable, talk to the instructor before it becomes a crisis — scope can usually be adjusted.
Harvard has resources available at any hour:
Your health matters more than any deadline on this page.
Questions that come up most often. If yours is not here, email the instructor or come to office hours — if it is a good question it will end up on this page.
At least one of CS61, CS1610, or CS2620. What actually matters is that you are comfortable reasoning about memory, caches, and concurrency, and that you can read and write Python and PyTorch. Prior ML coursework helps but is not required — we care about the systems, not about training models to convergence.
No. We will cover what you need, and kernel work in the course uses Triton rather than raw CUDA. If you already know CUDA you will have an easier time in two lectures and a wider set of project options.
No. We never ask whether a model is accurate — we ask what it costs to train and serve. If you want to study architectures, objectives, or learning theory, this is the wrong course. If you want to know why inference is memory-bound and what anyone can do about it, this is the right one.
Python and PyTorch for most work, Triton for kernels, and some C/C++ if your project takes you into a runtime or the kernel. Reading code is at least as important as writing it here.
Attendance is expected and participation is 10% of the grade. The second half of the course is discussion based and does not work if the room has not read the paper. See the attendance policy.
To be confirmed. Guest lectures will not be recorded unless the speaker agrees.
Yes, subject to two conditions: disclose what you used, and take responsibility for the result. There is bonus credit for finding questions in this subject area that ChatGPT, Claude, and Gemini all get wrong. See the AI use policy.
Yes, if there is room — email the instructor before the first class. Auditors are expected to read the papers for any discussion session they attend.
No. There is no midterm and no final. Assessment is two agent-building assignments (10% each), the project (45%), the cache competition (10%), your paper presentation (15%), and class participation (10%). See the grading breakdown.
Yes — teams of two or three are expected. Solo projects need instructor approval and are held to a similar scope, so they are rarely a good idea. Teams of four are not permitted.
No. Compute will be available through FASRC and CloudLab; details are on the projects page. Many excellent projects run on a single GPU — scope the question to the hardware you can actually get, and start early, because queue time is real.
Yes, and it often makes for the best projects. Tell the instructor in the proposal what part is new for this course. You may not submit work already completed before the term.
A well-executed project that produces a negative result gets full credit. What is graded is the quality of the question, the rigor of the method, and the honesty of the reporting — not whether the number went up. Use the checkpoint to tell us early if something is not working.
Plan on the reading (one to two papers per discussion class) plus the project, which dominates the second half of the term. Teams that start the project in November have a hard time. Teams that start in October generally do not.
Yes — OSTEP for systems background, the Ultra-Scale Playbook for distributed training, the CUDA programming guide for GPU details, and the AI resources list on the projects page.
Email the instructor or come to office hours. If it is a good question it will end up on this page.