6.031 — Software Construction
Spring 2022

Announcements Archive

Thu May 19: 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!

Fri May 13: Quiz 2 today

Quiz 2 is today, 1:35-2:25pm, at quiz.mit.edu/quiz2.

You can visit that page now to preview the quiz instructions.

To get your quiz location, you must visit the Quiz 2 Room Assignment page. You must go to your assigned room. You will only be able to check-in for the quiz in 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 on paper. Blank scratch paper is also allowed. You may not access any other materials, sites, tools, etc. during the quiz.

Fri May 6: Project, reflection, and last class

The last group project check-in meetings are today, and the 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.

(Now is a good time to check that you have also submitted all the problem set reflections and your overall problem set grades are shown on Omnivore.)

Next week: Monday will be the last 6.031 class of the semester. 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. That will be followed by a quiz review during the rest of class time.

Tue May 3: Quiz 2 during final exam period

Quiz 2 will be on Friday, May 13, 1:35pm-2:25pm. 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. Note that this is still the scheduled final exam period for 6.031; see https://finalexams.mit.edu/ for confirmation.

To get your quiz location, you must 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 nanoquizzes. You will need your laptop, and you may not be assigned a seat near a power outlet, so make sure you can take the quiz on battery power.

The quiz will cover readings 1-29. Any concepts from any of those readings may appear on the quiz, but you can expect a greater focus on readings 17-29, 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 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 may be either handwritten or computer-printed, but it 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 Monday, May 9, and as always, you can visit lab & office hours to ask quiz review questions, or post on Piazza.

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

Wed Apr 27: 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 Friday classtime.

Sun Apr 24: Project groups and handout

Your project team and mentor for the group project are posted on Omnivore, and the project handout is posted on the web site.

If you don’t already know your group members, email them now to introduce yourself.

Before class tomorrow, read through the project handout.

In tomorrow’s class, after we take a nanoquiz and practice 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 by the end of class.

You must check in with your TA mentor tomorrow and in every class time during the project. Classes this week and next week are devoted to working on the project.

Fri Apr 22: 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. 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 20: Problem Set 4 code review open, due Friday 11am

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

Code reviews are due before class on Friday.

Fri Apr 15: Project group signup

Starting on Monday Apr 25, you will be working on the 6.031 final project in groups of three people. Please fill out the project signup form by Thursday Apr 21 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, and we will use your last submitted response. To find additional group members, use the Piazza teammates post.

Fri Apr 15: 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 Apr 11: Problem Set 4

Problem Set 4 is now available. Because of the holiday, the ps4 alpha deadline is Tuesday, April 19, at 10pm, and you may apply at most one slack day to the alpha deadline.

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 or two to fill out, and is due by this Thursday at 10pm.

Fri Apr 8: 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 functions 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. 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 6: 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 4 files to review.

Remember that your classmates are people like you who are trying hard like you. Be constructive and supportive.

Code reviews are due before class on Friday.

Mon Mar 28: 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 are not using it.

Fri Mar 18: 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 Mar 18: Problem Set 3

Problem Set 3 is now available. The ps3 alpha deadline is Monday, April 4, at 10pm.

Thu Mar 17: Quiz 1 tomorrow

Quiz 1 will be tomorrow, Friday, 11:05-11:55am, at quiz.mit.edu/quiz1.

You can visit that page now to preview the quiz instructions.

You should already have received an email with your room assignment for the quiz, because we cannot hold it in Walker as planned. 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 on paper. Blank scratch paper is also allowed. You may not access any other materials, sites, tools, etc. during the quiz.

Tue Mar 15: Problem Set 2 reflection

Once you’ve completed ps2 beta, 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 or two to fill out, and is due by this Thursday at 10pm.

Fri Mar 11: 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 tests were tested using correct and incorrect staff implementations.

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

The ps2 beta deadline is Monday at 10pm. 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 Mar 9: 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 4 files to 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 constructive and supportive, not snarky.

Code reviews are due before class on Friday.

Tue Mar 8: Quiz 1 next week

Quiz 1 will be on Friday, March 18, 11:05am-11:55am, in Walker 3rd floor gym rooms to be assigned. 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-16, from the start of the semester to Monday’s class on Map, Filter, Reduce. Any and all concepts from readings 1-16 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.

This quiz will use the same online system we use for nanoquizzes. You will need your laptop, and it must be charged so that you can take the quiz on battery power.

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 may be either handwritten or computer-printed, but it 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.

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

Fri Mar 4: 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 Feb 28: Problem Set 2

Problem Set 2 is now available. The ps2 alpha deadline is Monday, March 7, 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 or two to fill out, and is due by this Thursday at 10pm.

Fri Feb 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 as ESLint issues, either by running npm run lint or by installing the ESLint VS Code extension. Pay attention to warnings!

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

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

Thu Feb 24: no class on Friday because of snow

Because of MIT’s snow closing, we won’t have class on Friday.

Reading deadlines and problem-set deadlines remain as shown on the calendar.

Next week’s classes may have nanoquizzes and exercises relating to two readings (e.g. readings 12/13 on Monday, 13/14 on Wednesday) so we can catch up.

Wed Feb 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 4 files to 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 before class on Friday.

Fri Feb 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 Feb 14: Problem Set 1

Problem Set 1 is now available. The ps1 alpha deadline is next Tuesday at 10pm. You can take up to 1 day of slack on this deadline, using Caesar.

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 Feb 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. The addendum tells you how to turn on ESLint in Visual Studio Code, which will help you find your magic numbers.

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 9: Problem Set 0 code review open, due Friday 11am

Problem Set 0 code reviewing is now open. Go to Caesar and click the “start code reviewing” button to find your reviewing assignments.

You’ll have 3 files to review. 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 Jan 31: Problem Set 0 and Getting Started

Problem Set 0 is now available.

For help getting started with TypeScript, Visual Studio Code, and Git, visit lab hours today or tomorrow, 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 7, at 10pm. ps0 beta will be due Monday, February 14. See the General Information page for a description of problem set submission deadlines.

If you need help with course material or programming in TypeScript, please check 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!

Mon Jan 31: 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 tomorrow, the classwork grade for class 1 will be posted by Wednesday morning.

See classwork grading and makeup for details about classwork grading and ways to make up for lost points.

If you have questions, please ask on Piazza.

Sun Jan 30: Getting started in 6.031

Hello! 6.031 requires you to get up to speed quickly, setting up tools and learning the basics of TypeScript. Get started here. Deadlines:

  • By 10pm Tuesday night, you must complete the class 1 reading and class 2 reading, including programming exercises using the 6.031 TypeScript Tutor in Visual Studio Code.

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

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

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

Wed Jan 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 Mon Jan 31 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 Jan 31. If you don’t have a laptop, IS&T can lend you one.

See you at the end of January!