6.031 — Software Construction
Fall 2020

Announcements Archive

Fri Dec 18: Quiz 2 grades and final grades

Quiz 2 has now been graded, so you should get an email from Gradescope with a link to your graded quiz.

Final grades have also been submitted to the registrar, so should become available on WebSIS.

Quiz 2 solutions are posted on the web site. Note that parts of the quiz were randomized. Grading only considered the questions that you were actually asked, but Gradescope shows the complete quiz, including the parts you weren’t asked as faded-out text with an empty answer box. The solutions include answers to all the possible parts.

Have a great winter break!

Tue Dec 15: Quiz 2 tomorrow

Quiz 2 will be tomorrow (Wednesday), 11:05-11:55am MIT time, at quiz.mit.edu/quiz2.

As announced previously, the quiz is open-book: you may access any 6.031 or other resources, but you may not communicate with anyone except the course staff.

During the quiz, if you want to ask a clarification question, visit whoosh.mit.edu/6.031 and click “raise hand” to talk to a staff member.

Good luck!

Fri Dec 11: Project grades

Project grades and feedback are now available on Omnivore.

If you have questions, please see the FAQ about grading questions.

Fri Dec 4: Project, reflection, and last class

The group project is due today at classtime. Also due at the end of class (12:30pm) is your individual reflection about the project, so please don’t forget to fill that out.

Monday will be the last 6.031 class of the semester, meeting in Whoosh as usual. There is no reading or nanoquiz or classwork grade for Monday’s class. Instead, we will have a brief wrap-up and summary of the course.

Next Wednesday, a quiz review will happen during classtime.

Thu Dec 3: Quiz 2 during final exam period

Quiz 2 will be on Wednesday, December 16, 11:05am-11:55am MIT time. This is during the scheduled final exam period for 6.031, but the quiz is only 50 minutes long, so we will not use the entire scheduled final exam slot.

Quiz 2 will have a similar format to Quiz 1, and be offered through the same online system as Quiz 1.

The quiz will cover readings 1-30. Any concepts from any of those readings may appear on the quiz, but you can expect a greater focus on readings 16-30, since those were not covered by Quiz 1.

Quizzes from previous semesters of 6.031 can be found in the quiz archive, although their content may differ a bit from the topics we’ve discussed this semester.

The quiz is open-book: you may access any 6.031 or other resources, but you may not communicate with anyone except the course staff. In past semesters, quizzes were closed-book with one double-sided page of notes allowed. The process of creating such a crib sheet conveys most of its learning benefit, so we still recommend doing it this semester as part of your studying.

A quiz review will be held during class time on Wed Dec 9, and as always, you can visit lab & office hours to ask quiz review questions, or post on Piazza.

Fri Nov 20: 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.

Tue Nov 17: Problem Set 4 reflection

Once you’ve completed ps4 beta, 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, and is due by Thursday at 10pm.

Sun Nov 15: Project groups and handout

Your project team and mentor for the group project are posted on Omnivore. The project handout has also been posted.

If you don’t already know your group members, email them now to introduce yourself (and cc your TA mentor).

In tomorrow’s class, please form a 3-person Whoosh group with your team. We will not be using Constellation in class tomorrow, so you won’t need to pair with a Constellation partner. After we take a nanoquiz and practice team version control with Git, 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 at the end of class, and a first iteration of the project is due on Friday.

You must check in with your TA mentor tomorrow and in every scheduled classtime during the project. If you are not in class tomorrow, and you hadn’t previously introduced yourself by email to your group and TA, then we may have to consider you missing and remove you from your project group.

Fri Nov 13: 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 weighted less because the focus was on situations without concurrency. Those test cases will be worth more 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 Monday 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.

Wed Nov 11: Problem Set 4 code review open, due Friday 11am MIT time

Problem Set 4 code reviewing is now open. Go to Caesar to find your reviewing assignments. You’ll have 6 files to review, including 1 practice review.

