6.102: Software Construction
Spring 2025 · Course Staff · Tues & Thurs 9:30-11am in 26-100
Announcements
Thu May 22: Project, Quiz 2, and final grades
Project grades and feedback are now available on Omnivore.
Quiz 2 has been graded, and you will receive an email from Gradescope with a link to your graded quiz. Quiz 2 solutions are posted on the web site.
And final grades have been submitted to the registrar, they should become available on WebSIS soon.
Have a great summer, everyone!
Sun May 18: Quiz 2 tomorrow
Quiz 2 will be tomorrow, Monday, 1:30-3:30pm, in assigned rooms.
You can also visit Quiz 2 itself now to preview the quiz instructions.
You must go to your assigned room. Bring your laptop with a fully-charged battery.
As announced previously, the quiz is closed-book, but you may bring a single 8.5×11″ double-sided page of notes. This page must be handwritten, by you, directly on the 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 quiz.
Fri May 9: Problem Set 4 reflection and grades
First, please fill out the required Problem Set 4 reflection, which asks a few questions about how you worked on ps4. It should take only a minute to fill out.
After you have filled out the reflection, your overall ps4 grade and grade report will become visible on Omnivore, with new information at the end of the page about your beta autograde and beta manual grade.
If you have questions, please see the FAQ about grading questions.
Fri May 9: Project reflection and last class
The group project is due this evening at 10pm. Also due at 10pm is your individual reflection about the project, so please don’t forget to write and submit that reflection. It’s OK to submit the reflection a bit late if you’re wrapping up project work close to the deadline.
If your group needs last-minute help or TA advice, there are special lab hours today, 3-6pm, in 45-102 (note that this is not the usual lab room).
Tuesday will be the last 6.102 class of the semester. There is no reading or nanoquiz or classwork grade for Tuesday’s class. Instead, we will have a brief wrap-up and summary of the course.
Mon May 5: Quiz 2 during final exam period
Quiz 2 will be on Monday, May 19, 1:30pm-3:30pm. This is during the scheduled final exam period for 6.102, but the quiz is 2 hours long, so we will not use the entire scheduled final exam slot.
To get your quiz location, visit the quizzes page in Omnivore. You will only be able to check-in for the quiz in your assigned room.
Quiz 2 will have a similar format to Quiz 1 and will be in the same online system as Quiz 1 and the nanoquizzes. You will need your laptop, and your seat may not be near a power outlet, so make sure you can take the quiz on battery power.
The quiz will cover readings 1-19. Any concepts from any of those readings may appear on the quiz, but you can expect a greater focus on readings 11-19, since those were not covered by Quiz 1.
Quizzes from previous semesters can be found in the quiz archive, although their content and length may differ from this semester’s quiz.
The quiz is closed-book, closed-notes, and you may not use anything on your laptop other than the quiz site, but you may bring a single 8.5×11″ double-sided page of notes. This page must be handwritten directly on the paper (not created with a computer or tablet, not printed out or photocopied), must be readable without a magnifying glass, and must be created by you. Since the process of creating a crib sheet conveys most of its learning benefit, you may not share these notes or use someone else’s.
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 10
- Git 2: Disaster Recovery due Mon Feb 24
- Git 3: Team Version Control due Wed Apr 23
- Basic TypeScript due Mon Feb 10
Readings
- 01: Static Checking due Wed Feb 5
- 02: Testing due Wed Feb 5
- 03: Code Review due Mon Feb 10
- 04: Specifications due Wed Feb 12
- 05: Designing Specifications due Wed Feb 19
- 06: Abstract Data Types due Mon Feb 24
- 07: Abstraction Functions & Rep Invariants due Wed Feb 26
- 08: Interfaces & Subtyping due Mon Mar 3
- 09: Functional Programming due Wed Mar 5
- 10: Equality due Mon Mar 10
- 11: Recursive Data Types due Wed Mar 12
- 12: Grammars & Parsing due Mon Mar 17
- 13: Debugging due Mon Mar 31
- 14: Concurrency due Wed Apr 2
- 15: Promises due Mon Apr 7
- 16: Mutual Exclusion due Wed Apr 9
- 17: Callbacks & Graphical User Interfaces due Mon Apr 14
- 18: Message-Passing & Networking due Wed Apr 16
- 19: Little Languages due Mon Apr 21
Problem Sets
- PS0: Turtle Graphics alpha due Mon Feb 10code review due Fri Feb 14beta due Tue Feb 18
- PS1: Specific Graphics alpha due Mon Feb 24code review due Fri Feb 28beta due Mon Mar 17
- PS2: Multi-Startup Set alpha due Mon Mar 10code review due Fri Mar 14beta due Mon Apr 14
- PS3: Memely alpha due Mon Apr 7code review due Fri Apr 11beta due Mon Apr 28
- PS4: Memory Scramble alpha due Tue Apr 22code review due Sun Apr 27beta due Mon May 5
Project
- Star Battle reading due Wed Apr 23team contract due Thu Apr 24iteration 0 due Tue Apr 29iteration 1 due Tue May 6project due Fri May 9reflection due Fri May 9