Special software is required to use some of the files in this section: .java.

The assignments in this section refer to Athena, which is MIT's UNIX®-based computing environment. Assignments are due in the lecture (L), recitation (R), quiz (Q), and project (P) sessions noted in the table. We recommend that you read the entire problem set before you begin work. Important background material on problem set procedures and hints is provided below the table.

ses # Assignments source code
R1 Problem Set 0: Introduction to 6.170 Tools and Infrastructure (PDF - 2.0 MB)

This assignment will introduce you to the various tools that you will use in 6.170. (JAVA) (JAVA) (JAVA)
R2 Problem Set 1: JavaTM and Coding to Specification (PDF)

This assignment will provide practice reading and interpreting specifications, as well as reading and writing JavaTM source code. (JAVA) (JAVA) (JAVA) (JAVA) (JAVA) (JAVA) (JAVA) (JAVA) (JAVA) (JAVA)
R3 Problem Set 2: BasicList (PDF)

Create a blackbox test from the specification of a module.
R4 Problem Set 3: Object Model Extractor (PDF)

Write a tool to extract object models from JavaTM bytecode.

Hints for Problem Set 3 (PDF)
R5 Problem Set 4: Design an Abstract Data Type (PDF)

Design an ADT for a graph.
L17 Problem Set 5: Stata Center Navigation and Analysis (PDF)

Is your reusable ADT from Problem Set 4 really reusable? Try to use it to find directions in Stata and see.
P2 Problem Set 6: Boggle (PDF)

Create a GUI for the popular board game, Boggle.

Background Material

Problem Set Procedure (PDF)

Hints on Succeeding on 6.170 Problem Sets (PDF)

The following two reference files, which should be used jointly with the Problem Set Procedure, provide additional details on how to complete the problem sets for 6.170.

Emacs and Command Line Reference (PDF)

6.170 Eclipse Reference (PDF)