6.102 — Software Construction
Spring 2024

Announcements Archive

Fri May 10: Project reflection, and last class

The group 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.

Tuesday will be the last 6.102 class of the semester. There is no reading or nanoquiz or classwork grade for Tuesday’s class. Instead, we will have a brief wrap-up and summary of the course.

Fri May 10: Problem Set 4 reflection and grades

First, 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.

After you have filled out the reflection, your overall ps4 grade and grade report will become visible on Omnivore, with new information at the end of the page about your beta autograde and beta manual grade.

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

Mon May 6: Quiz 2 during final exam period

Quiz 2 will be on Tuesday, May 21, 1:35pm-3:25pm. This is during the scheduled final exam period for 6.102, but the quiz is 110 minutes long, so we will not use the entire scheduled final exam slot.

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

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

Quizzes from previous semesters can be found in the quiz archive, although their content and length may differ from this semester’s quiz.

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 must be handwritten directly on the paper (not created with a computer or tablet, not printed out or photocopied), 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.

Fri May 3: Problem Set 3 reflection and grades

First, 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.

After you have filled out the reflection, your overall ps3 grade and grade report will become visible on Omnivore, with new information at the end of the page about your beta autograde and beta manual grade.

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

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.

Fri Apr 19: Problem Set 2 reflection and grades

First, 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.

After you have filled out the reflection, your overall ps2 grade and grade report will become visible on Omnivore, with new information at the end of the page about your beta autograde and beta manual grade.

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

Tue Apr 16: Project group signup

Starting on Thursday Apr 25, you will be working on the 6.102 final project in groups of three people. Please fill out the project signup form by Tuesday Apr 23 at the end of class (11am).

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 before the Tuesday signup deadline, and we will use your last submitted response. To find additional group members, you can use the Piazza teammates post.

Fri Apr 12: Problem Set 3 alpha reports

First, please fill out the required Problem Set 3 midpoint reflection, which asks a few questions about how you have worked on ps3 so far. It should take only a minute to fill out.

After that, your alpha grade report for ps3 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 ps3 beta deadline is Monday April 29.

The next problem set deadline is ps2 beta on this Tuesday April 16.

For help, please ask questions on Piazza and visit lab or office hours.

Tue Apr 9: Problem Set 4

Problem Set 4 is now available. The ps4 alpha deadline is Monday, April 22.

Tue Apr 9: Problem Set 3 code review open, due Friday noon

Problem Set 3 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.

Please see the Code Reviewing page for guidelines and instructions.

Code reviews are due by noon on Friday.

Mon Apr 1: 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. Grade distribution statistics are included in the email from Gradescope.

Please bring regrade requests and other grading issues to instructor office hours. Gradescope has a “regrade request” feature, but we are not using it. Piazza and lab hours can be used to ask for help with understanding, but not for regrade requests.

Sat Mar 23: Problem Set 1 reflection and grades

First, 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.

After you have filled out the reflection, your overall ps1 grade and grade report will become visible on Omnivore, with new information at the end of the page about your beta autograde and beta manual grade.

If you have questions, please see the FAQ about grading questions, and please hold them until we return from spring break.

Thu Mar 21: Problem Set 3

Problem Set 3 is now available. The ps3 alpha deadline is Monday, April 8.

Wed Mar 20: Quiz 1 tomorrow

Quiz 1 will be tomorrow, Thursday, 9:35-10:55am, in assigned rooms.

You can also visit Quiz 1 itself now to preview the quiz instructions.

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, handwritten directly on paper (not computer-printed or photocopied). Blank scratch paper is also allowed. You may not access any other materials, sites, tools, etc. during the quiz.

Sat Mar 16: Problem Set 2 alpha reports

First, please fill out the required Problem Set 2 midpoint reflection, which asks a few questions about how you have worked on ps2 so far. It should take only a minute to fill out.

After that, your alpha grade report for ps2 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 ps2 beta deadline is Tuesday April 16.

The next problem set deadline is ps1 beta on this Monday March 18.

For help, please ask questions on Piazza and visit lab or office hours.

