6.031 — Software Construction
Fall 2017

Announcements Archive

Mon Dec 18: 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 wonderful winter break and a great IAP!

Fri Dec 15: Project Phase 2 reflection due

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

Tue Dec 12: 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.

Thu Dec 7: Problem Set 4 grades

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

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

Your manual grade was assigned by staff inspection of your specs, tests, implementations, thread safety docs, 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.

Tue Dec 5: Quiz 2 grades

Quiz 2 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 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.

Mon Dec 4: Problem Set 4 reflection

Now that you’ve completed the last problem set 🎉, 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 Wednesday, Dec 6, at 10pm.

Tue Nov 28: Project Phase 1 grades, Project Phase 2 groups

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.

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 a week from tomorrow.

Good work on phase 1, and have fun in phase 2!

Mon Nov 27: Problem Set 4 iter1 reports

Iteration 1 grade reports and code reviews for ps4 are now available.

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

In autograding this iteration, only your text server was tested for credit.

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 iter2 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.

Mon Nov 27: Quiz 2 next Mon Dec 4

Quiz 2 will be on Monday, December 4, 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 that day.

The quiz will cover readings 1-28, from the start of the semester to today’s final class on little languages. Any and all concepts from readings 1-28 may appear on the quiz, though you can expect more focus on topics from the second half of the class that weren’t covered by Quiz 1. Quizzes from previous semesters of 6.031 and 6.005 can be found in the quiz archive, although their content may differ from the topics we’ve discussed this semester (with greater divergence the farther back in time you go).

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.

This Friday, for the first hour of classtime, 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. The rest of Friday’s class will be project worktime (but with no TA checkin required).

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

Wed Nov 22: Problem Set 4 code review open, due Monday night 10pm

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

Code reviews are due on Monday night after the break, at 10pm.

The 6.031 Piazza is closed over the holiday weekend. It will reopen on Sunday evening.

Mon Nov 20: Project phase 2 team signup

Starting after Thanksgiving, you will be working on phase 2 of the project in teams of three people. Please fill out the project signup form by the end of class next Monday, Nov 27 at 12:30pm.

You can fill out the form right 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 before next Monday, and we will use your last submitted response. To find additional team members, use the Piazza teammates post.

Teams must change from phase 1 to phase 2. None of your phase 1 teammates can be in your phase 2 group.

Everybody must submit the form. If you have already found people to work with, each of you should submit your own form listing the others as teammates. 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!

Fri Nov 17: Project Reflection

Please don’t forget to write your reflection about Project Phase 1, thinking about the reflection prompt questions. Your reflection should be at most 300 words of plain text, and each person in your group should submit their own, written individually. Submit it using this form by 10pm Saturday night.

Mon Nov 13: Problem Set 4

Problem Set 4 is now available. The ps4 iter1 deadline is next Monday at 10pm. You can apply up to two slack days as usual. The schedule for code review and iter2 is different than usual to account for the holiday.

Since ps4 iter1 overlaps with phase 1 of the project, please see the ps4 handout for what will — and will not! — be worth substantial credit during iter1 grading. We also noticed that many students were very low on slack days, so everyone has been granted two additional slack days you can apply to the ps4 iter1 or iter2 deadlines.

Mon Nov 13: Problem Set 3 grades

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

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

Your manual grade was assigned by staff inspection of your specs, ADT documentation, tests, implementation, 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.

Wed Nov 8: Problem Set 3 reflection

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

Also remember that your project warmup code should be committed and pushed to your group repo by tonight at 10pm, and another project milestone (specs) is coming up on Monday at 10pm. See the project handout for more details.

Sun Nov 5: Project Phase 1 groups

Your project team and mentor for the first phase of the group project are posted on Omnivore. The project handout will be posted on the website on Monday morning.

In Monday’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 (some warmup code that helps understand the problem) is due on Wednesday.

You must check in with your TA mentor tomorrow and in every class during the project. There will be no nanoquiz on Wednesday this week, and the entire class time on Wednesday will be devoted to working on the project. Friday is a holiday. Next week, there will be nanoquizzes on Mon Nov 13 and Wed Nov 15 (for readings 24 and 25), and half the time in those classes will be for working on the project.

Fri Nov 3: Problem Set 3 iter1 reports

Iteration 1 grade reports and code reviews for ps3 are now available.

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

In autograding, your Expression type and Commands methods 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 iter2 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 Nov 1: 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 5 files to review.

Please see the Code Reviewing page for guidelines and instructions.

Code reviews are due on Friday morning.

Wed Nov 1: Project team signup

Starting next Monday, you will be working on phase 1 of the project in teams of three people. Please fill out the project signup form by the end of class this Friday, Nov 3 at 12:30pm.

