6.031 — Software Construction
Spring 2020

Announcements Archive

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.

Sun May 3: Problem Set 4 code review open, due Tuesday 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 Tuesday morning MIT time.

Tue Apr 28: 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).

Wed Apr 22: Problem Set 4

Problem Set 4 is now available. The ps4 alpha deadline is Friday May 1 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 Friday at 10pm.

Mon Apr 20: Quiz 2 during final exam period

Quiz 2 is scheduled during the final exam period, Friday May 15, during the 9am-noon block, MIT time. The quiz will be held online in the same system we used for Quiz 1.

The quiz is 50 minutes long. You will be able to choose in advance from several alternative quiz timeslots during the 9am-noon block. All timeslots will start after 9am and finish before noon MIT time.

The quiz will cover readings 1-30. Any concepts from any of those readings may appear on the quiz.

The quiz is closed-book, closed-notes, but you may use a single 8.5×11″ double-sided page of notes, readable without a magnifying glass. The notes must be created by you, not anybody else, since the process of creating a crib sheet is most of the learning benefit of it.

You may not communicate with anyone else about the quiz while it is happening, except for asking clarification questions of the 6.031 staff using the online help queue and text chat.

A quiz review will be held during class time on Mon May 11. 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. As always, you can visit lab & office hours to ask quiz review questions, or post on Piazza.

Sun Apr 19: 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 Wednesday 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.

Thu Apr 16: Problem Set 3 code review open, due Sunday 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.

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 Sunday morning.

Fri Apr 10: 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).

Fri Apr 10: 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.

Quiz 1 solutions are posted on the web site.

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

Tue Apr 7: Quiz 1 tomorrow

Quiz 1 will be tomorrow (Wednesday), 11:05-11:55am 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 quiz starting 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!

Mon Apr 6: Problem Set 3

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

After you wrap 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 this Thursday at 10pm.

Fri Apr 3: 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 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 Apr 1: 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 Mar 24: Experimental lab hours + revised calendar

The 6.031 course calendar has been updated with a new schedule of classes and new deadlines for ps2, ps3, ps4.

Quiz 1 has been rescheduled to Wed April 8, 11:05-11:55am. It will still cover the same material as originally announced, and will have the same kinds of questions as Quiz 1 from previous semesters, so you can still use the quiz archive to study. More information about how the online Quiz 1 will work will be coming by the end of next week.

We are holding some experimental online lab hours this week, Wed/Thu/Fri/Sun. See the course calendar for times. If you need debugging help with ps2 alpha, have questions about other course material, or just want to say hi and see what virtual lab help might be like, please try it out. The link to the online help queue can be found in the calendar. The queue will only be open during lab time; for questions outside those times, please ask on Piazza.

When classes resume, online lab hours will mostly be at their originally-scheduled times, plus 9am (MIT time) for the sake of students in European and Asian time zones.

Tue Mar 17: Revised calendar & syllabus + survey of your technical situation

I hope everybody has reached a safe place and is putting together a situation that will help you continue the semester. 6.031 is also still planning and experimenting as well, but I want to share some of the changes we’ll have to make after we return from break.

TL/DR: please fill out this survey about your technical situation by this Friday, March 20.

Key changes:

  • Because one week of the semester was lost, we have decided to cancel the group project (originally 2 weeks long), and extend the time for ps3 and ps4 by a few days. The group project would have been the hardest thing to do online (since it requires many groups and TAs to coordinate), and it depended on ps3 and ps4 anyway, so it was what we had to drop.

  • Because some of you may be unable to join class synchronously (for timezone or network reasons), the remaining classes (18-30) will no longer have nanoquizzes, and in-class work like clicker questions and Constellation pair programming will no longer be part of the grade. Instead, the classwork grade for classes 18-30 will consist entirely of before-class work, like reading exercises and Java tutor. The deadline for before-class work will now be classtime, not 10pm the night before.

The grading scheme has been updated on the course website to reflect the loss of the project, and the new calendar of classes and deadlines will be updated by the end of this week.

