6.031: Software Construction
Spring 2020 · Course Staff · MWF11-12:30 (34-101)
Announcements
Mon May 18: Quiz 2 grades and final grades
Quiz 2 grades are now available on Omnivore, and you should get an email from Gradescope with a link to your graded quiz.
Final grades should also be available on WebSIS.
Have a great summer!
Thu May 14: Quiz 2 tomorrow
Quiz 2 will be tomorrow morning, MIT time. Here is the link to the quiz, which you can visit and sign into beforehand if you want. The quiz questions will become available at the starting time you selected. If you didn’t submit the form to select a time, then your starting time is 11:05 am MIT time.
As announced previously, the quiz is closed-book, closed-notes, but you may use a single 8.5×11″ double-sided page of notes. You should not communicate with others during the quiz.
While the quiz is happening, you will be able to ask clarification questions using an online help queue leading to a text chat with a 6.031 staff member. Good luck!
Wed May 13: Problem Set 4 grades
Overall ps4 grades and grade reports are now available on Omnivore.
If you have questions, please see the FAQ about grading questions.
Fri May 8: choose a Quiz 2 time slot
Quiz 2 will be next Friday (details previously announced). The quiz is 50 minutes long, and you can choose one of three time slots in which to take it.
Please choose a time to take Quiz 2 next Friday.
If you submit the form more than once, your last submission will be used. The deadline for choosing a time slot is Wed May 13, 10pm MIT time.
Tue May 5: Problem Set 4 alpha reports
Alpha grade reports and code reviews for ps4 are now available.
As before, that page includes links to your alpha autograde report on Didit and your code reviews on Caesar (which you can also find by going to Didit or Caesar directly).
In autograding this iteration, many test cases were zero points because the focus was on situations without concurrency. Those test cases will be worth more than zero points on the beta.
In manual grading, staff looked at your Board
abstraction function and rep exposure safety argument.
As you revise, try to both address their comments directly and generalize the feedback to improve your other ADTs.
The ps4 beta deadline is Friday at 10pm MIT time. Make sure you address all your code review comments from humans or marked #important by Checkstyle. If you need a slack day, remember to request it on Caesar.
Please ask questions on Piazza and visit lab or office hours.
General
Getting Started
Readings
- 01: Static Checking
- 02: Basic Java
- 03: Testing
- 04: Code Review
- 05: Version Control
- 06: Specifications
- 07: Designing Specifications
- 08: Mutability & Immutability
- 09: Avoiding Debugging
- 10: Abstract Data Types
- 11: Abstraction Functions & Rep Invariants
- 12: Interfaces, Generics, & Enums
- 13: Debugging
- 14: Recursion
- 15: Equality
- 16: Recursive Data Types
- 17: Regular Expressions & Grammars
- 18: Parsers
- 19: Programming with ADTs
- 20: Concurrency
- 21: Thread Safety
- 22: Locks & Synchronization
- 23: Queues & Message-Passing
- 24: Sockets & Networking
- 25: Callbacks
- 26: Map, Filter, Reduce
- 27: Little Languages I
- 28: Little Languages II
- 29: Ethical Software Engineering
- 30: Team Version Control