6.031 — Software Construction
Spring 2017

Announcements Archive

Wed Dec 21: Project Phase 2 grades and final grades

Project phase 2 grades and feedback from your TA are now available on Omnivore, and final letter grades should be available soon on WebSIS.

Have a great summer!

Wed May 17: Project Phase 2 reflection due

Don’t forget to submit your individual reflection for project phase 2. It was due at 11am, but will be accepted for as long as the submission form is open.

Tue May 16: Project Phase 2 due and last class

Phase 2 of the group project is due tomorrow at 11am.

Tomorrow is the last 6.031 class of the semester. We will have a brief wrap-up and summary of the course.

Wed May 10: Quiz 2 grades

Quiz 2 grades are now available on Omnivore. You will receive an email from Gradescope with a link to review your graded quiz.

Quiz 2 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 May 9: Problem Set 4 grades

Overall ps4 grades and grade reports are now available on Omnivore.

Your overall ps4 grade was calculated as:
40% × beta-autograde + 42% × final-autograde + 18% × manual-grade

To see your final autograde report, go to Didit, follow the link to your psets/ps4 page, and click “final” in the “Milestones” section.

Your manual grade was assigned by staff inspection of your specifications, tests, documentation, code, and your response to code reviews.

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

Fri May 5: Problem Set 4 reflection

After you wrap up ps4, 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 this Monday, May 8, at 10pm.

Tue May 2: Project Phase 1 grades

Grades and TA feedback for project phase 1 are now available on Omnivore.

If you have questions, please see the FAQ about grading questions. While you may email your TA to request correction of an objective error, please bring all other grading issues to instructor office hours so your TAs can focus on advising and assisting phase 2 groups.

Good work on phase 1, and have fun bringing your system to the web in phase 2!

Tue May 2: Project Phase 2

Phase 2 of the group project is now on the course web site, and project teams and mentors are posted on Omnivore.

In tomorrow’s class you will meet with your team, create your phase 2 repo, check in with your TA mentor, write your team contract, and start working on the project. The team contract is due tomorrow night, and the first project milestone is due next Tuesday.

Grades and TA feedback on project phase 1 will be posted later today.

Tue May 2: Quiz 2 on Mon May 8

Quiz 2 will be on Monday, May 8, 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 on Monday.

The quiz will cover readings 1-28, from the start of the semester to yesterday’s class on little languages. Any and all concepts from readings 1-28 may appear on the quiz. Quizzes from previous semesters 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, 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.

Instead of project worktime this Friday, TAs will hold a review session where they will provide selected exercises and problems from previous quizzes, and will be able to answer any questions you have as you work through them.

As always, you can visit any TA office hours to ask quiz review questions, or post on Piazza.

Mon May 1: Problem Set 4 beta reports

Beta grade reports and code reviews for ps4 are now available.

  • To see your beta autograde report, go to Didit, follow the link to your psets/ps4 page, and click “beta” in the “Milestones” section.
  • To see your code reviews, go to Caesar and click on “ps4-beta” under “submitted assignments.”

The ps4 final deadline is Thursday 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.

Sat Apr 29: Problem Set 4 code review due Monday 11am

Problem Set 4 code reviewing is now open. Go to Caesar to find your reviewing assignments. Code reviews are due before class on Monday.

Thu Apr 27: Project phase 2 team signup

Starting next Wednesday, you will be working on the second and final phase of the project, in a team of three people, but they will have to be new people. You cannot work with any of the partners you had during phase 1 of the project.

Please fill out the project signup form by this Sunday, April 30, at 10pm.

You should fill out the form now, even if you don’t have a team of three: just choose the appropriate option on the form. You can resubmit another response if your plans change by Sunday, and we will use your last submitted response. To find additional team members, use the Piazza teammates post.

Every member of a team must submit the form. If you do not fill out the form, you will not be part of a group. We will assume you have dropped the course.

As always, if you have any questions, ask on Piazza!

Tue Apr 25: Project Reflection

Individually, please write a brief reflection about the project, thinking about the reflection prompt questions. Your reflection should be at most 300 words of plain text. Submit it using this form. Reflections are due Wed 10pm.

