6.102: Software Construction
Spring 2026 · Course Staff · Tues & Thurs 9:30-11am in 26-100
Announcements
Mon Apr 27: Project iter0 and ps4 beta deadlines
Iteration #0 of the project is due at 9pm tomorrow evening, and your team should be prepared to discuss everyone’s status (accomplished, planned, and blocking) at the check-in meeting during class time tomorrow morning.
-and-
Problem Set 4 beta is due at 9pm Wednesday evening.
Sun Apr 26: Problem Set 4 alpha reports
First, please fill out the required Problem Set 4 midpoint reflection, which asks a few questions about how you have worked on ps4 so far. It should take only a minute or two to complete.
After that, your alpha grade report for ps4 will become available on Omnivore, with links to test results and code reviews.
You will see staff comments about some specific parts of your problem set, as well as code review comments from humans or marked #important by Checkstyle. As you revise for the beta, you should not just address those specific comments in the specific places they refer to, but generalize the feedback to improve the rest of your code and documentation as well.
Read all the feedback. If a staff comment says you should fix something, then fix it, even if no points were lost: unfixed problems may lose points on the beta.
The ps4 beta deadline is Wednesday, April 29.
For help, please ask questions on Piazza and visit lab or office hours.
Thu Apr 23: Problem Set 4 code review & beta deadlines shifted
The deadline for ps4 code reviewing has been changed to this Sunday at 12noon.
-and-
The deadline for ps4 beta has been changed to Wednesday, April 29, at 9pm. You can still apply up to two slack days to that deadline, and we have added lab hours on Friday, May 1, 3-5pm to the calendar.
Wed Apr 22: Project groups
Your project team and TA mentor for the group project are now posted on Omnivore.
If you don’t already know your group members, email them now to introduce yourself.
Exercises in the project handout and in the linked Git 3: Team Version Control reading are due at 9pm tonight.
We will start class tomorrow with a very brief project kickoff. Then you will meet with your team, check in with your TA mentor, create your group repo, write a team contract, and start working on the project. The team contract is due by the end of class.
You must check in with your TA mentor tomorrow and in every class time during the project. For the next two weeks, classtime is devoted to working on the project.
Mon Apr 20: Project (and team version control)
If you have not already filled out the project signup form, you must do that right away. If you do not fill out the form, you will not be added to a project group.
The project handout is now available.
By 9pm Wednesday night: read through the handout and complete the exercises, both in the handout itself and in the linked Git 3: Team Version Control reading.
You cannot start work on the project itself yet, because team assignments are not done! (Work on ps4 alpha, ps4 code reviewing, and/or ps4 beta instead.)
Before work can begin, you must meet with your team, create your group repo, and write a team contract: all of those will happen during class this Thursday.
You also will meet and check in with your TA mentor on Thursday and in every class time during the project. Watch for an announcement this Wednesday that will include team and TA mentor assignments.
Mon Apr 20: Problem Set 4 alpha due 9pm tomorrow
Problem Set 4 alpha is due at 9pm today tomorrow.
Because the due date is shifted, you can use at most 1 slack day on this deadline.
Pay attention to the Iterative Development Recommendation, and also keep in mind that Didit can take much longer to process ps4 than previous problem sets, so we cannot guarantee a timely Didit build as 9pm approaches.
Code reviewing for ps4 will open for you the morning after your deadline. If you meant to use a slack day but forgot to change your deadline in advance, do not start code reviewing and see here right away. Note that ps4 alpha and beta are the last deadlines where you can use slack days.
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
- Git 3: Team Version Control due Wed Apr 22
- 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 code due Mon Apr 6
- 16: Mutual Exclusion code due Wed Apr 8
- 17: Callbacks & Graphical User Interfaces code due Mon Apr 13
- 18: Message-Passing & Networking code due Wed Apr 15
- 19: Little Languages code 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 Sun Apr 26beta due Wed Apr 29
Project
- Star Battle reading due Wed Apr 22team contract due Thu Apr 23iteration 0 due Tue Apr 28iteration 1 due Tue May 5project due Fri May 8reflection due Fri May 8