6.102: Software Construction
Spring 2026 · Course Staff · Tues & Thurs 9:30-11am in 26-100
Announcements
Tue Apr 7: Problem Set 4
Problem Set 4 is now available. On PS4 we ask you to apply all the tools you have learned this semester in order to spec, test, and implement correct behavior for a concurrent system.
The Problem Set 4 alpha deadline is Tuesday, April 21. (Because the due date is shifted, you can use at most 1 slack day on ps4 alpha.)
Mon Apr 6: Problem Set 3 alpha due 9pm
Problem Set 3 alpha is due at 9pm this evening.
Pay attention to the Iterative Development Recommendation and make sure you are iterating end-to-end: pass the Didit public tests for the limited language, with solid testing and documentation, before you add more language features.
And remember, as noted in the Design Freedom and Restrictions box at the top of the problem set, that we cannot guarantee a timely Didit build at 8:59pm.
Thu Apr 2: Problem Set 2 beta reports
Please fill out the Problem Set 2 reflection, which asks a few questions about how you worked on ps2. It should take only a minute or two to complete.
After that, your beta grade report and overall ps2 grade will become available on Omnivore, including your beta autograde and beta manual grading feedback.
If you have questions, please see the FAQ about grading questions.
Tue Mar 31: Exam 1 grades
Exam 1 grades are now available on Omnivore.
You can review your graded exam on Gradescope. You will receive an email from Gradescope, and if you haven’t used it in another class, the email will explain how to log in.
Exam 1 solutions are posted on the web site. Grade distribution statistics are included in the email from Gradescope.
If you see an objective mistake in grading your exam against the rubric, you can submit a regrade request using Gradescope. Regrade requests must be submitted by Tuesday Apr 7 at 9pm. Please see the Grading section of General Info and bring any other grading issues to instructor office hours. Piazza and lab hours can be used to ask for help with understanding what you did wrong, but not for regrade requests.
Wed Mar 18: Exam 1 tomorrow
Exam 1 will be tomorrow, Thursday, 9:35-10:55am.
Please visit the Exam 1 page now to preview the exam instructions.
You must go to your assigned room and/or seating section as shown on the exam page. Bring your laptop with a fully-charged battery.
As announced previously, the exam is closed-book, but you may bring a single 8.5×11″ double-sided page of notes, handwritten directly on paper (not created with a computer or tablet, not printed out or photocopied). Blank scratch paper is also allowed. You may not access any other materials, sites, tools, etc. during the exam.
General
- General information
- Collaboration and public sharing
- Code reviewing
Calendar
semester view: deadlines and quiz dates
week view: this week’s classes, lab hours, office hours
Tools
- Git 1: Version Control due Mon Feb 9
- Git 2: Disaster Recovery due Mon Feb 23
- Basic TypeScript due Mon Feb 9
Readings
- 01: Static Checking code due Wed Feb 4
- 02: Testing code due Wed Feb 4
- 03: Code Review code due Mon Feb 9
- 04: Specifications code due Wed Feb 11
- 05: Designing Specifications code due Wed Feb 18
- 06: Abstract Data Types due Mon Feb 23
- 07: Abstraction Functions & Rep Invariants code due Wed Feb 25
- 08: Interfaces & Subtyping code due Mon Mar 2
- 09: Equality code due Wed Mar 4
- 10: Functional Programming code due Mon Mar 9
- 11: Recursive Data Types code due Wed Mar 11
- 12: Grammars & Parsing code due Mon Mar 16
- 13: Debugging code due Mon Mar 30
- 14: Concurrency code due Wed Apr 1
- 15: Promises due Mon Apr 6
- 16: Mutual Exclusion due Wed Apr 8
- 17: Callbacks & Graphical User Interfaces due Mon Apr 13
- 18: Message-Passing & Networking due Wed Apr 15
- 19: Little Languages due Mon Apr 20
Problem Sets
- PS0: Turtle Graphics alpha due Mon Feb 9code review due Fri Feb 13beta due Tue Feb 17
- PS1: Specific Graphics alpha due Mon Feb 23code review due Fri Feb 27beta due Mon Mar 2
- PS2: Multi-Startup Set alpha due Mon Mar 9code review due Fri Mar 13beta due Mon Mar 16
- PS3: Memely alpha due Mon Apr 6code review due Fri Apr 10beta due Mon Apr 13
- PS4: Memory Scramble alpha due Tue Apr 21code review due Fri Apr 24beta due Mon Apr 27