Thu Apr 20: Problem Set 4

Problem Set 4, our last problem set of the semester, is now available. The ps4 beta deadline is Thursday at 10pm.

Didit will only allow you to create a Problem Set 4 repo if you submitted a Problem Set 3 reflection. If you cannot create a ps4 repo on Didit, please check that you submitted a complete reflection for ps3. We will review new reflections and add new ps4 permissions tomorrow.

Thu Apr 20: Problem Set 3 grades

Overall ps3 grades and grade reports are now available on Omnivore.

Your overall ps3 grade was calculated as:
40% × beta-autograde + 40% × final-autograde + 20% × manual-grade

To see your final autograde report, go to Didit, follow the link to your psets/ps3 page, and click “final” in the “Milestones” section.

Your manual grade was assigned by staff inspection of your tests, specifications, implementations, and your response to code reviews.

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

Tue Apr 18: Problem Set 3 reflection

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 Wednesday, April 19, 10pm.

Tue Apr 11: Project Phase 1

Phase 1 of the group project is now on the course web site, and project teams and mentors are posted on Omnivore.

In tomorrow’s class, after we take a nanoquiz and practice team version control with Git, you will meet with your team, create your phase 1 repo, check in with your TA mentor, write your team contract, and start working on the project. The team contract is due tomorrow night, and the first project milestone is due next Wednesday.

You must check in with your TA mentor (as described in the project assignment) tomorrow and in every class during the project.

  • There will be no nanoquiz this Friday or next Wednesday, and the entire class time will be devoted to working on the project.
  • There will be nanoquizzes on April 21st and 24th (for readings 24 and 25), and half the time in those classes will be for working on the project.

Mon Apr 10: Problem Set 3 beta reports

Beta grade reports and code reviews for ps3 are now available.

  • To see your beta autograde report, go to Didit, follow the link to your psets/ps3 page, and click “beta” in the “Milestones” section.
  • To see your code reviews, go to Caesar and click on “ps3-beta” under “submitted assignments.”

The ps3 final deadline is Thursday 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.

Sat Apr 8: Problem Set 3 code review due Monday 11am

Problem Set 3 code reviewing is now open. Go to Caesar to find your reviewing assignments. Code reviews are due before class on Monday.

Wed Apr 5: Project team signup

Starting next Wednesday, you will be working on phase 1 of the project in teams of three people. Please fill out the project signup form by this Sunday, April 9, at 10pm.

You should fill out the form now, even if you don’t have a team of three: just choose the appropriate option on the form. You can resubmit another response if your plans change by Sunday, and we will use your last submitted response. To find additional team members, use the Piazza teammates post.

You may also want to keep in mind that this is phase 1 of a two-phase project. You will be required to work with different people during the second phase at the end of the semester.

Every member of a team must submit the form. If you do not fill out the form, you will not be part of a group. We will assume you have dropped the course.

As always, if you have any questions, ask on Piazza!

Wed Apr 5: Problem Set 2 grades

Overall ps2 grades and grade reports are now available on Omnivore.

Your overall ps2 grade was calculated as:
40% × beta-autograde + 43% × final-autograde + 17% × manual-grade

To see your final autograde report, go to Didit, follow the link to your psets/ps2 page, and click “final” in the “Milestones” section.

Your manual grade was assigned by staff inspection of your tests, implementations, and your response to code reviews.

If you do not have a grade on Omnivore, please check that you submitted a complete reflection.

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

Fri Mar 31: ParserLib 2.0.1

An update to parserlib.jar, version 2.0.1, is available. The new version has some debugging improvements:

  • more readable ParseTree.toString()
  • better UnableToParseException error messages that include:
    • whether it was compiling a grammar or parsing a string
    • the nonterminal being matched
    • better localization of the error

The new version has the same spec as version 2.0 included with ps3 and class 18, and no other changes in behavior, so upgrading is not essential. But if you want to upgrade, download the new parserlib.jar and replace the one in the lib/ folder of your ps3 project.

Thu Mar 23: Problem Set 3

