6.005 — Software Construction
Fall 2016

Announcements Archive

Wed Dec 21: Project grades and final grades

Final project grades and feedback from your TA are now available on Omnivore, and final letter grades should be available soon on WebSIS.

Happy winter solstice and have a wonderful winter break!

Wed Dec 14: Final project reflection due

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

Tue Dec 13: Final project due and last class

The final group project is due tomorrow at 1pm.

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

Wed Dec 7: 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. You can also review the course grading and letter grade policies on the web site.

Tue Nov 29: Final Project

The final group project is now on the course web site, and project teams and mentors are posted on Omnivore.

In tomorrow’s class, after we practice team version control with Git, you will meet with your team, create and clone your project repo, check in with your TA mentor, and start writing your team contract. The team contract is due tomorrow night, and the first project milestone is due this Sunday night.

Sun Nov 27: Problem Set 4 grades

First, two reminders:

  • Quiz 2 is tomorrow during class time in Walker gym
  • Please submit the project signup form today by 10pm

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.

Wed Nov 23: SFB, ETU, RFC

May your travels be Safe, Fast, & Breezy
May your stresses be Easy To Unwind
May your turkey* be Ready For Chomping
  * for all delicious values of “turkey”

A quick note that the tutorial handouts are now linked from the course web site. See you on Monday for Quiz 2.

Mon Nov 21: Project team signup

Starting next Wednesday, you will be working on the final project in teams of three people. Please fill out the project signup form by this Sunday, November 27, 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!

If you do not fill out the form, you will not be assigned to a group. We will assume you have dropped the course. All members of a team must submit the form.

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

Mon Nov 21: Quiz 2 on Monday

Quiz 2 will be on Monday, November 28, 1pm-2pm, in Walker 3rd floor gym. That’s the usual class time, but not the usual class location. The quiz is 50 minutes, so class will end early on Monday.

The quiz will cover readings 1-26, from the start of the semester to today’s class on little languages. The quiz will focus on classes after quiz 1, but any and all concepts from readings 1-26 may appear on the quiz. Quizzes from previous semesters can be find 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 Wednesday, TAs will hold a review session during the first hour of class time 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.

Sun Nov 20: Tutorial on concurrency, map/filter/reduce, & GUIs

TAs will run our last tutorial session about recent topics in the course tomorrow, November 21, 3-4pm in 36-144 and 7-8pm in 32-044.

Tutorials generally include: reviewing in-class exercises or reading exercises, trying past quiz questions or additional reading-exercise-style questions, and answering your questions. Whenever a tutorial is at the same time as lab hours, the lab hours run concurrently as usual.

Fri Nov 18: 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 Tuesday 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 before the deadline.

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

Wed Nov 16: Problem Set 4 code review due tomorrow

Problem Set 4 code reviewing is open as of this morning to everyone who did not take slack days on ps4 beta. Go to Caesar to find your reviewing assignments.

If you requested slack days, please wait until the morning after your extended deadline to start code review.

As a reminder, the course web site has guidelines and instructions for code review and a FAQ about code review deadlines.

Mon Nov 14: 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.

Sun Nov 13: Tutorial on queues & locks

We will not have a regular class tomorrow, Monday, November 14.

Instead, TAs will run a tutorial session about concurrency with message-passing and synchronization during the regular class time, 1-2pm, in a location to be determined 38-166.

Tutorials generally include: reviewing in-class exercises or reading exercises, trying past quiz questions or additional reading-exercise-style questions, and answering your questions.

Wed Nov 9: Problem Set 4

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

Mon Nov 7: Tutorial on concurrency & thread safety

TAs will run a tutorial session about concurrency and thread safety today, 3-4pm in 36-144 and 7-8pm in 32-044.

Tutorials generally include: reviewing in-class exercises or reading exercises, trying past quiz questions or additional reading-exercise-style questions, and answering your questions. Whenever a tutorial is at the same time as lab hours, the lab hours run concurrently as usual.

Visit the course calendar to see all scheduled office, lab, and tutorial hours.

Fri Nov 4: 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 Tuesday 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 before the deadline.

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

Thu Nov 3: Problem Set 3 code review due 10pm

Problem Set 3 code reviewing is open as of this morning to everyone who took 0 or 1 slack days on ps3 beta. Go to Caesar to find your reviewing assignments.

As a reminder, the course web site has guidelines and instructions for code review and a FAQ about code review deadlines.

Fri Oct 28: Tutorial on parsing & ASTs

TAs will run a tutorial session about recursive data types, grammars, and parsing this Monday, October 31, 3-4pm in 36-144 and 7-8pm in 32-044.

Tutorials generally include: reviewing in-class exercises or reading exercises, trying past quiz questions or additional reading-exercise-style questions, and answering your questions. Whenever a tutorial is at the same time as lab hours, the lab hours run concurrently as usual.

Visit the course calendar to see all scheduled office, lab, and tutorial hours.

Have a ([👻🎃]*🍬?)+ weekend!

Fri Oct 28: Quiz 1 grades

Quiz 1 grades are now available on Omnivore.

Problem 3, which asked you to choose your own debugging adventure, unfortunately flummoxed far too many students. Therefore, your overall quiz1 grade is calculated as:
max(grade-with-adventure, grade-without-adventure)
where grade-with-adventure is the score including problem 3, and grade-without-adventure is the score excluding problem 3, scaled out of 100.

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.

Wed Oct 26: Problem Set 3

Problem Set 3 is now available. The ps3 beta deadline is Tuesday at 10pm.

Sun Oct 23: Problem Set 2 grades

First, a reminder: Quiz 1 is tomorrow at 1pm in Walker 3rd floor gym.

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 have questions, please see the FAQ about grading questions.

