CS2680 Modern AI Systems: Agents and System Optimizations
Course Policy and FAQ

Grading Breakdown

Component Weight
Assignment 1 — use an agent 10%
Assignment 2 — design an agent 14%
Assignment 3 — optimize the agent 20%
Assignment 4 — serve your own agent 10%
Assignment 5 — optimize the full stack 20%
Final Project — open-ended build, proposal through report 12%
Paper Presentation 12%
Class Participation — discussion plus the student sharing sessions 6%
Bonus (course feedback & problems AI cannot solve) up to 10%

The final project is worth 12%build a tool that does not already exist, for your research, your studies, your week, or as an extension of one of the assignments, that solves a problem no existing system solves — then measure it against the closest thing that does and say where it falls short. It is announced Oct 26, the proposal is due Oct 28 and the blog post Dec 8, and half of it — 6% — is scored by four classmates at the poster session, where you in turn review four projects. It carries the weight the cache competition used to hold; that page stays up for reference but is not running this semester. There is no exam — no midterm and no final; the six assignments are the assessment, and the last one is due in the final week of classes. 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.


Late Days

You have four late days for the semester, to spend as you like across the six assignments. Late days are counted in whole days: a submission one minute past the deadline consumes one full late day.

For Assignment 3, Assignment 5 and the project, the write-up is a published blog post and the deadline is the moment the pull request is open — not the moment it is merged. Review is our turnaround and you are not charged a late day for it. Late days are counted from when the PR appears.

Assignment 2's problem set is the one place a late day costs you something a late day cannot give back. Late days apply to it as normal and it is graded as normal, but the class's problems are pooled shortly after the deadline to build the grading set for Assignments 3, 4 and 5 — so a set that arrives after the pool closes simply is not used. That does not change your mark; it does mean none of your four problems make it into the course.

  • Late days are per student.
  • Once your late days are exhausted, late work loses 20% of its value per day, to a floor of zero after five days.
  • Late days cannot be applied to paper presentations, the student sharing sessions, or the final project poster session and the four peer reviews due that evening — these are tied to a fixed slot and cannot be moved.
  • If something serious comes up (illness, family emergency, accommodation needs), email the instructor. We would much rather hear from you early than grade you down late.

Regrade Requests

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.


Attending Guest Speakers' Lectures

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.


Bonus Points

Up to 10% of bonus credit is available, from two sources.

  • Course feedback — 5%. Substantive feedback on lectures, readings, assignments, or the pacing of the course, submitted during the semester while it can still be acted on. Feedback after the course ends helps the next cohort but cannot help you, so send it early. Critical feedback is worth the same as praise; it is usually worth more.
  • Problems current AI cannot solve — 2% each. Find a question in this course's subject area that ChatGPT, Claude, and Gemini all get wrong — either they cannot solve it, or they answer confidently from expired knowledge.

What counts as an AI-stumper submission

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:

  • The exact prompt, reproducible verbatim.
  • The responses from all three models, with the date and the model version you used.
  • The correct answer, with evidence — a primary source, a specification, or a measurement you took yourself.
  • A sentence on why the models failed: genuinely unsolved, out-of-date training data, a plausible-sounding fabrication, or a reasoning failure.
The bar: your answer must be right. A submission where the models were correct and you were not earns nothing — and checking that carefully before submitting is most of the exercise. Questions that are merely obscure trivia do not count; the question should matter to someone building these systems.

AI Use Policy

You may use AI tools throughout this course. This is a course about the systems underneath these tools, and pretending they do not exist would be strange. In the assignments you are required to: all five are done with Claude Code, on an account Harvard FAS provides. Four 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.

Hand in the record. Each assignment submission takes three artifacts: your code, the write-up — a PDF report for Assignments 1, 2 and 4, a published blog post for 3 and 5 — and an archive of your Claude Code session files. We read these to see how the class is working with an agent and to give you feedback on it, and they may be used in grading as the evidence behind the process claims in your write-up. They add no separate weight to the breakdown above.

Keep secrets out of them. A session file records every file the agent read and every command it ran, not just what you typed; the rule for keeping credentials and private information out of it is on the Claude Code page. If some part of your work genuinely cannot be shown to us, say so before the deadline rather than after.

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 and Laptop Use

Attendance is expected. Participation is 6% of the grade and cannot be earned from an empty seat. Paper discussion sessions in the second half of the semester 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.


Religious and Spiritual Observance

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 semester, and to communicate anticipated conflicts early whenever possible.

Concretely, in this course:

  • Presentations. The late-day policy says paper presentations cannot be moved, because they are tied to a class slot. Religious observance is an exception — tell me early and I will schedule you into a different session.
  • Deadlines. Assignment deadlines can be shifted for an observance without spending any of your late days.
  • Participation. An absence for religious observance does not count against the participation component of your grade.

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.


Academic Integrity

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.

