Getting help in 6.001
Just a reminder that the Lab Assistants in the 6.001 Lab are often
available to provide help with course material. This is especially
true if you visit the lab during non-peak hours (i.e. not right before
a project is due)! See
How to get
help/Staff hours for lab for staffing hours.
Resources for the material.
This term we are providing several resources for the course
material for you.
- You can reach the online version of the text book
(see the link below).
- You can use the lecture based "text book" by going to the tutor,
clicking on the Lecture link, and then for each lecture, using the
"lecture slides in pdf" link. This provides you a version of the
slides of the online lectures, together with associated text
descriptions. While these lectures are NOT identical to the
live lectures, they cover similar material and give you a different
- You can access copies of the lectures slides of the actual live
lecture, by clicking on the lecture link in the course calendar (see
Posted, May 18: Prizes for the 6.001 project 4 contest
We had a lot of great submissions for the contest for Project 4, in
which you were invited to extend the Object Oriented world in an interesting
way. After a lot of agonizing, Prof. Grimson selected the following
entries for prizes (which will be distributed at the final exam).
- Mark Mascaro created a full Dungeons and Dragons
regime. Roaming monsters battle each other and the avatar, gaining
experience and leveling up. Every 100 experience points allows the
player to advance one level. Magic points are required to cast
spells. Players can drink potions and memorize learned-spells that
cannot be lost. New learned-spells and magic points may be awarded at
each new level. The avatar graduates from WIT when he reaches level
- Paul Peeling added the game of Quizzitch. All of the WIT
staff (professors, trolls and hall monitors) are pitted against the
students (a typically unfair situation). Everybody has to
participate, and a Seeker for each team is randomly assigned. The
goal for the Seeker is to take the Brass Rat, at which point the game
ends, and the Seeker's team get 100 points. Other features are
Quaffles and Bludgers.
- Irene Zhang created a style mod of the game, allowing the
user to rescue a Scheme Princess from the evil Professor Grimson in
the Tower of Stata. This included a very nice system of mazes with
disappearing doors and one-way passages, etc.
- Michael Price created a total conversion of the game into a
flight simulation with bombers and fighters. There are also missile
batteries, etc. The gameplay is split between two levels: airborne and
ground. An interesting conversion of an adventure game.
- Anna Teytleman created implemented hacks. Hacks are
creative and/or silly things that can be placed around the
world. However, in order to place or see hacks, you first have to find
the hacking degree. Included are some very clever MIT jokes.
- Karen Chu created a complete Hogwarts world, a dementor or
patronus setup, prefects that irritate students, students that sass
others and are punished for it by prefects and professors, health aids
to regenerate health, hidden treasure rooms that serve as goals for
winning the game, a spell level advancement system, and a simple
turn-style multi-user setup.
- Iolanthe Chronis created a time turner. The clock keeps
track of the complete system state at each time step, including the
random seed. A time turner allows the user to turn back the clock to
completely reset the system state as it was some time in the past.
Since the random seed is reset, even "random" behavior is preserved as
being the same. When the users travels back in time, a new copy of
that person is created with all their future possessions.
- Matt Ince created Hairy's car. What better to go with
Hairy Cdr than Hairy's car! This student implemented a vehicle class
that can hold a driver as well as passengers. The control of the
vehicle is through a Permit object which only chosen ones and avatar
know how to use. However, since they are not good drivers, the
vehicles bum into random things as they move about (and there is an
ejection seat in case the vehicle gets destroyed).
- Jesse Louis-Rosenberg implemented genetic code: 4 genes, 4
amino-acids each, they describe a person's attributes (such as health
or intelligence). Breeders mate with each other, combining the dna,
even mutating from time to time, then babies grow until they can mate,
and so on.
- Bill Jacobs created a game-board class and three
subclasses, which play Wizard's tictactoe, checkers, and connect
4. People can pick up the board and play it against any opponents they
find; autonomous people make random valid moves. The board took string
input and had a text display.
- Xavid Pretzer added some hacking to WIT. A hacker class
opens locked doors, pulls pranks when they got to rooftops, and
defends the institvte from inflatable palm trees. Physplant workers
re-lock the doors and remove the pranks as they find them.
- Matthew Steele created a system for dynamically
constructing new spells out of primitive components. The spells thus
constructed are known as meta-spells, and they consist of chains of
meta-blocks. Each meta-block contains an action and an incantation.
In addition, the system contains meta-tools, a class of
wands that allow users to manipulate the constituent
meta-blocks of a spell.
- Kathy Yuan Ye implemented a dueling arena, a separate area
in which characters fight. All characters duel against all other
characters automatically. The arena contains a publicly visible
scoreboard and runs automatically. It is an area separate from the
rest of the WIT world, and is populated with duelers with differing
starting states. A duel class is implemented to keep track of the
state of specific duels.
- Jayant Krishnamurthy added wearable equipment. Taking
advantage of the fact that classes are first-class objects, the
equipment takes in a class as an argument to its constructor, and
becomes an instance of both equpipment and that class. So you can have
wearable wands, etc.
- Pete Kruskall added owls, a new kind of person which can be
asked to carry a message between two people. They use a shortest-path
algorithm to devise the best way to track down their target, try to
chomp on the hand of anyone who steals the message, and finally
deliver the message once they reach their target.
- Joshua Pevner added Schemer's Skript, which lets players
create their own spells at runtime by writing a selection magical
words on a scroll, which are combined and transformed into a
- Ceryen Tan implemented a simple quest engine. A quest is
composed of a set of objectives that must be accomplished in
sequential order in a specific timespan. The player must successfully
complete each objective or the whole quest will fail. While not
required, each objective generally works towards some overall goal,
such as saving a heroine or defeating some powerful enemy. An
objective in the latter example might be to retrieve the only spell
that can kill the enemy.
- Eric Liu implemented a dueling competition. He made a
separate world (perhaps like the chamber of stata-just a separate room
without entrances and exits); the WIT student will be cloned into the room
(like virtual reality) and given a set of spells and counterspells.
Then each round, duelers can target and attack someone with some `logic'
based on a variety of factors.
Posted May 15, 2005: Final Exam!
- Remember that the final exam is scheduled for Thursday, May 19,
from 9:00 to 12:00 in Johnson.
- The exam is closed book, however you may bring three sheets of
8.5 by 11 inch paper with you containing any notes you think may
Posted May 8, 2005: Survey says!
- Please help make 6.001 better for future terms!
As you may know, 6.001 is conducting an educational experiment, in
which we have changed the manner in which material is presented to you.
We would really like to get your
feedback on how well 6.001 met various pedagogical objectives, as well
as on the course organization. As well, we would like to measure how well you think
you've mastered specific design skills, as this will help us
understand whether the new approach is pedagogically effective. The
results will be used only for the purposes of guiding the development
of the course, in order to improve the learning experience for future
classes of students. To do this, we ask you to go to the on-line
tutor, and complete the information listed as Problem Set 11.
Posted May 7, 2005: Feedback on the Lab Assistants:
The Lab Assistants would like some feedback on how well things worked
this term. At your convenience, please go to http://web.mit.edu/6.001/www/la to complete a
brief, anonymous survey. Thanks
Posted May 5, 2005: Correction or Clarification For Project 5, Problem 9:
- The output of names-used-in in the first sample test case should include
the symbol +. Thus it should read:
(names-used-in '(until (> x n) (display (* loop x x)) (set! x (+ x 1)))) =>
(+ > x n display * loop)
The order in which the list of symbols is output does not matter.
- For the second half of Problem 9, we ask you to 'fix' a desugaring which
exhibits name capture. If you somehow wrote all of your desugarings to
avoid name capture, you can either introduce the "until" special form which
we show in the project, or intentionally change one of your desugarings to
exhibit name capture.
Posted May 2, 2005: Example quiz solutions
- A sample of solutions for quiz 2 is found
here for your information.
Posted April 30, 2005: Minor change in code
Posted April 27, 2005: Reminder of upcoming guest lectures
- This is a reminder that we will have two guest lectures in the
class, both highlighting different current areas of activity in
computer science, that draw on things you have seen in 6.001 this
- Prof. Erik Demaine, May 5th: Geometric Folding Algorithms:
Origami, Linkages, and Polyhedra
- Prof. Frans Kaashoek, May 10th: Peer-To-Peer Computing Research: A Fad?
Posted April 27, 2005: Slightly revised Project 5 is available
- A slightly revised version of Project 5 has been released on the web site. This clarifies the last problem on the project.
Posted April 24, 2005: Project 5 is available
- Project 5 has been released on the web site, and can be accessed from the Projects page.
Posted April 21, 2005: Quiz 2 Statistics
- Here are the statistics on the second quiz:
- Mean: 82
- Median: 85
- Standard Deviation: 13
- Grade of A for scores of 90 or better
- Grade of B for scores of 75 or better
- Grade of C for scores of 60 or better
- Grade of D for scores of 45 or better
Posted April 19, 2005: Quiz 2 review
- Note change in time and location. The quiz review for today will be in 8-302 from 3:00 to 5:00.
Posted April 15, 2005: Quiz 2 review
- The Lab Assistants will be holding quiz reviews:
- Monday, April 18, 2005, 7:00 p.m. - 9:00 p.m., in 4-145
- Tuesday, April 19, 2005, 5:00 p.m. - 7:00 p.m., in 4-145
Posted April 14, 2005: Quiz 2 details
"Structure and Interpretation of Computer Programs", the text for the
course, is available online (link below), or at Quantam
Books, for about $52. It is also available at the MIT Coop.
- During lecture on February 1st, we will be gathering information
which we will use to assign recitation sections. These assignments
will be posted on the web later that day. Starting Wednesday, February 2nd, please attend the
recitation to which WE assign you, based on those posted
assignments. If you have a conflict with
our assignment and only if you have a conflict with that time
then you should contact the course secretary by email to arrange for a
During recitation you will complete an informational form that will
help us assign tutorials. Do not email the course secretary about
section changes until after sections are posted. Thanks!
How to get help/Staff hours for lab
Course objectives and expected outcomes
Projects and project information
Online version of the textbook,
courtesy of MIT Press
Don't Panic Manual
and information on 6.001 Scheme
Emacs documentation and information on Athena
How to write up a project
Policy on collaborative work
Records of previous terms
Send comments about this site to firstname.lastname@example.org.
Copyright © 1997-2005 by Massachusetts Institute of Technology.
All rights reserved.