6.001 General Information - Spring Semester 1997
Issued: Tuesday, February 4, 1997
In a Nutshell
Lecturers:
- Eric Grimson - Office: NE43-725; Ext: 3-5346; Email: welg@ai.mit.edu
- Jim Miller - Office: NE43-408; Ext: 3-3194; Email: jmiller@w3.org
Course secretary:
- Jill E. Fekete --- Office: NE43-711, x3-6693, Email: jill@ai.mit.edu
Meetings:
- Lectures: Tuesday and Thursday, 10--11, Room 10-250.
- Recitations: Wednesday and Friday, times and rooms to be assigned on 2/5.
- Tutorials: Weekly, times and rooms to be assigned on 2/6.
Examinations:
- Quiz 1: Wednesday, March 19 at 5-7PM or 7-9PM in Walker Gym.
- Quiz 2: Wednesday, April 16 at 5-7PM or 7-9PM in 4-270 and 4-370.
- Final Exam: To be scheduled during the final examination period in May.
Registration Information Form
In addition to registering for 6.001 with the Registrar, please
complete the Registration Information Form attached
to the back of this package. You should turn in the form at the end
of lecture on Tuesday, Feb, 1997. If for some reason this is not
possible, you must
turn it in to the course secretary by the end of the day, Tuesday, February 4.
We will use the information you provide on this form to assign you to a recitation section. Assignments will be posted outside the 6.001 lab (34-501) and outside the 6.001 tutorial area (36-113) by 5PM on Tuesday, February 4. Ignore the recitation to which the registrar assigned you.
If you must subsequently change your
section assignment, you must contact the course secretary, Jill Fekete,
(jill@ai.mit.edu) who will try to accomodate you.
Because of the need to keep sections balanced in size, this
may not be possible.
The information you provide on the registration form will also be
used to schedule regular weekly tutorials. (See ``Subject
Meetings'' below.) Groups of two to four people who would like to study
together can request to be assigned to the same recitation and tutorial.
People who want to create such a group must turn in their information
forms stapled together ---no more than four to a group, please.
Subject Meetings
Subject meetings consist of lectures, recitations, and tutorials.
Lectures:
The entire class meets twice weekly at 10AM
on Tuesday and Thursday in 10-250. The lectures are the primary
vehicle for introducing and motivating new material.
Recitations:
The class is divided into sections of about 25
students. Each section meets twice each week (on Wednesday and
Friday). Recitations expand upon the material currently being
introduced, and they give you a chance to clarify your understanding
and get practice working with the material in an interactive setting.
Tutorials:
Tutorials are one-hour small group meetings held once each week.
They provide you an opportunity to obtain individual help,
to review homework assignments, and to have your progress in the subject
checked. Attendance at tutorials is mandatory. Homework
assignments include parts that you are to prepare for presentation
in tutorial. If you are unable to attend a tutorial, you must
contact your tutor
in advance to make alternate arrangements for that week.
Tutorials will be scheduled in your recitation section during the
first week of classes.
Course Materials
The textbook for the course is Structure and Interpretation of Computer Programs, Second Edition, by Abelson and Sussman. This book can be obtained from the Coop.
To obtain the course materials, you should take the coupon attached
to this handout to the Cashier's office (10-180), and pay the required
amount. Then bring the Cashier's receipt to the EECS Instrument
Room (38-501) to obtain the materials. The materials include:
-
``Don't Panic: An Introductory Guide to the 6.001 Computer System.''
This document describes the 6.001 system,
Scheme (the programming language used in 6.001), and Edwin (an
Emacs-like editor used in 6.001).
-
``Revised4 Report on the Algorithmic Language Scheme.'' This
report is
a formal description of the programming language used in 6.001.
-
Two floppy disks, which you should use for storing files while
working on the laboratory assignments.
Assignments
Each week (generally on Tuesdays) a problem set is distributed in
lecture. These problem sets include reading assignments,
exercises, and laboratory work. Assigned work is due in recitation
about one week later, but may be sent to your tutor by e-mail
prior to recitation. Extra
copies of problem sets and other handouts will be available in the
6.001 Tutorial Area, room 36-113.
Assignments include parts to prepare for
oral presentation in tutorial, as well written parts to be turned in at
recitation. Your work on the assignment
will be reviewed by your tutor, who will discuss it with you in
tutorial.
A good strategy is to work the homework assignment bit by bit over
course of the week, rather than
leaving it to the night before it is due. This
will give you a chance to mull things over and to get help.
A substantial part of each problem set consists of laboratory
work that uses the 6.001 computing facility. The laboratory
assignments have been planned on the assumption that you will do
the required reading and other preparation before you come to
the laboratory. It is generally much more efficient to test, debug, and
run a program you have planned before coming into lab than to try
to do the planning online. Students who have taken the subject in
previous terms report that failing to prepare ahead for laboratory
assignments generally ensures that the assignments will take much
longer than necessary.
Not only is it more efficient to begin work on each problem set
soon after it is distributed, but it is advantageous
to complete your computer work early. There is often
intense demand for the laboratory facilities just before assignments
are due. You must plan ahead to get access to a computer because
time is reserved in advance via sign-up sheets in the lab.
Late homework will not be accepted.
In case of illness or absence from MIT, make
arrangements to complete assignments with
your recitation instructor.
Grades
Your grade in 6.001
will be determined primarily upon the recommendation of your recitation
instructor and tutor. Recommendations will be based on:
- Subject-wide quizzes (2) and the final examination.
- Homework:
Each assigned Problem Set will require the submission of written
solutions and preparing for an oral discussion of your work in tutorial.
Based on past experience, working homework assignments is
the only reliable way to master the material.
Furthermore it provides you with an opportunity to demonstrate outstanding
achievement in 6.001.
You are expected to work all the homework assignments.
Because 6.001 has a formal laboratory
component, failure to complete more than a few of these assignments may
result in a failing grade,
regardless of performance in exams, tutorials, and recitations.
- Participation in recitations:
You are expected to attend and participate actively in recitation.
Recitations will include short quizzes and other activities
upon which you will be evaluated. In particular, you will be
required to make a short oral presentation on an assigned topic
at least once during the semester.
- Participation in tutorials:
Homework assignments include parts to prepare for oral
presentation in
tutorial. In addition, you may be asked to explain or to expand upon
your written homework solutions in order to demonstrate your
mastery of the material. Tutorial participation is mandatory.
Students who must miss a tutorial must make prior arrangements with
their tutor. Students who repeatedly miss
tutorial are well advised to drop the course.
Cooperative Work
Many people learn more effectively when they study in small groups
and
cooperate in various other ways on homework. This can be
particularly
true in programming assignments, where working with a partner
often
helps to avoid careless errors. We are very much in favor of this
kind of cooperation, so long as all participants actively involve
themselves in all aspects of the work ---not just split up the
assignment and each do only a fraction. When you hand in a
paper
with your name on it, we assume that you are certifying that this is
your work, and that you were involved in all aspects of it.
If you work with other students, be sure to do at least part of every
assignment by yourself, alone. You will need the practice for the
exams. If you program with a partner, both of you should be at the
computer trying out your programs; and you should take turns
typing---not just have one person always type and the other person
always watch. On your homework paper, you should write the
names of any
other students you cooperated with in doing the assignment.
Even if you do homework cooperatively, you are expected to write
up
your papers on your own, based on your own level of progress with
the
material. You may be asked to elaborate on your written work in
tutorial. Please remember that copying another person's work and
representing it as one's own work is a serious academic offense, and
will be treated as such.
Workload
6.001 is time-consuming---but the assignments are not intended to
require excessive amounts of time.
In past subject evaluation surveys, students have typically reported
that they spend very close to the expected 15 hours per week on the
subject. Spending enormous amounts of time in 6.001 is often the
result of
simply not asking for help when you need it. If you find yourself
spending more time on 6.001 than you think you should, please
speak to
your recitation instructor. It is also possible to spend an excessive
amount of time in lab working at the computers. This is often the
result
of failing to prepare for lab work properly, i.e., reading the assigned
text and exercises, understanding the distributed code,
developing plans to solve the questions asked, etc.
Getting Help
The 6.001 staff is always willing to help you. If you feel that you
are getting lost, cannot understand the statement of a problem, have
a gripe about the way things are being done, or have any other
problem that we might be able to help with, please come see us. We hope
that
you will develop a good relationship with your tutor and recitation
instructor as the term progresses. Do not hesitate to call for help.
Screams should be brought to the attention of the lecturers.
Problems
of an administrative nature should be brought to the attention of the
course secretary.
For additional tutoring resources, we recommend that you contact
MIT Tutorial Services at 3-8406. There is a 6.001 workstation in the
Tutorial Services Room (12-124), and tutorial services can put you in
touch with tutors who are experienced in giving help with 6.001.
Video tapes
A previous offering of 6.001 was videotaped, and you may find the
tapes useful for reviewing course material. Tapes are available for
viewing in Barker Library. To find the viewing facility at Barker,
enter the domed section of Barker and walk straight across to the
opposite door.
6.001 Bibles
Collections of past 6.001 homework assignments and solutions
are available in various living groups. Although this material can be
of some assistance in learning the subject, it is not advisable to
use these old solutions mindlessly. Doing so is both intellectually
dishonest and also likely to hinder your learning the material.
Remember that you will be expected to demonstrate mastery of the
homework problems in tutorial and on exams.
The entire database of 6.001 problem sets and solutions
is available by attaching to the 6.001 locker
on Athena. Please use this material wisely. It is far
better to spend your time working the assignments for this
semester rather than hunting through old problem sets.
Laboratory Facilities
The laboratory facility for 6.001 is located on the fifth floor of
Building 34. The room contains 48 Hewlett-Packard series 700
workstations, laser printers, and network servers. These workstations
were donated to MIT by Hewlett-Packard in 1992, as part of a long-term
collaboration between HP and the 6.001 staff.
There are sign-up sheets in the lab that you can use to reserve
workstations.
The room is staffed by lab assistants who are there to help with the
assignments and answer questions about the system. Lab hours will
be posted. Please do not attempt to cajole lab assistants into staying
beyond these hours---they work long hours as it is, and they
need occasional sleep.
Using Project Athena Workstations
We are experimenting this term with allowing students to complete the problem sets on Athena or on their own PC. Be warned, however, that the problem sets have been designed to take advantage of the properties of the 6.001 workstations. While we are working this term to convert the problem sets to work on other machines, we don't guarantee either that the code will always work or that it will execute efficiently.
Although the 6.001 machines are connected to the MIT network, they are
not part of the Athena system. Users
of 6.001 machines can use the network to reach other machines
(for example, to
FTP files to and from Athena directories). On the other hand, people
outside the Lab cannot use the network to access the 6.001 machines.
If you wish, rather than using floppies to store your work in 6.001, you may instead prefer to store your work in your own Athena area. In this case, you can use FTP from one of the 6.001 lab machines to transfer copies of our work onto the machine you are using in the lab.
Using your own computer
We are going to try to support the ability to do 6.001
problem sets on PC compatible computers running Microsoft
Windows. (There is no implementation of MIT Scheme for
the Macintosh). This software is completely compatible with the software
running in the 6.001 lab (including the editor). In order to run MIT
Scheme, your system must have:
- An Intel 386, 486, or Pentium based PC with VGA (or preferably SVGA)
display
card and monitor. A floating-point co-processor (integrated into
the 486DX and 486DX2 series processor chips) is recommended.
- Microsoft Windows version 3.1 (not 3.0) or Microsoft Windows
NT
version 3.1. Windows 3.1 emulation under OS2 will not work.
- 8 Megabytes of physical memory, with 16 Megabytes or more
recommended.
- About 8 Megabytes of free disk space for a basic installation.
- A 3.5" high-density drive (preferably A:)
Further information about Scheme for the PC can be found in the
6.001
locker on Athena. The 6.001 locker also contains versions of the
software that you can download.
During the semester, we will place copies of the 6.001 problem set
code in the 6.001 Athena locker, so this can be dowloaded by people
doing 6.001 on PCs. The workstations in the 6.001 lab read and
write
disks in DOS format, so that you can move work back and forth
between
a PC and a workstation in the lab.
Please note that while we will try to ensure that these versions of
the prolbem sets run correctly, our primary focus will be on the
versions that run in the 6.001 lab.