Tue Mar 12: Problem Set 2 code review open, due Friday noon

Problem Set 2 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.

Please see the Code Reviewing page for guidelines and instructions.

Code reviews are due by noon on Friday.

Thu Mar 7: Quiz 1 in two weeks

Quiz 1 will be on Thursday, March 21, 9:35am-10:55am. That’s the usual class time, but not necessarily the usual class location. Please go to your quiz location to find out where you should take the quiz.

The quiz will cover readings 1-10, from the start of the semester to next Tuesday’s class on Equality. Any and all concepts from readings 1-10 may appear on the quiz. Quizzes from previous semesters can be found in the quiz archive, although their content and length may differ from this semester’s quiz.

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 must be handwritten directly on the paper (not computer-printed or photocopied), 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.

Fri Mar 1: Problem Set 1 alpha reports

First, please fill out the required Problem Set 1 midpoint reflection, which asks a few questions about how you have worked on ps1 so far. It should take only a minute to fill out.

After that, your alpha grade report for ps1 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. The ps1 beta deadline is Monday March 18.

The next problem set deadline is ps2 alpha on Monday March 11.

For help, please ask questions on Piazza and visit lab or office hours.

Tue Feb 27: Problem Set 2

Problem Set 2 is now available. The ps2 alpha deadline is Monday, March 11.

Tue Feb 27: Problem Set 1 code review open, due Friday noon

Problem Set 1 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.

Please see the Code Reviewing page for guidelines and instructions.

Code reviews are due by noon on Friday.

Fri Feb 23: Problem Set 0 reflection and grades

First, 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.

After you have filled out the reflection, your overall ps0 grade and grade report will become visible on Omnivore, with new information at the end of the page about your beta autograde and beta manual grade.

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

Fri Feb 16: 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 (limited to 1 day extension this time, because of 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. 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.

Tue Feb 13: Problem Set 1

Problem Set 1 is now available. The ps1 alpha deadline is Monday, February 26.

Tue Feb 13: Problem Set 0 code review open, due Friday noon

Problem Set 0 code reviewing is now open. 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.

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 by noon on Friday.

Mon Feb 12: no class or lab hours tomorrow because of snow closing

Because of MIT’s snow closing, class is cancelled on Tuesday. There will be a classwork grade for Tuesday’s class, consisting entirely of the exercises from the reading due Monday night. Thursday’s class will continue with Specifications, as shown on the course calendar.

Tuesday’s lab hours are also cancelled. If you need help, Piazza is the place to ask.

Tue Feb 6: Readings 1-2 and Problem Set 0

Welcome to 6.102!

Instead of lectures, 6.102 has readings with interactive exercises. The reading exercises are generally due 10pm the evening before class, so reading 1 and reading 2 are due by 10pm Wednesday night. Your progress on reading exercises can be seen on Omnivore. In class on Thursday we will take a nanoquiz on reading 2.

Classwork grades (which combine the reading exercises, nanoquiz, clicker questions, constellation programming, and other work you do before and during a particular class) are usually posted in the evening after class. Today’s class is an exception to this; because reading 1 isn’t due until tomorrow night, the classwork grade for class 1 will be posted by Thursday evening instead. The course website has more information about classwork grading and makeups.

Problem Set 0 is now available. PS0 gets you started learning TypeScript, Visual Studio Code, and Git. PS0 is due Monday, February 12, at 10pm. The course website has more information about problem set deadlines and extensions.

For almost all questions, Piazza is the place to ask. If you need help, you can visit lab hours at the times and locations shown on the calendar. Once again, welcome to 6.102!

Thu Feb 1: Welcome

You’re getting this message because you preregistered for 6.1020 [formerly called 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.

  2. 6.101 [formerly called 6.009] is a required prerequisite for this course. If you haven’t taken 6.009, you won’t be able to take 6.102.

  3. You will need to bring a laptop to every 6.102 class meeting, including the first meeting on Tue Feb 6.

  4. Before the first class on Tue Feb 6, please install the software you will need for 6.102 on your laptop, by following the instructions in Getting Started.

See you next week!