Half the final project is peer-scored, which puts two more items on that list: agreeing with somebody to trade favourable scores, and marking somebody down over a critical review you believe was theirs. Reviews are anonymous to the presenter and signed to the instructor for exactly that reason.

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.


All Students Welcome

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 semester as possible, ideally within the first two weeks.


Auditing the Course

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 assignments and are not graded.


Well-Being and Mental Health

Graduate systems courses have a way of expanding to fill all available time. The five assignments are substantial, and the final project runs on top of the last of them — so scope the project to what the weeks actually hold rather than to what you would like it to be. If the workload is becoming unmanageable, talk to the instructor before it becomes a crisis; project scope in particular can usually be adjusted.

Harvard has resources available at any hour:

Your health matters more than any deadline on this page.


Frequently Asked Questions

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.

What are the prerequisites for this course?

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.

Do I need to know CUDA?

No, and no assignment requires it. One meeting covers GPU architecture, the memory hierarchy, and Triton kernel programming (Sep 28), and a second covers attention kernels and the roofline (Sep 30) — enough to reason about serving cost and to take the kernel-level optimization path in Assignment 5 if you want it. There are other paths that do not need it, and nothing assumes prior CUDA experience.

Is this a machine learning course?

No. Model quality matters here as a constraint and a measured outcome, not as the course's central object of study. We ask what it costs to train and serve a model, and how a systems change moves cost, latency, throughput, or task success. 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.

What programming languages will be used?

Python and PyTorch for most work, Triton if you go down the kernel path, and some C/C++ if your work takes you into a runtime. Reading code is at least as important as writing it here.

Is attendance mandatory?

Attendance is expected and participation is 6% 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.

Will lectures be recorded?

To be confirmed. Guest lectures will not be recorded unless the speaker agrees.

Can I use AI tools in this course?

Yes — and in the assignments you must: all five are done with Claude Code, on an account Harvard FAS provides. Four conditions: disclose what you used, submit an archive of your session files with each assignment, keep credentials and private information out of it, 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.

Can I audit the course?

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.

Is there an exam?

No — no midterm and no final. The grade is Assignments 1, 2, and 4 (10% each), the two optimization assignments, 3 and 5 (20% each), the final project (12%), your paper presentation (12%), and class participation (6%). The project is what closes the semester instead of an exam. See the grading breakdown.

Can I work with team members on the final project?

Yes — teams of two or three work best. Teams submit one report and one repository with a short statement of who did what, and everyone on the team gets the same mark unless that statement says otherwise. The five assignments are individual.

My classmates grade half my project? What if one of them is unfair?

Half the project's 12% comes from four randomly assigned classmates at the poster session, and you score four projects yourself. Three things blunt the obvious worry. Your score is the median of the four, not the mean, so one outlier cannot decide it. Every review is signed to the instructor, who reads all four and can override a score the written feedback does not support. And a review that is all top marks with no writing does not count as submitted — each review you skip costs you a quarter of your own peer-evaluated credit. The project page has the rubric your peers will use, which is worth reading before you design the poster rather than after.

Do I need my own GPUs?

No. The course has its own GPU partition on the HPC, and CloudLab covers projects that need a whole machine — setup for both, plus AWS and Claude Code, is on the computing setup page. The assignments are sized for a single GPU, and a project scoped to one GPU is a perfectly good project — scope your work to the hardware you can actually get, and start early, because queue time is real.

Can the final project overlap with my research?

Yes, and it often makes for the best projects. Say so in the proposal, and be clear about which part of the work is new for this course — you cannot submit something you had already finished. The project page is built around exactly this: a tool for your own research or your own week, judged on whether it fills a gap nothing else fills, not on novelty.

What are the student sharing sessions?

Class meetings given over to students presenting what they built for the assignment that just came due; the assignments page has the dates. Assignment 2 is the one that does not get a session: it is the design assignment, and its material comes back in Assignment 3. Short, informal, and not separately graded; they count toward the 6% participation component. Bring something that runs and one number you did not expect. A result that did not work is as useful to the room as one that did.

How much work is this course?

Plan on the reading (one to two papers per discussion class) plus the five assignments, which are substantial and spaced roughly two weeks apart, with a longer window for Assignment 5 and a short second deliverable inside Assignment 2. Assignments 4 and 5 dominate the second half of the semester; start them the week they come out rather than the week they are due.

Budget beyond that for self-directed work. This course will not teach you every piece of knowledge you need for the assignments — it focuses instead on the skills to learn with, and points you in directions worth going. Expect to spend a significant amount of time learning and experimenting on your own after class; if you want an A, plan on it.

Are there recommended resources beyond the readings?

Yes — OSTEP for systems background, the Ultra-Scale Playbook for distributed training, the CUDA programming guide for GPU details — it is the reference behind the GPU programming meeting — and the compute resources list on the final project page.

My question is not here.

Email the instructor or come to office hours. If it is a good question it will end up on this page.