Remember that your classmates are people like you who are trying hard like you. Be nice.

Code reviews are due on Friday morning MIT time.

Mon Nov 9: Project group signup

Starting next Monday, you will be working on the 6.031 final project in groups of three people. Please fill out the project signup form by this Thursday Nov 12 at 10pm.

Every member of a group must submit the signup form, so that we have confirmation from all proposed group members. If you do not fill out the form yourself, you will not be part of a group. We will assume you have dropped the course.

You can fill out the form right now, even if you don’t have a group of three: just choose the appropriate option on the form. You can resubmit another response if your plans change by Thursday night, and we will use your last submitted response. To find additional group members, use the Piazza teammates post.

As always, if you have any questions, ask on Piazza!

Fri Nov 6: Problem Set 3 grades

Overall ps3 grades and grade reports are now available on Omnivore.

If you have questions, please see the FAQ about grading questions.

If you did not submit a reflection, you must do that before your grades are made available (Omnivore will give you a link to the reflection page).

Mon Nov 2: Problem Set 4

Problem Set 4 is now available. The ps4 alpha deadline is Monday, November 9, at 10pm MIT time, and you may request slack days as usual.

After you wrap up ps3, please fill out the required Problem Set 3 reflection, which asks a few questions about how you worked on ps3. It should take only a minute to fill out, and is due by this Thursday at 10pm.

Fri Oct 30: Problem Set 3 alpha reports

Alpha grade reports and code reviews for ps3 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, your Expression type and Commands methods were tested against staff tests.

In manual grading, staff looked at your Expression datatype definition, the specs of some Expression operations, and the implementation of one variant. As you revise, try to both address their comments directly and generalize the feedback to improve your other specs and implementations.

The ps3 beta deadline is Monday 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.

Wed Oct 28: Problem Set 3 code review open, due Friday 11am

Problem Set 3 code reviewing is now open. Go to Caesar to find your reviewing assignments. You’ll have 6 files to review, including 1 practice review.

Remember that your classmates are people like you who are trying hard like you. Be nice.

Code reviews are due on Friday morning.

Tue Oct 20: Quiz 1 grades

Quiz 1 grades are now available on Omnivore.

You can review your graded quiz on Gradescope. You will receive an email from Gradescope, and if you haven’t used it in another class, the email will explain how to log in.

The Gradescope view is confusing because it appears to have 9 problems!

  • For problems 2, 3, and 5, the first part of each problem for each quiz taker was chosen at random, and our quiz system could only do that by having duplicated text and incrementing the problem number each time. (Problem 4 also has a random choice, but in the last part of the problem.)
  • Problem 3 is especially confusing: in order to grade the random options separately but keep the quiz total at 100 points, some parts appear to be worth 0 points! If you do the addition, you should find that everything works out.

Quiz 1 solutions are posted on the web site. (The solutions PDF is edited to include all the possible questions without the confusing problem numbering.)

As with all assignments, please bring grading issues or questions to instructor office hours. Gradescope has a “regrade request” feature, but we are not using it.

Mon Oct 19: Problem Set 3

Problem Set 3 is now available. The ps3 alpha deadline is Monday, October 26, at 10pm MIT time, and the usual slack day rules apply.

Sun Oct 18: Quiz 1 tomorrow

Quiz 1 will be tomorrow (Monday), 11:05-11:55am MIT time, at quiz.mit.edu/quiz1.

As announced previously, the quiz is open-book: you may access any 6.031 or other resources, but you may not communicate with anyone except the course staff.

During the quiz, if you want to ask a clarification question, visit whoosh.mit.edu/6.031 and click “raise hand” to talk to a staff member.

Good luck!

Fri Oct 16: Problem Set 2 grades

Overall ps2 grades and grade reports are now available on Omnivore.

If you have questions, please see the FAQ about grading questions.

If you did not submit a reflection, you must do that before your grades are made available (Omnivore will give you a link to the reflection page).

