Exams
The format at a glance:
- 90% of your course grade comes from exams: three tests, each worth 20%, plus a comprehensive final exam worth 30%.
- Each test covers material up to and including the week before the week of the test; the final exam is comprehensive. See the Schedule for exact coverage.
- Tests are held at a dedicated evening time outside the regular class period, at Hackerman B17. See the Schedule for exact dates and times.
- A sample exam will be released closer to Test 1 so you know what to expect.
What an exam looks like
Tests and the final exam ask you to work through system design problems like the case studies and in-class activities we do together during the semester: given a set of requirements, produce a design and justify it. Expect a mix of:
- Short conceptual questions (e.g., explain a concept, compare two approaches)
- Design problems: given a scenario and a set of requirements, propose and justify a design
- Questions asking you to identify or evaluate the trade-offs of a given design
You take the exam on your own laptop at the scheduled time, in the assigned room. I (and any TAs) proctor the room in person. We use a secure exam platform, ExamFlow (see the Logistics page). You will be given access to it. You see the questions and write your answers in this platform, and submit your work through it at the end of the exam.
You may not consult notes, AI assistants, search engines, or any other source during the exam. The exam is closed-book.
During the exam
- Bring your J-card; you may be asked to present it for identification before the exam begins.
- Only your laptop, running ExamFlow, belongs on your desk. Phones, smartwatches, tablets, headphones, and the like are not allowed. Turn them off and put them away, not just on silent.
- The exam app runs fullscreen, so while the exam is active you will not be able to see anything else on your laptop.
- Keep the room quiet. If you have a question, raise your hand rather than speaking; I will come to you.
- Do not leave the room during the exam except with permission.
How proctoring works
The exam platform has some built-in security measures. For example, it notices things like tab switches. These exist to keep the exam fair for everyone, and they are not perfect: false positives happen.
If the app flags something during your exam, keep working. I may come and check on you to make sure it is nothing serious. In most cases the follow-up resolves the issue. A software flag is not itself evidence of misconduct. If a flag or something I observe raises a reasonable concern, I may ask to speak with you after the exam so that I can understand what happened. If I have reason to believe that you may have used unauthorized help, I may refer the case to the office of student conduct.
Your setup is your responsibility
Taking this course requires access to a working, charged laptop for regular lectures and exams. Before Test 1, complete any announced compatibility or setup check. Bring your charging cable to every exam. If you know in advance that you will not have access to a suitable laptop, contact me as early as possible so we can discuss available options.
If you experience a technical failure beyond your reasonable control during an exam, notify the proctor immediately. Depending on the circumstances, I may ask you to continue on paper or on a backup laptop, or make another arrangement.
Why tests are held outside class time
Tests are held at a dedicated time outside the regular 75-minute class period. A few reasons:
- The semester already loses several lecture days to holidays and breaks, and we have a lot of material to cover. We want to use the class period for instruction, not testing.
- A 75-minute class period does not leave enough room for a design problem that asks you to think through a system from requirements to architecture. If you count roughly 15 minutes of overhead, getting everyone set up and then collecting the exam at the end, a test held during class would only have about 60 minutes actually available. The two-hour evening window allows 80 to 90 minutes of working time, with the rest of the time left over for check-in, setup, submission, and any technical problems.
- We also do not want to put all the weight on a single high-stakes exam, so you take three tests spread across the semester in addition to the final.
Grading
Each test is worth 20% of your course grade, and the final exam is worth 30%; see the Syllabus for the full grade breakdown.
Because system design problems are often open-ended and do not have a single “right” answer, grading considers the correctness, completeness, approach, and justification of the design decisions you make, not just whether you arrived at a particular answer. Partial credit is available where your work shows partial progress or sound reasoning even if the final design is incomplete.
I do not apply a predetermined curve or adjust scores to produce a particular grade distribution. If a question proves ambiguous, defective, or materially more difficult than intended, I may revise its rubric, redistribute its points, or reduce the total points available. Any such adjustment is applied consistently to the class and will not reduce credit already earned.
Missed exams and conflicts
Missed assessments
If an unexpected circumstance prevents you from taking an exam at its scheduled time, contact me as soon as reasonably possible. Ordinarily, this should be within 24 hours, but I understand that some circumstances may make that impossible. Include reasonable verification when it is available.
My preference is not to give makeup exams, but missed exams will be handled on a case-by-case basis, consistent with university policy and any approved accommodations. If an exception is warranted, I may offer a makeup exam or excuse the missed exam and adjust the grade calculation accordingly. If an exception is not warranted, the missed exam will receive a score of zero.
Scheduling conflicts
Test dates, times, and locations are published in the Schedule from the beginning of the semester. Check the schedule during the first week of classes and contact me right away if you have a conflict. If a test conflicts with another course or with an obligation you committed to before classes started, contact me as soon as possible. Once classes have started, you are responsible for avoiding new conflicts, including interviews, travel, work, or other obligations.
A conflict that recurs across most or all test dates means the course’s assessment structure may not fit your academic schedule. Contact me immediately to determine whether any workable arrangement exists; you should not enroll in or remain in the course expecting repeated exceptions. If a test date turns out to conflict with something affecting many students, another course’s exam, for instance, I may move it for everyone, but that is something I decide for the class, not something I promise to any one student.
Students registered with SDS
If you are registered with Student Disability Services (SDS), contact me as early as possible, preferably at the start of the term or as soon as your accommodations are approved, so we can put them in place before your next test. If your accommodation includes extended time, I will try to arrange an alternate testing setup that I or a TA proctor directly, on the same test date. Where that is not possible, we will defer to the SDS testing center to schedule and proctor your extended-time test. Accommodations approved through SDS are administered per university policy; the rest of this section describes the default policy for everyone else, and does not limit or replace what SDS has approved for you.
Preparing for the exams
Please refer to the How to Study for This Course guide. The exam questions will, in most cases, resemble the case studies and in-class activities we work through together, so the best preparation is engaging with those seriously as they happen, and reviewing your own notes on them afterward.
If you want additional system-design practice beyond this course, there are many resources available online. A quick search will turn up plenty of system design interview preparation books, online courses, and more.