6.102 — Software Construction
Spring 2025

Announcements Archive

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

Sun May 18: Quiz 2 tomorrow

Quiz 2 will be tomorrow, Monday, 1:30-3:30pm, in assigned rooms.

You can also visit Quiz 2 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. This page must be handwritten, by you, directly on the paper (not created with a computer or tablet, not printed out or photocopied). Blank scratch paper is also allowed. You may not access any other materials, sites, tools, etc. during the quiz.

Fri May 9: 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.

Fri May 9: 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.

If your group needs last-minute help or TA advice, there are special lab hours today, 3-6pm, in 45-102 (note that this is not the usual lab room).

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.

Mon May 5: Quiz 2 during final exam period

Quiz 2 will be on Monday, May 19, 1:30pm-3:30pm. This is during the scheduled final exam period for 6.102, but the quiz is 2 hours long, so we will not use the entire scheduled final exam slot.

To get your quiz location, visit the quizzes page in Omnivore. 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 will be in 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 2: 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.

Mon Apr 28: Optional exercise: branching & pull requests for code review

As you wrap up iter0 of the project tomorrow and start iter1, we encourage every team to discuss the role code reviews will play in your collaboration. The project handout suggests using in-person discussion or email for reviews, as well as trying pair programming.

GitHub includes an interface for code reviews as part of its “pull requests” feature, but pull requests require the use of Git branches. If your team would like to try this feature out (using a separate practice repo) we have released an optional group exercise on branching & pull requests for code review.

For a project of the small scope and short timeline we have in 6.102, we still do not generally recommend Git branches: focus on clear communication and frequent syncing-up of the whole team. Please don’t use branches & pull requests unless every member of the team is confident about the process.

Sun Apr 27: 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 5.

The next problem set deadline is ps3 beta on this Monday April 28.

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

Thu Apr 24: Problem Set 4 code review now due this Sunday at noon

The deadline for ps4 code reviewing has been changed to Sunday at noon.

The next problem set deadline is ps3 beta on Monday April 28.

Wed Apr 23: Project groups

Your project team and TA mentor 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.

We will start class tomorrow with a very brief project kickoff. Then 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.

Wed Apr 23: Problem Set 4 code review open

Problem Set 4 code review 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.

Please see the Code Reviewing page for guidelines and instructions.

Code reviews are due by noon on Friday.

Mon Apr 21: 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, and/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. Watch for an announcement this Wednesday that will include team and TA mentor assignments.

Fri Apr 18: 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 15: Project group signup

Starting on Thursday Apr 24, you will be working on the 6.102 final project in groups of three people. Please fill out the project signup form by next Tuesday, Apr 22 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 next Tuesday’s signup deadline, and we will use your last submitted response. To find additional group members, you can use the Piazza teammates post.

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

The next problem set deadline is ps2 beta on this Monday April 14.

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

Tue Apr 8: Problem Set 4

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

Tue Apr 8: Problem Set 3 code review open

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 Mar 31: 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.

If you see an objective mistake in grading your quiz against the grading rubric, you can submit a regrade request using Gradescope. (Before you do, check if you are already getting full credit for the problem, because regrade requests on problems that already have full credit will be declined.) Gradescope regrade requests must be submitted by Sunday Apr 6 at 10pm. Please bring other grading issues to instructor office hours. Piazza and lab hours can be used to ask for help with understanding what you did wrong, but not for regrade requests.

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

Wed Mar 19: 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 created with a computer or tablet, not printed out or photocopied). Blank scratch paper is also allowed. You may not access any other materials, sites, tools, etc. during the quiz.

Tue Mar 18: Problem Set 3

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

Fri Mar 14: 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 Monday April 14.

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

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

Tue Mar 11: Problem Set 2 code review open

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 6: Quiz 1 in two weeks

Quiz 1 will be on Thursday, March 20, 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 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 Feb 28: 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 specs, tests, and implementations as well. The ps1 beta deadline is Monday March 17.

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

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

Tue Feb 25: Problem Set 2

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

Tue Feb 25: 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 21: Problem Set 0 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 21: Quiz 1 in four weeks

Quiz 1 will be on Thursday March 20, 9:35am-10:55am (the usual class time).

Conflict or accommodation requests must be sent to 6.102-personal@mit.edu no later than Thursday March 6.

More information about the content and logistics of the quiz will be announced two weeks before the quiz.

Fri Feb 14: Problem Set 0 alpha reports

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

After that, your alpha grade report for ps0 will become available on Omnivore.

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 11: Problem Set 1

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

Tue Feb 11: 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.

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. Code reviews are due before class on Friday.

Tue Feb 4: 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 10, 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!

Wed Jan 29: 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. You will need to bring a laptop to every 6.102 class meeting, including the first meeting on Tue Feb 4.

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

If you have any questions, the first place to look is our General Info & FAQ.

See you next week!