Thu Oct 15: Problem Set 2 reflection

After you’ve wrapped up ps2, please fill out the required Problem Set 2 reflection, which asks a few questions about how you worked on ps2. It should take only a minute to fill out, and is due by tomorrow at 11am.

Fri Oct 9: Problem Set 2 alpha reports

Alpha grade reports and code reviews for ps2 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, your implementations were tested against staff tests, and your IntervalSet & MultiIntervalSet tests were tested using correct and incorrect staff implementations.

In manual grading, staff looked only at your RepMap- and RepList­IntervalSet AFs and RIs. As you revise, try to both address their comments directly and generalize the feedback to improve your other ADTs.

The ps2 beta deadline is Tuesday 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. Do check the calendar for changes due to the holiday, Monday-on-Tuesday class schedule, and Tuesday beta deadline.

Wed Oct 7: Problem Set 2 code review open, due Friday 11am

Problem Set 2 code reviewing is now open. Go to Caesar to find your reviewing assignments. You’ll have 6 files to review, including 1 practice review.

Please see the Code Reviewing page for guidelines and instructions. Remember that your classmates are people like you who are trying hard like you. Be nice.

Code reviews are due on Friday morning.

Tue Oct 6: Quiz 1 in two weeks

Quiz 1 will be on Monday, October 19, 11:05am-11:55am EDT during the usual class time.

The quiz is 50 minutes long, so class will end early that day.

You will take the quiz online (surprise!) using yet another web site (surprise!). We plan to use the quiz system in class next week so that you’ll have experience with it before Quiz 1.

The quiz will cover readings 1-15, from the start of the semester to tomorrow’s class on equality. Any and all concepts from readings 1-15 may appear on the quiz. Quizzes from previous semesters of 6.031 can be found in the quiz archive, although their content may differ a bit from the topics we’ve discussed this semester.

The quiz is open-book: you may access any 6.031 or other resources, but you may not communicate with anyone except the course staff. In past semesters, quizzes were closed-book with one double-sided page of notes allowed. The process of creating such a crib sheet conveys most of its learning benefit, so we still recommend it this semester.

A quiz review will be held during class time on Fri Oct 16, and as always, you can visit lab & office hours to ask quiz review questions, or post on Piazza.

And please note that while there will not be a class associated with reading 19, that reading is still due on Thu Oct 15.

Fri Oct 2: Problem Set 1 grades

Overall ps1 grades and grade reports are now available on Omnivore.

If you have questions, please see the FAQ about grading questions.

If you did not submit a reflection, you must do that before your grades are made available (Omnivore will give you a link to the reflection page).

Mon Sep 28: Problem Set 2

Problem Set 2 is now available. The ps2 alpha deadline is next Monday at 10pm.

After you wrap up ps1, please fill out the required Problem Set 1 reflection, which asks a few questions about how you worked on ps1. It should take only a minute to fill out, and is due by this Thursday at 10pm.

Fri Sep 25: Problem Set 1 alpha reports

Alpha grade reports and code reviews for ps1 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, your implementations were tested against staff tests, and your tests were tested using correct and incorrect staff implementations.

At the Omnivore link above, you will see staff comments about your toBucketSets testing strategy, but not about your other test suites. As you revise, try to both address those comments on toBucketSets and generalize the feedback to improve your other test suites.

The ps1 beta deadline is Monday at 10pm. Make sure you address all your code review comments from humans or marked #important by Checkstyle. Checkstyle’s comments also appear in Eclipse, both as yellow highlights in the code and in the Problems tab. Pay attention to warnings!

If you need a slack day or two, remember to make the request in advance on Caesar.

Good work so far on a challenging problem set, and good luck on the beta! Please ask questions on Piazza and visit lab or office hours.

Wed Sep 23: Problem Set 1 code review open, due Friday 11am

Problem Set 1 code reviewing is now open. Go to Caesar to find your reviewing assignments. You’ll have 10 files to review, including 1 practice review.

