6.102 — Software Construction
Spring 2026

Announcements Archive

Tue Mar 17: Problem Set 3

Problem Set 3 is now available. PS3 is about grammars, parsing, and designing a recursive abstract data type.

The Problem Set 3 alpha deadline is Monday, April 6.

Mon Mar 16: Problem Set 2 beta due 9pm

Problem Set 2 beta is due at 9pm this evening.

Exam 1 is during class time this Thursday. See the previous announcements about:

Fri Mar 13: 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 or two to complete.

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 the specific places they refer to, 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, March 16.

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

Fri Mar 13: Exam 1 locations and practice quizzes

Exam 1 will be on Thursday, March 19, 9:35am-10:55am. Please go to your Exam 1 location page to see your assigned room and/or location.

-and-

To help review for the exam, we invite you to use lab hours as an opportunity to practice past 50-minute quizzes (shorter than Thursday’s 80-minute exam) and ask questions about them. All of these past quizzes are found in the exam archive:

  • Sunday lab hours: spring 2021
  • Monday: fall 2021
  • Tuesday: spring 2022
  • Wednesday: spring 2023

These lab hours are not exclusively for exam review. You can continue to ask questions about the problem set, or about any of your exam studying or other past quizzes, not just about that day’s practice quiz.

Mon Mar 9: Problem Set 2 alpha due 9pm

Problem Set 2 alpha is due at 9pm this evening.

Remember that if you need an extension on a problem set iteration deadline, you must request it before your current deadline passes. Visit Caesar, as described in General Info.

And remember to check that your submission passes the public tests on Didit. As noted in the Design Freedom and Restrictions box at the top of the problem set, we cannot guarantee a timely Didit build at 8:59pm.

Fri Mar 6: Problem Set 1 beta reports

Please fill out the Problem Set 1 reflection, which asks a few questions about how you worked on ps1. It should take only a minute or two to complete.

After that, your beta grade report and overall ps1 grade will become available on Omnivore, including your beta autograde and beta manual grading feedback.

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

Thu Mar 5: Exam 1 in two weeks

Exam 1 will be on Thursday, March 19, 9:35am-10:55am. That’s the usual class time, but not necessarily the usual class location. Exam locations will be announced next week.

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

This exam 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 exam on battery power.

The exam is closed-book, closed-notes, and you may not use anything on your laptop other than the exam 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.

Mon Mar 2: Problem Set 1 beta due 9pm

Problem Set 1 beta is due at 9pm this evening.

Fri Feb 27: 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 or two to complete.

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 on Omnivore, as well as code review comments on Caesar. As you revise for the beta, you should not just address those specific comments in the specific places they refer to, but generalize the feedback to improve the rest of your specs, tests, and implementations as well. For every beta submission, remember to reply to human comments and addres every #important checkstyle comment.

The ps1 beta deadline is Monday, March 2.

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

Tue Feb 24: Problem Set 2

Problem Set 2 is now available. On this problem set we reach the heart of 6.102: abstract data types.

The Problem Set 2 alpha deadline is Monday, March 9.

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

Mon Feb 23: No class or lab hours Tue Feb 24

Because MIT is closed again tomorrow (Tuesday), our class meeting and lab hours will be canceled.

Reading 6 on Abstract Data Types is still due this evening. Problem Set 1 alpha is also due, unless you are taking a slack day. Please continue to ask questions on Piazza.

Mon Feb 23: Problem Set 1 alpha due 9pm

Problem Set 1 alpha is due at 9pm this evening.

Remember that if you need an extension on a problem set iteration deadline, you must request it before your current deadline passes. Visit Caesar, as described in General Info.

Sun Feb 22: No lab hours Mon Feb 23

Because MIT is closed tomorrow (Monday), lab hours will be canceled. Please ask questions that arise tomorrow on Piazza instead. Lab hours today (Sunday) will take place as scheduled.

Fri Feb 20: Problem Set 0 beta reports

Please fill out the Problem Set 0 reflection, which asks a few questions about how you worked on ps0. It should take only a minute or two to complete.

After that, your beta grade report and overall ps0 grade will become available on Omnivore, including your beta autograde and beta manual grading feedback.

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

Thu Feb 19: Exam 1 in four weeks

Exam 1 will be on Thursday March 19, 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 5.

More information about the content and logistics of the exam will be announced about two weeks beforehand.

Mon Feb 16: Problem Set 0 beta due 9pm tomorrow

Problem Set 0 beta is due at 9pm  today  tomorrow. Because the due date is shifted, you can use at most 1 slack day on this deadline.

Remember that for ps0 beta, you must eliminate all magic numbers, as described in the ps0 addendum. For all problem set beta submissions, you must address the code reviews you received by replying to human comments and addressing every #important checkstyle comment.

Fri Feb 13: Problem Set 0 alpha reports

After each problem set deadline, we will ask you to fill out a brief reflection about how you have worked on that problem set so far. Please fill out the Problem Set 0 midpoint reflection. It should take only a minute or two to complete.

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 9pm. 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, address issues identified by manual grading, 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 VS Code, which will help you find your magic numbers.

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

Tue Feb 10: Problem Set 1

Problem Set 1 is now available. PS1 is all about specifications and testing. Please read through the entire problem set handout first, before you start working on any code.

The Problem Set 1 alpha deadline is Monday, February 23.

Tue Feb 10: Problem Set 0 code review open

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

Mon Feb 9: Problem Set 0 alpha due 9pm

Problem Set 0 alpha is due at 9pm this evening.

Remember that if you need an extension on a problem set iteration deadline, you must request it before your current deadline passes. Visit the Caesar code-reviewing system, as described on the General Information page. (We encourage you not to use slack days on the Problem Set 0 deadlines, except in extenuating circumstances.)

Reading 3 is also due at 9pm this evening.

Code reviewing for Problem Set 0 will commence Tuesday afternoon, after some practice with code reviews in class.

Fri Feb 6: Office hours and lab hours

Instructor office hours have been scheduled, please find them on the course staff page. Any changes will show up on the course calendar.

Problem Set 0 alpha is due Monday at 9pm, and the course calendar is also where you can find the schedule of lab hours if you have questions about Getting Started, Git 1, Basic TypeScript, or the problem set itself.

If you had technical issues during class time this week, I’m sorry about that! Please consider visiting lab to get help sorting them out. I strongly encourage you to come to class with other stuff (apps, browser tabs, etc.) not merely hidden but quit entirely so they aren’t sneakily slowing down your laptop or hogging your network connection.

Tue Feb 3: 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 9pm the evening before class, so reading 1 and reading 2 are due by 9pm 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, in-class pair 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, VS Code, and Git. PS0 is due Monday, February 9, at 9pm. 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!

Fri Jan 30: Welcome

You’re getting this message because you preregistered for 6.1020 (which we call just “6.102”). 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 is a required prerequisite for this course. If you haven’t taken 6.101, 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 3.

  4. Before the first class on Tue Feb 3, 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!