Barring more drastic changes outside our control, here’s the plan for right after the break:

  • Class 18 on Monday March 30 at the usual time (11am-12:30pm MIT time). We expect to use a combination of Zoom and Slack as we had originally planned for class 18 before it was cancelled. We will post the slides and code afterward as we were already doing, and will explore other ways to accommodate people who can’t attend class depending on the results of the survey (bottom of this message).

  • The postponed PS2 alpha deadline is still Monday March 30 at 10pm, and now up to 2 days of slack can be taken. Any slack you took on the original ps2 alpha deadline is undone and back in your slack budget.

If you want to get ahead or catch up (particularly on ps2 alpha), Piazza is still open and staff are available to answer questions, and all the readings for the rest of the semester are now on the website.

During the break, we are going to start experimenting with virtual lab hours at various times of day, to learn what works and what doesn’t for the rest of the semester. Virtual lab hours will happen using an online help queue and videochat with an LA or TA. Please help us experiment, especially if you need help with ps2 or have questions about the readings.

Finally: to help us with timezone scheduling and accommodating potential technical problems, please fill out this survey about your current situation by this Friday, March 20. If the survey link is unreachable for you, please reply to this email and I will ask you the questions by email instead.

Thu Mar 12: Online class 18 and instructor OH

Update: as announced Thursday evening, Friday’s classes are canceled.

Before class tomorrow, if you didn’t submit the partner form last time, you paired up during class, or you plan to change who you’re working with: please tell us who your partner is. We’ll use the 6.031 Online Slack again, and you should communicate with your partner using whatever tools work best for you.

The Zoom link for tomorrow’s class was included in the email for this announcement.

And for instructor office hours, look for a WebEx URL on the course calendar. If you connect and see “You can join the meeting after the host admits you,” that means we’re having a 1-on-1 conversation with someone, and we’ll invite you into the room as soon as that conversation is over.

Take care, everyone.

Wed Mar 11: Today’s lab hours cancelled

There will be no 6.031 lab hours this afternoon or evening. Instructor office hours are still tentatively scheduled for tomorrow and Friday as shown on the course calendar. They will happen online, instructions will be available soon.

Tue Mar 10: ps2 alpha deadline moved to Mon Mar 30

Because of the disruption this week, ps2 alpha will now be due Mon Mar 30. There will be no slack on this new deadline, and everybody who has already taken slack on last night’s deadline will get those slack days back. ps2 code review will start after the deadline on Mon Mar 30.

Piazza help with ps2 will be available between now and the new deadline, as will some online lab hours (schedule coming soon).

Expect some more necessary calendar and syllabus changes as a result of this situation, as well as a new date for Quiz 1. These changes will be announced as soon as possible, please be patient.

Tue Mar 10: Online 6.031 class tomorrow

Tomorrow (Wednesday) will be the first 6.031 online meeting. More details below, but here are your action items before class:

  1. Install Zoom Client for Meetings on your laptop.

  2. Find a partner and tell us who your partner is. Both partners should fill out this form. If you don’t already have a partner that you are used to working with in class, use the Piazza Search for Teammates post to find one.

  3. You will be sent an invitation to a Slack called 6.031 Online; please accept it and set up an account. You don’t need to install the Slack desktop client if you don’t want to; using Slack in your web browser works fine.

More details:

Tomorrow’s class will be primarily streamed on Zoom. We’ll send out a URL for the Zoom meeting tomorrow morning, about an hour before class. But please prepare now by installing the client on your laptop using the link above.

If you are unable to use Zoom for some reason, there will be a secondary stream using a WebEx room, which should work entirely in your browser. That URL will also be sent out tomorrow morning before class.

If neither Zoom nor WebEx work for you, you will be able to follow what happens in class through a Slack channel that will show the current slides (but no video or audio). Slack will also be the place you can get help from the staff during classtime exercises.

We will continue to use Constellation, the clicker, the nanoquiz form, and other websites, as part of class activities.

You will need to find a partner before class, and plan to work with the same partner as much as possible for the rest of the semester. If classtime arrives and you are still unpartnered, there will be a place on Slack where you can get a partner.

