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

Grading Breakdown

Component Weight
Assignment 1 — use an agent 15%
Assignment 2 — design an agent 15%
Assignment 3 — serve your own agent 15%
Assignment 4 — optimize the full stack 15%
Cache Competition 10%
Final Exam — live agentic optimization sprint 20%
Paper Presentation 5%
Class Participation — discussion plus the four student sharing sessions 5%
Bonus (course feedback & problems AI cannot solve) up to 10%

There is no graded course project. The open-ended build it used to carry now lives as an ungraded optional project, for students who want it; its former weight sits on the four assignments and the final exam. The final exam is a three-hour hands-on sprint, not a written paper — see the exam policy below and the exam page. 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.


Final Exam

The final exam is worth 20% and is a hands-on session, not a written paper. You bring the agentic system you built in Assignment 4, receive a task it has never seen, and have roughly three hours to adapt it while the class competes on accuracy and speed. Full format, rules, and scoring are on the exam page.

  • When. Scheduled by the registrar in the December exam period. Do not book travel out of Cambridge before the exam schedule is published.
  • In person and individual. No collaboration with other students during the session. Any static resource is fair game: your own code, notes, documentation, papers, the open web.
  • AI coding assistants are allowed in the room under the usual disclosure requirement, for writing and debugging your code. They may not run inside the graded agent loop, which must be served on your own exam machine.
  • Late days do not apply — the exam is a fixed slot and cannot be moved individually.
  • Conflicts and accommodations. Registrar-recognised exam conflicts, religious observance, and DAO accommodations are all handled by arranging an alternate sitting. Contact the instructor as soon as the date is posted rather than in the final week; see religious observance for how observance requests are handled.
  • If your own system will not start, an unoptimized staff reference stack is on the exam image and you may use it without penalty. Nobody fails this exam because of a broken environment.

Late Days

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

  • 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 exam — 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 term 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, up to 5%. 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. 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 and Laptop Use

Attendance is expected. Participation is 5% 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.


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 term, 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.

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 term 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 four assignments are substantial, and the optional project makes it easy to overcommit on top of them — it is optional precisely so you can decline it. 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.


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. Lecture covers attention kernels and the roofline at the level needed to reason about serving cost; GPU architecture and Triton kernel programming are an optional track rather than lecture material. Work through that track if you want the kernel-level optimization path in Assignment 4 — there are other paths that do not need it.

Is this a machine learning course?

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.

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 5% 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, 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.

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?

Yes, but not a written one. There is no midterm. The final is a three-hour hands-on session in the December exam period: you bring your Assignment 4 system, are given a task it has never seen, and adapt it while the class competes on accuracy and speed. It is worth 20%; the rest is four assignments (15% each), the cache competition (10%), your paper presentation (5%), and class participation (5%). There is no graded course project. See the grading breakdown, the exam policy, and the exam page.

Can I study for the final exam?

Not by memorising anything — there is nothing to recite. You prepare by making your Assignment 4 system easy to change: task details as configuration rather than constants, profiling on by default, a tagged commit you can roll back to, and one rehearsal against a workload it was never tuned for. How to prepare spells this out.

Can I work with team members on the optional project?

Yes — teams of two or three work best. The optional project is ungraded, so team composition is entirely up to you; the four graded assignments are individual.

Do I need my own GPUs?

No. Compute will be available through FASRC and CloudLab; details are on the optional project page. The assignments and the cache competition are sized for a single GPU — scope your work to the hardware you can actually get, and start early, because queue time is real.

Can the optional project overlap with my research?

Yes, and it often makes for the best projects. Since it is ungraded there is nothing to declare — but tell the instructor what you are working on if you want feedback or compute.

What are the student sharing sessions?

Four class meetings — Oct 1, Oct 15, Oct 29, and Nov 24 — given over to students presenting what they built for the assignment that just came due. Short, informal, and not separately graded; they count toward the 5% 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 four assignments, which are substantial and spaced roughly three weeks apart. Assignments 3 and 4 dominate the second half of the term; start them the week they come out rather than the week they are due.

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 entry point for the optional GPU programming track — and the AI resources list on the optional 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.