Please see the Code Reviewing page for guidelines and instructions. Remember that your classmates are people like you who are trying hard like you. Be nice.

Code reviews are due on Friday morning.

Fri Sep 18: Problem Set 0 grades

Overall ps0 grades and grade reports are now available on Omnivore.

To see your beta autograde report, go to Didit, follow the link to your psets/ps0 page, and click “beta milestone.”

Your manual grade was assigned by staff inspection of your personal art code and your response to code reviews.

If you have questions, please see the FAQ about grading questions.

If you did not submit a reflection, you must do that before your grades are made available (Omnivore will give you a link to the reflection page).

Mon Sep 14: Problem Set 1

Problem Set 1 is now available. The ps1 alpha deadline is next Monday at 10pm MIT time.

After you wrap up ps0 (due tonight), please fill out the required Problem Set 0 reflection, which asks a few questions about how you worked on ps0. It should take only a minute to fill out, and is due by Thursday at 10pm.

Fri Sep 11: Problem Set 0 alpha reports

Alpha grade reports and code reviews for ps0 are now available.

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, your submission was tested both by the public tests that were shown to you and by hidden tests. If you failed any hidden tests, you’ll see the name of the test that failed and a stack trace of where it failed. The test case inputs or code will not be revealed to you, either by Didit or by staff. The hidden tests are like bug reports from users in the field, where you get a rough idea of what the user was trying to do (the test name) and a stack trace of where the failure occurred. You need to figure out what’s wrong with your code from those clues.

You should revise ps0 for the beta deadline on Monday at 10pm. You can take slack on this deadline using Caesar.

Your revised version of ps0 should fix any bugs found by the hidden tests, and you must address code review comments. In particular, you must eliminate all magic numbers from your solution. See the addendum about addressing ps0 code review comments for more information.

You can also see the problem set handout for a breakdown of approximately how your overall ps0 grade will be calculated.

Good luck! Please ask questions on Piazza and visit lab or office hours.

Thu Sep 10: Class 4 on Whoosh (+ Zoom)

For class tomorrow, Friday at 11am MIT time, we’re going to try and run everything in the Whoosh 6.031 room.

But if the video stops flowing, please go to the backup Zoom room.

Whoosh now has volume controls for instructor audio and group audio, in case you need to adjust the balance. If you were still having technical difficulties in class on Wednesday, please visit the 6.031 room tomorrow 9:30-10:30am MIT time before class. At the moment, only desktop Chrome (or other Chromium-family browser) will work without issues. Please note that Chrome on an iPad is really Safari under the hood and will still be glitchy. Your bug reports at github.mit.edu/6031/whoosh are much appreciated.

Wed Sep 9: Problem Set 0 code review open, due Friday 11am

Problem Set 0 code reviewing is now open. Go to Caesar to find your reviewing assignments.

You’ll have 3 files to review, and the first one will be a “practice” review, with code written by the staff rather than by another student. Problem Set 0 is a relatively short problem set; code reviews on future problem sets will involve more files.

Please see the Code Reviewing page for guidelines and instructions. Remember that your classmates are people like you, who are trying hard, like you. Be nice.

Code reviews are due before class on Friday.

Tue Sep 8: Class 3 on Zoom + Whoosh

For class tomorrow, Wednesday at 11am MIT time, we’ll again use both Zoom and Whoosh:

See also the Piazza post on controlling volume and echo when using both Zoom and Whoosh.

Fri Sep 4: Class 2 follow-up

If you had technical difficulties with Whoosh or Constellation during class today, please visit lab hours this Sunday, Monday, Tuesday, or early Wednesday to debug with a staff member before the next class. (The classwork grades from today, with TA feedback if you didn’t see it during class, will be on Omnivore later this afternoon.)

And while you can always find a new random pair programming partner at the beginning of class, one place you can coordinate in advance to find people to work with is the Search for Teammates post on Piazza, which is now open.

