6.102: Software Construction
Spring 2024 · Course Staff · Tues & Thurs 9:30-11am in 26-100
Announcements
Sun Apr 28: 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 to fill out.
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 those specific places, 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 Monday May 6.
For help, please ask questions on Piazza and visit lab or office hours.
Thu Apr 25: Problem Set 4 code review now due this Sunday at noon
The deadline for Problem Set 4 code reviewing has been changed to Sunday at noon.
Wed Apr 24: Project groups
Your project team, TA mentor, and worktime room 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 10pm tonight.
For class tomorrow, come to the room shown on Omnivore (which for most groups is not 26-100). 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.
Tue Apr 23: Problem Set 4 code review open, due Friday noon
Problem Set 4 code reviewing opens after class today. Go to Caesar and click the “start code reviewing” button to find your reviewing assignments.
- If you took slack day(s) on the alpha deadline, then you won’t be able to start code reviewing yet. It will open for you the morning after your deadline.
- If you meant to take slack but forgot to change your deadline in advance, do not start code reviewing and see here right away.
Code reviews are due by noon on Friday.
Mon Apr 22: 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 10pm 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, or ps3 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. For most groups, those check-ins will not be in 26-100. Watch for an announcement this Wednesday that will include team, TA mentor, and room assignments.
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 [ slides, code ] due Wed Feb 7
- 02: Testing [ slides, code ] due Wed Feb 7
- 03: Code Review [ no class due to snow ] due Mon Feb 12
- 04: Specifications [ slides, code ] due Wed Feb 14
- 05: Designing Specifications [ slides, code ] due Wed Feb 21
- 06: Abstract Data Types [ slides, code ] due Mon Feb 26
- 07: Abstraction Functions & Rep Invariants [ slides, code ] due Wed Feb 28
- 08: Interfaces & Subtyping [ slides, code ] due Mon Mar 4
- 09: Functional Programming [ slides, code ] due Wed Mar 6
- 10: Equality [ slides, code ] due Mon Mar 11
- 11: Recursive Data Types [ slides, code ] due Wed Mar 13
- 12: Grammars & Parsing [ slides, code ] due Mon Mar 18
- 13: Debugging [ slides, code ] due Mon Apr 1
- 14: Concurrency [ slides, code ] due Wed Apr 3
- 15: Promises [ slides, code ] due Mon Apr 8
- 16: Mutual Exclusion [ slides, code ] due Wed Apr 10
- 17: Callbacks & Graphical User Interfaces [ slides, code ] due Mon Apr 15
- 18: Message-Passing & Networking [ slides, code ] due Wed Apr 17
- 19: Little Languages [ slides, code ] 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