Please coordinate in advance how you and your partner will communicate during classtime. Some kind of voice connection would be best (e.g. phone, skype, Facetime), otherwise realtime chat (e.g. SMS, IM, GChat, FB Messenger, or direct messaging in 6.031 Slack).

Mon Mar 9: 6.031 will be online starting this Wednesday

In light of MIT’s evolving coronavirus response, 6.031 classes will no longer happen in-person in 34-101, but will happen online.  The days and times of class meetings (MWF 11-12:30) will remain the same. Our first online class will be this Wednesday.  More information about how it will work will be forthcoming.  A nanoquiz will still happen during classtime, and before-class work like reading exercises will still be due 10pm the night before as usual.

Because the transition to online classes will probably have some technical issues, you will be able to report technical problems by submitting a form, and we will take them into account in final grading at the end of the semester.  In addition, the classwork grade for the entire semester will now be worth 5% of the final grade, and Quiz 1 and Quiz 2 will be worth 14% each.

Please be patient, and hold your questions about how this will all work, because we are still working it out.  More information coming soon.

Sat Mar 7: 6.031 and sickness

In general, we would rather you miss class than come to class when you are sick (see makeups).

But in light of MIT’s current coronavirus response, we have to strengthen this advice even more: if you ever feel sick this semester, please stay home. Don’t come to 6.031 class. Fill out this form to let us know that you are sick.

Fri Mar 6: 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).

Fri Mar 6: Quiz 1 in two weeks

Quiz 1 will be on Friday, March 20, 11:05am-11:55am, in Walker 3rd floor gym. That’s the usual class time, but not the usual class location.

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

The quiz will cover readings 1-15, from the start of the semester to today’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 on paper, so you will not need your laptop. It is closed-book, closed-notes, but you may bring a single 8.5×11″ double-sided page of notes, which can be either handwritten or computer-printed, but 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.

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

Mon Mar 2: 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 Feb 28: 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 Feb 26: 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 Feb 21: 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 Feb 17: Problem Set 1

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

After you wrap up ps0 (due Tuesday night), 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 Feb 14: 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 Tuesday at 10pm. You can take slack on this deadline using Caesar, just like the alpha deadline, but note that you can use at most 1 slack day on your ps0 beta deadline (because the deadline was already delayed by the long weekend).

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.

Wed Feb 12: 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.

Mon Feb 3: Problem Set 0 and Getting Started

Problem Set 0 is now available.

For help getting started with Java, Eclipse, and Git: visit lab hours on Monday or Tuesday, at the times and locations shown on the calendar. 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 on Wednesday. See Part I (problems 0 to 4) of ps0.

ps0 alpha is due Monday, February 10, at 10pm. ps0 beta will be due Tuesday, February 18. 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.

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

Mon Feb 3: 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 the evening before class, so reading 1 and reading 2 are due at 10pm tomorrow. Your progress on reading exercises can be seen on Omnivore.

In class on Wednesday 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 Tuesday night, the classwork grade for class 1 will be posted by Wednesday 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.

Sat Feb 1: Getting started in 6.031

Hello! 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 Tuesday night, you should complete the class 1 reading and class 2 reading, including programming exercises using the 6.031 Java Tutor in Eclipse.

  • By 11am Wednesday 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 on Monday after class.

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

The only thing you need to do for the first class on Monday is bring your laptop. It’s OK if it’s 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…

Fri Jan 17: 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 Mon Feb 3 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. You will need to bring a laptop to every 6.031 class meeting, including the first meeting on Mon Feb 3. If you don’t have a laptop, IS&T can lend you one.

  4. Starting this semester, 6.031 will have a “final” – Quiz 2 will be scheduled during the final exam week. Quiz 2 is not a multi-hour comprehensive exam in the usual sense of “final,” but rather a 1-hour quiz focusing primarily on the second half of the semester. We’ve moved it to the final exam week in order to relax the course schedule in the last few weeks of the semester. Scheduling the last quiz during the final exam week like this is already common practice in several EECS courses, including 6.033 and 6.02. I mention it here in case you are already planning the start of your summer, so that you are aware that 6.031 will not end on the last day of classes, but on the day of Quiz 2. That date will be announced when final exam schedule comes out, a few weeks into the semester.

See you in February!