6.102: Software Construction
Spring 2024 · Course Staff · Tues & Thurs 9:30-11am in 26-100
Announcements
Fri May 24: 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!
Mon May 20: Quiz 2 tomorrow
Quiz 2 will be tomorrow, Tuesday, 1:35-3:25pm, 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 10: 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.
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.
Fri May 10: 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.
Mon May 6: Quiz 2 during final exam period
Quiz 2 will be on Tuesday, May 21, 1:35pm-3:25pm. This is during the scheduled final exam period for 6.102, but the quiz is 110 minutes long, so we will not use the entire scheduled final exam slot.
To get your quiz location, visit the Quiz 2 Room Assignment page. 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 be offered through 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 12
- Git 2: Disaster Recovery due Mon Feb 26
- Git 3: Team Version Control due Wed Apr 24
- Basic TypeScript due Mon Feb 12
Readings
- 01: Static Checking due Wed Feb 7
- 02: Testing due Wed Feb 7
- 03: Code Review due Mon Feb 12
- 04: Specifications due Wed Feb 14
- 05: Designing Specifications due Wed Feb 21
- 06: Abstract Data Types due Mon Feb 26
- 07: Abstraction Functions & Rep Invariants due Wed Feb 28
- 08: Interfaces & Subtyping due Mon Mar 4
- 09: Functional Programming due Wed Mar 6
- 10: Equality due Mon Mar 11
- 11: Recursive Data Types due Wed Mar 13
- 12: Grammars & Parsing due Mon Mar 18
- 13: Debugging due Mon Apr 1
- 14: Concurrency due Wed Apr 3
- 15: Promises due Mon Apr 8
- 16: Mutual Exclusion due Wed Apr 10
- 17: Callbacks & Graphical User Interfaces due Mon Apr 15
- 18: Message-Passing & Networking due Wed Apr 17
- 19: Little Languages due Mon Apr 22
Problem Sets
- PS0: Turtle Graphics alpha due Mon Feb 12code review due Fri Feb 16beta due Tue Feb 20
- PS1: Flashcards alpha due Mon Feb 26code review due Fri Mar 1beta due Mon Mar 18
- PS2: Cityscape alpha due Mon Mar 11code review due Fri Mar 15beta due Tue Apr 16
- PS3: Memely alpha due Mon Apr 8code review due Fri Apr 12beta due Mon Apr 29
- PS4: Memory Scramble alpha due Mon Apr 22code review due Sun Apr 28beta due Mon May 6
Project
- Star Battle reading due Wed Apr 24team contract due Thu Apr 25iteration 0 due Tue Apr 30iteration 1 due Tue May 7project due Fri May 10reflection due Fri May 10