Problem Set 3 is now available. The ps3 beta deadline is Thursday April 6.

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 Monday April 3, 10pm.

Thu Mar 23: 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.

Mon Mar 20: Problem Set 2 beta reports

Beta grade reports and code reviews for ps2 are now available.

  • To see your beta autograde report, go to Didit, follow the link to your psets/ps2 page, and click “beta” in the “Milestones” section.
  • To see your code reviews, go to Caesar and click on “ps2-beta” under “submitted assignments.”

In autograding, your implementations were tested against staff tests, and your Graph tests were tested using correct and incorrect staff implementations.

The ps2 final deadline is Thursday 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.

Sat Mar 18: Problem Set 2 code review due Monday 11am

Problem Set 2 code reviewing is now open. Go to Caesar to find your reviewing assignments. You’ll have 5 files to review. Code reviews are due before class on Monday.

Wed Mar 15: Quiz 1 next Wed March 22

Quiz 1 will be on Wednesday, March 22, 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 on Wednesday.

The quiz will cover readings 1-15, from the start of the semester to last Monday’s class on equality. Any and all concepts from readings 1-15 may appear on the quiz. Quizzes from previous semesters of 6.005 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, 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.

Instead of a regular class this Monday, TAs will hold a review session where they will provide selected exercises and problems from previous quizzes, and will be able to answer any questions you have as you work through them.

As always, you can visit any TA office hours to ask quiz review questions, or post on Piazza.

Tue Mar 14: Problem Set 1 grades

Overall ps1 grades and grade reports are now available on Omnivore.

Your overall ps1 grade was calculated as:
35% × beta-autograde + 45% × final-autograde + 20% × manual-grade

To see your final autograde report, go to Didit, follow the link to your psets/ps1 page, and click “final” in the “Milestones” section.

Your manual grade was assigned by staff inspection of your tests, Search code, and your response to code reviews.

If you do not have a grade on Omnivore, please check that you submitted a complete reflection. Additional grades will be uploaded tomorrow.

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

Mon Mar 13: Snow closing

Since MIT is closed from 7am Tue to at least 7am Wed, Tuesday afternoon TA office hours and Tuesday evening lab hours are cancelled. Instructor office hours Tuesday 4pm will still happen because that instructor lives on campus. Please get pset help on Piazza, and stay warm.

Thu Mar 9: Problem Set 2

Problem Set 2 is now available. The ps2 beta deadline is Thursday 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 Sunday 10pm.

Mon Mar 6: Problem Set 1 beta reports

Beta grade reports and code reviews for ps1 are now available. As before:

  • To see your beta autograde report, go to Didit, follow the link to your psets/ps1 page, and click “beta” in the “Milestones” section.
  • To see your code reviews, go to Caesar and click on “ps1-beta” under “submitted assignments.”

In autograding, your implementations were tested against staff tests, and your tests were tested using correct and incorrect staff implementations.

The ps1 final deadline is Thursday 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.

Good work on a challenging problem set, and good luck on the final! Please ask questions on Piazza and visit lab or office hours.

Sat Mar 4: Problem Set 1 code review due Monday 11am

Problem Set 1 code reviewing is now open. Go to Caesar to find your reviewing assignments. You’ll have 6 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 Monday.

Tue Feb 28: Problem Set 0 grades

Overall ps0 grades and grade reports are now available on Omnivore.

Your overall ps0 grade was calculated as:
40% × beta-autograde + 45% × final-autograde + 15% × manual-grade

To see your final autograde report, go to Didit, follow the link to your psets/ps0 page, and click “final” in the “Milestones” section.

Your manual grade was assigned by staff inspection of your personal art, personal art code, and your response to code reviews.

For clarifications about grading comments on ps0, please ask the staff member who made the comment. The graders’ usernames can be found in your grade report. Other questions about grading should be brought to instructor office hours.

Thu Feb 23: Problem Set 1

Problem Set 1 is now available. The ps1 beta deadline is Thursday at 10pm.

After you wrap up ps0, 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 Sunday 10pm.

Tue Feb 21: Problem Set 0 beta reports