Thu Sep 3: Class 2 on Zoom + Whoosh

For class tomorrow, Friday at 11am MIT time, we’ll use both Zoom and Whoosh:

Wed Sep 2: Problem Set 0 and Getting Started

Problem Set 0 is now available.

For help getting started with Java, Eclipse, and Git: visit lab hours today or tomorrow, at the times shown on the calendar, at whoosh.mit.edu/6.031-lab. TAs and LAs will be there to help you install and set up the tools you need for 6.031.

You will need to have all the tools set up and ready before class at 11am MIT time on Friday. See Part I (problems 0 to 4) of ps0.

ps0 alpha is due Tuesday, September 8, at 10pm MIT time. ps0 beta will be due Monday, September 14. See the General Information page for a description of problem set submission deadlines.

If you need help with course material or programming in Java, please see the calendar of office and lab hours, which will be updated as we finalize the schedule.

For almost all questions, Piazza is the place to ask. Once again, welcome to 6.031!

Wed Sep 2: Reading exercises, nanoquizzes, and other classwork

Welcome to 6.031!

In class today you completed some reading exercises in reading 1, took a first nanoquiz, and did some clicker questions.

Reading exercises are generally due 10pm MIT time the evening before class, so reading 1 and reading 2 are due at 10pm MIT time tomorrow. Your progress on reading exercises can be seen on Omnivore.

In class on Friday we will take a nanoquiz on reading 2.

Classwork grades (which combine the reading exercises, nanoquiz, clicker questions, and other work you do before and during a particular class) are usually posted in the evening of the day of the class. Class 1 is an exception to this – because reading 1 isn’t due until tomorrow, the classwork grade for class 1 will be posted by Friday morning. See classwork grading and makeup for details about claswork grading and ways to make up for lost points.

If you have questions, please ask on Piazza.

Tue Sep 1: Tomorrow’s class, and getting started in 6.031

Hello! First some details about class tomorrow, then important instructions for getting started in 6.031, and a reminder about the required signup form!

Up-to-date instructions for joining 6.031 classes and lab hours will live under “Go to…” at the top of mit.edu/6.031.

For tomorrow, here’s the link: whoosh.mit.edu/6.031 (please note: the site may be down when class or lab are not in session)

Only if you have technical difficulties joining class, please go instead to: mit.zoom.us/j/91818820472

6.031 needs you to get up to speed quickly, setting up tools and learning the basics of Java. Get started here. Deadlines:

  • By 10pm Thursday MIT time, you should complete the class 1 reading and class 2 reading, including programming exercises using the 6.031 Java Tutor in Eclipse.

  • By 11am Friday MIT time before class 2, you should complete all the exercises on the Getting Started page, and Part 1 of Problem Set 0. Problem Set 0 will be officially released tomorrow after class.

You can find these deadlines on the course calendar, plus lab hours where you can get help starting on Wednesday.

If you have a question, please ask on Piazza.

The only thing you need to do for the first class tomorrow is show up. It’s OK if you’re not set up with Java yet, and you don’t need to do reading 1 yet. If you did not receive our previous announcement, please keep reading…

Wed Aug 19: Welcome to 6.031!

You’re getting this message because you preregistered for 6.031. Welcome! A few announcements:

  1. In order to join the class properly, you must fill out this short signup form. Please fill it out now. 6.031 gets rolling quickly, so you must fill out this form before the end of the first class meeting on Wed Sep 2 or else you won’t have access to the first problem set.

  2. 6.009 is a required prerequisite for this course. If you haven’t taken 6.009, you won’t be able to take 6.031 for credit, but you are very welcome to join the class as a listener.

  3. 6.031’s “final” during final exam week is not a multi-hour comprehensive exam, it is the second of two 1-hour quizzes in the course, and will focus primarily on the second half of the semester. We’ve scheduled that quiz during final exam week to relax the course schedule at the end of the semester, but please keep it in mind as you make end-of-semester plans.

See you in September!