Wed Oct 19: Quiz 1 on Monday

Quiz 1 will be on Monday, October 24, 1pm-2pm, in Walker 3rd floor gym. That’s the usual class time, but not the usual class location. The quiz is 50 minutes, so class will end early on Monday.

The quiz will cover readings 1-16, from the start of the semester to today’s class on recursive data types. Any and all concepts from readings 1-16 may appear on the quiz. Quizzes from previous semesters can be find 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 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.

Fri Oct 14: Eclipseonut update

We’ve released an updated version of Eclipseonut that includes a new way for TAs to give in-class exercise credit. Before class on Monday, you must update Eclipseonut:

  1. Open Eclipse.
  2. Go to the Help menu → Installation Details.
  3. On the Installed Software tab, find Eclipseonut in the list.
  4. Click to select it, then click the Update… button.

The new version number starts with 0.2.1.

If you want to check that the update worked, find a partner, and use example exercise ic00-testing.

Please post on Piazza if you have any trouble updating. Thanks!

Fri Oct 14: 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 Tuesday 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 before the deadline.

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

Thu Oct 13: Tutorial on ADTs

We will not have a regular class tomorrow, Friday, October 14.

Instead, TAs will run a tutorial session about abstract data types, abstraction functions & rep invariants, and immutability during the regular class time, 1-2pm, in 24-307.

Tutorials generally include: reviewing in-class exercises or reading exercises, trying past quiz questions or additional reading-exercise-style questions, and answering your questions.

Thu Oct 13: Problem Set 2 code review due 10pm

Problem Set 2 code reviewing is open as of this morning to everyone who did not take a slack day on ps2 beta. Go to Caesar to find your reviewing assignments.

Code reviews are due by 10pm today if you did not take a slack day. If you did, your beta deadline is tonight, and your code reviewing deadline is tomorrow at 10pm.

Mon Oct 10: 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, Mapping code, and your response to code reviews.

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

Wed Oct 5: Problem Set 2

Problem Set 2 is now available.

Since there are no classes on Tuesday, Oct 11, the ps2 beta deadline is Wednesday, Oct 12 at 10pm, and you may extend it by at most 1 slack day only. Code reviews will be due Thursday, Oct 13 if you do not take a slack day, and Friday, Oct 14 if you do.

Fri Sep 30: 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 Tuesday 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 before the deadline.

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

Tue Sep 27: Problem Set 1 clarifications

Two additional clarifications have been added to the ps1 handout, problem 3:

  • In the spec for Mapping.findCategories(), the sentence A name or keyword should appear at most once… is explaining by example how case-insensitivity works in situations where a string should be unique. It is not a restriction on the overall contents of category­Keywords.
  • In the spec for Mapping.reduceDuplicates(), the requirement that all and only the POIs in points­Of­Interest appear exactly once… means that each entry in the input list must appear in the output, even for repeated or equal POI objects.

Please do not wait until the deadline to git push ps1 work to Athena. Instead, push as you go. It is your responsibility to read Didit’s feedback and fix compilation errors or testing failures before the deadline.

Spec-test-and-implement on!

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

Sat Sep 24: Tutorial on Java, testing, & specs

TAs will run a tutorial session about Java, testing, and specifications this Monday, September 26, 3-4pm in 36-144 and 7-8pm in 32-044.

Tutorials will generally include: reviewing in-class exercises or reading exercises, trying past quiz questions or additional reading-exercise-style questions, and answering your questions. Whenever a tutorial is at the same time as lab hours, the lab hours run concurrently as usual.

Visit the course calendar to see all scheduled office, lab, and tutorial hours.

Have a great weekend!

Sat Sep 24: Problem Set 1 clarifications

Two clarifications have been added to the ps1 handout:

  • The spec for Bounds.boundingBox() should include: A smallest bounding rectangle minimizes both latitude and longitude size.
  • In the spec for Mapping.findCategories(), replace String comparisons with them are case-insensitive with: Category names and keywords are case-insensitive (which makes it clear they are case-insensitive for all purposes in the spec).

These changes have been applied to the online Javadocs, and you are encouraged to update your own versions of Bounds.java and Mapping.java.

Wed Sep 21: Problem Set 1

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

Fri Sep 16: 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 6.005 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 Tuesday 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.

Thu Sep 15: Problem Set 0 code review due 10pm

Problem Set 0 code reviewing is open as of this morning to everyone who took 0 or 1 slack days on ps0 beta. Go to Caesar to find your reviewing assignments.

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 10pm today (except if you’ve used 2 slack days, in which case you do code review tomorrow).

Tue Sep 13: Problem Set 0 beta due 10pm

Problem Set 0 beta is due at 10pm tonight.

If you completed the optional Java Tutor exercises by last night, you should see on Caesar that your deadline has been extended (and you still have 10 slack days remaining). We hope the tutor has been helpful to you!

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

Wed Sep 7: 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.005.

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

ps0 beta is due next Tuesday, September 13, at 10pm. ps0 final will be due the following Tuesday. 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.005!

Wed Sep 7: Reading exercises and nanoquizzes

Welcome to 6.005!

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.

Wed Aug 31: Welcome to 6.005!

You’re getting this message because you preregistered for 6.005. 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.005 is oversubscribed, so you must fill out this form before the end of the first class meeting on Wednesday, or else you won’t be able to take the course for credit.

  2. 6.01 is a required prerequisite for this course. If you haven’t taken 6.01 or 6.S04 (now numbered 6.009), you won’t be able to take 6.005 for credit, only as a listener.

  3. You will need to bring a laptop to every 6.005 class meeting, including the first meeting on Wednesday, September 7. If you don’t have a laptop, IS&T can lend you one.

See you next Wednesday!