Beta grade reports and code reviews for ps0 are now available.

  • To see your beta autograde report, go to Didit, follow the link to your psets/ps0 page, and click “beta” in the “Milestones” section.
  • To see your code reviews, go to Caesar and click on “ps0-beta” under “submitted assignments.”

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 final deadline on Thursday at 10pm. You can take slack on this deadline using Caesar, just like the beta deadlines.

Your final version of ps0 should fix any bugs found by the hidden tests, and you must address each of your code review comments made by humans or marked #important by Checkstyle, as described in the code reviewing guidelines.

Your overall ps0 grade will be calculated as:
40% × beta-autograde + 45% × final-autograde + 15% × manual-grade

The manual-grade will be assigned by staff graders based on how you addressed code review comments and the quality of your code.

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

Sat Feb 18: Problem Set 0 code review due Tuesday 11am

Problem Set 0 code reviewing is now open. Go to Caesar to find your reviewing assignments. You’ll have 5 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 Tuesday (reviews will normally be due on Monday mornings, but this Monday is a holiday).

Thu Feb 16: Problem Set 0 beta due 10pm

Problem Set 0 beta is due at 10pm tonight.

Remember that if you need an extension on a problem set beta or final deadline, you must request it before the maximum-slack deadline passes using Caesar, as described on the General Information page.

Thu Feb 16: Nanoquiz makeup reminder

Just a reminder that nanoquiz grades are posted on Omnivore shortly after the end of each class, at which point the 7 × 24-hour makeup period begins.

If you plan to submit a makeup for nanoquiz 2, the deadline is tomorrow afternoon. There was no nanoquiz 3. The deadline for nanoquiz 4 is Wednesday afternoon. See nanoquiz grading and makeup for details.

Sun Feb 12: Snow closing

Since MIT is closed on Monday, we won’t have class, and afternoon office hours are cancelled.

Lab hours will still happen Monday night 7pm to 10pm in 32-044.

The reading exercises and Java Tutor exercises for class 3 are still due tonight at 10pm, and those for class 4 are still due Tuesday 10pm.

Wed Feb 8: Problem Set 0 and Getting Started

Problem Set 0 is now available.

For help getting started with Java, Eclipse, and Git: visit lab hours 7pm to 10pm in 32-044 today and tomorrow. TAs and LAs will be there to help you install and set up the tools you need for 6.031.

You must have all the tools set up and ready before class at 11am on Friday. See Part I (problems 0 to 4) of ps0.

ps0 beta is due next Thursday, February 16, at 10pm. ps0 final will be due the following Thursday. See the General Information page for a description of beta and final problem set 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!

Wed Feb 8: Reading exercises and nanoquizzes

Welcome to 6.031!

In class today you completed reading exercises in reading 1 and took a first nanoquiz. Your grades for the reading exercises and nanoquiz are now on Omnivore.

Reading 2 is online.

Reading exercises are due 10pm the evening before class, so reading 2 exercises are due at 10pm tomorrow.

In class on Friday we will take a nanoquiz on reading 2. Nanoquiz grades are posted at or soon after the end of class, at which point the 7 × 24-hour makeup period begins. See nanoquiz grading and makeup for details.

If you have questions, please ask on Piazza.

Tue Feb 7: Getting started in 6.031

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

  • By 10pm Thursday night, you must complete exercises in the reading for class 2, including programming exercises using the 6.031 Java Tutor in Eclipse.

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

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

And if you did not receive our previous announcement, please keep reading…

Mon Jan 23: 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 signup form. Please fill it out now. 6.031 is normally oversubscribed, so you must fill out this form before the end of the first class meeting on Wed Feb 8, or else you won’t be able to take the course for credit.

  2. 6.009 is a required prerequisite for this course. If you haven’t taken 6.009 or 6.S04, you won’t be able to take 6.031 for credit, only as a listener. (This semester, Course VI students in the old curriculum who need 6.031 to satisfy the 6.005 requirement may use 6.01 or 6.S08 as a substitute prerequisite.)

  3. You will need to bring a laptop to every 6.031 class meeting, including the first meeting on Wed Feb 8. If you don’t have a laptop, IS&T can lend you one.

See you in February!