6.001 General Information - Spring Semester 1997

Issued: Tuesday, February 4, 1997

In a Nutshell

Lecturers: Course secretary: Meetings: Examinations:

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:

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:

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:

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.