You can fill out the form right 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 Friday, 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!

Thu Oct 26: 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.

Thu Oct 26: PS3 recommendation + extra lab hours tonight

The Problem Set 3 handout now has a recommendation of a good way to tackle the problem set. Do problems 1-4 first for a subset of the language consisting only three features: filenames, side-by-side glue |, and resize @. The Didit public tests use only these operators, and iter1 autograding will focus on these operators as well. Getting this minimal subset to work first will help you understand how all the pieces of the problem set work together.

Once you have a good solution for those three operators – an Expression data type, parser, tests, and operations that can layout and generate images – then go back and extend what you’ve done to support the additional features: captions, top-to-bottom glue —, and the overlay operators ^ and _.

To help you get started on PS3, there are extra lab hours tonight, as well as the usual Friday office hour and Sat/Sun lab hours. Please see the calendar.

Tue Oct 24: Problem Set 2 grades

First, a reminder: Quiz 1 is tomorrow during class time in Walker 3rd floor gym.

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

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

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

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

Mon Oct 23: Problem Set 3

Problem Set 3 is now available. The ps3 iter1 deadline is next Monday at 10pm. You can apply up to two slack days as usual.

Now that you have wrapped 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 this Wednesday at 10pm.

Wed Oct 18: Quiz 1 next Wed Oct 25

Quiz 1 will be on Wednesday, October 25, 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 that day.

The quiz will cover readings 1-15, from the start of the semester to last Friday’s class on equality. Any and all concepts from readings 1-15 may appear on the quiz. Quizzes from previous semesters of 6.031 and 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 on 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 office hours to ask quiz review questions, or post on Piazza.

Mon Oct 16: Problem Set 2 iter1 reports

Iteration 1 grade reports and code reviews for ps2 are now available.

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

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

In manual grading, staff looked only at your Concrete­Vertices­Graph AF and RI. As you revise, try to both address their comments directly and generalize the feedback to improve your other ADTs.

The ps2 iter2 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.

Fri Oct 13: Problem Set 2 code review open, 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.

Please see the Code Reviewing page for guidelines and instructions.

Code reviews are due on Monday morning.

Fri Oct 6: Problem Set 1 grades

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

To see your iter2 autograde report, go to Didit, follow the link to your psets/ps1 page, and click “iter2” 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 Oct 2: Problem Set 2

Problem Set 2 is now available. The deadline schedule for this problem set is different from ps0 & ps1, to account for next week’s holiday. The ps2 iter1 deadline is next Wednesday at 10pm. You can apply up to two slack days as usual.

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 this Thursday at 10pm.

Fri Sep 29: Problem Set 1 iter1 reports

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

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

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 AngularTest testing strategy for toDegrees and displacement. As you revise, try to both address their comments directly and generalize the feedback to improve your other tests.

The ps1 iter2 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.

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

Wed Sep 27: 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 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 on Friday morning.

Fri Sep 22: Problem Set 0 grades

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

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

Your manual grade was assigned by staff inspection of your personal art 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 Sep 18: Problem Set 1

Problem Set 1 is now available. The ps1 iter1 deadline is Monday 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 Thursday at 10pm.

Sun Sep 17: 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.

For example, if you plan to submit a makeup for nanoquiz 3, the deadline is tomorrow afternoon. See nanoquiz grading and makeup for details.

Fri Sep 15: Problem Set 0 iter1 reports

Iteration 1 grade reports and code reviews for ps0 are now available.

  • To see your iter1 autograde report, go to Didit, follow the link to your psets/ps0 page, and click “iter1” in the “Milestones” section.
  • To see your code reviews, go to Caesar and click on “ps0-iter1” 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 iter2 deadline on Monday at 10pm. You can take slack on this deadline using Caesar, just like the iter1 deadlines.

Your revised 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.

See the problem set handout for a breakdown of how your overall ps0 grade will be calculated.

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

Wed Sep 13: Problem Set 0 code review due Friday 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 Friday.

Mon Sep 11: Problem Set 0 iter1 due 10pm

Problem Set 0 iter1 is due at 10pm tonight.

Remember that if you need an extension on a problem set iteration deadline, you must request it before your current deadline passes using Caesar, as described on the General Information page.

Wed Sep 6: 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 iter1 is due Monday, September 11, at 10pm. ps0 iter2 will be due the following Monday. See the General Information page for a description of problem set submission 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 Sep 6: 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 Sep 5: 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.

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 Java yet, and you don’t need to do reading 1 yet. If you did not receive our previous announcement, please keep reading…

Fri Aug 25: 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 Sep 6, 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 its pilot version 6.S04), then you won’t be able to take 6.031 for credit, only as a listener.

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

See you in September!