\input{6001mac.tex}

\begin{document}

\psetheader{Fall Semester, 1997}{General Information}

\begin{flushleft}
Issued:  Thursday, September 4, 1997 \\
\end{flushleft}


This memo describes the organization and policies of 6.001.  For your
convenience, this memo and all other course handouts and information
are being made available on the 6.001 homepage:

{\large\bf http://www-swiss.ai.mit.edu/$\sim$u6001}

\subsection{In a Nutshell}

\noindent
Lecturers:
\begin{tightlist}
\item Rod Brooks --- Office: NE43-822, Ext: 3-5223, Email: brooks@ai.mit.edu
\item Albert Meyer --- Office: NE43-315, Ext: 3-6024, Email: meyer@lcs.mit.edu
\end{tightlist}
             
\noindent
Course secretary:
\begin{tightlist}
\item Jill E. Fekete --- Office: NE43-711, x3-6693, Email: jill@ai.mit.edu
\end{tightlist}

\noindent
Meetings:
\begin{tightlist}
\item Lectures: Tuesday and Thursday, 10--11, Room 10-250.
\item Recitations: Wednesday and Friday, times and rooms to be assigned on 9/4.
\item Tutorials: Weekly, times and rooms to be assigned on 9/5.
\end{tightlist}
\medskip

\noindent
Examinations:
\begin{tightlist}
\item Quiz 1: Wednesday, October 8 at 5--7PM or 7--9PM in 4-270 and 4-370.
\item Quiz 2: Wednesday, November 5 at 5--7PM or 7--9PM in Walker Gym.
\item Final Exam: To be scheduled during the final examination period in December.
\end{tightlist}


\subsection{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
Thursday, September 4, 1997.  If for some reason this is not possible,
you {\em must} turn it in to the course secretary by 4PM on Thursday,
September 4th.

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
Thursday, September 4.  Ignore the recitation to which the registrar
assigned you.  You must attend the recitation to which we assign 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 accommodate 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 {\em stapled together} - no more than four to a group, please.

\subsection{Course Organization}

Subject meetings consist of lectures, recitations, and tutorials.

\paragraph{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.

\paragraph{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.

\paragraph{Tutorials:}
Tutorials are one-hour small group meetings run by Teaching Assistants
and held once each week.  Homework assignments usually include
questions that you are to prepare to discuss in tutorial.  Tutorials
also provide an opportunity to obtain individual help, to review
homework assignments, and for you and your tutor to judge how well you
understand the material -- in particular whether you are properly
benefiting from working with other students --- which you are
encouraged to do (see below).

Attendance at tutorials is {\bf MANDATORY}: an unexcused absence from
tutorial will lower your course grade a bit.  You should not expect to
get a passing grade in 6.001 if you have several unexcused absences.

Tutorials will be scheduled in your recitation section during the first
week of classes.

\subsection{Course Materials}

The textbook for the course is {\it Structure and Interpretation of
Computer Programs, Second Edition} by Abelson and Sussman.  This book
can be obtained from the Coop.

Other materials, which will be handed out (and can be found on the
6.001 homepage):

\begin{itemize}

\item
``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).  

\item
``Revised$^4$ Report on the Algorithmic Language Scheme.'' This 
report is
a formal description of the programming language used in 6.001.


\end{itemize}

\subsection{Assignments}

Each week (generally on Tuesdays) a problem set is distributed in
lecture. These problem sets include reading assignments, exercises, and
programming tasks.  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 as 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 substantial part of each problem
set consists of exercises that require access to a system running a
Scheme intepreter; Scheme is the programming language used in the
course.  See Problem Set 0 for an explanation of how to find a Scheme
system.

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.
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 services
of the 6.001 Laboratory Assistants and facilities just before
assignments are due.  If you do your programming in the Lab, you must
plan ahead because, when the lab is crowded, appointments to use the Lab
machines are made in advance via sign-up sheets in the lab.


\begin{quote} 
{\bf Late homework will not be accepted.} 

In case of illness or absence from MIT, make
arrangements  to complete assignments with 
your recitation instructor.
\end{quote}

\subsection{Grades}

Grades are based upon your quiz scores and the recommendation of your
recitation instructor and tutor based on your performace in recitation,
tutorial, and problem sets.

\begin{itemize}
\item Subject-wide quizzes (2) and the final examination count for about a
third of your grade.  (But we do not promise to use a fixed formula when
taking them into account.)

\item Homework:

For each assigned problem set, you must submit written solutions, and
you must prepare for an oral discussion of your work in tutorial.
Based on past experience, working through the homework assignments has
proved to be the most reliable way to master the material.  You are
expected to submit solutions to all Problem Sets.  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.

You may collaborate with others on problem sets.  The problem sets are
intended to be learning experiences, not tests.  As long as you can
demonstrate the level of understanding of a person who worked out
every part of your assignment you will get full credit, even if
portions of your code and answers are shared with collaborators.  (Of
course, handing in writeups or code that is identical to your
collaborators may serve as a warning sign to your tutor to verify the
the thoroughness of your understanding of the material.)  See the
section about cooperative work below for more details.

\item Participation in recitations:

You are expected to attend and participate actively in recitation.
Attendance is not taken in recitation, but the quality of your
participation is the main influence on your recitation instructor's
grade recommendation.

Recitations often begin with a five minute presentation of a preassigned
problem, or with a lecture summary, by a previously chosen student speaker.
You should expect to make a short oral presentation on an assigned topic in
recitation at least once during the semester.

\item 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.  Students who must miss a tutorial should make prior
arrangements with their tutor.

\end{itemize}

\section{Cooperative Work}

We encourage you to work in partnership with one or two 6.001
classmates.  Many people learn more effectively when they study in
small groups and cooperate in various other ways on homework.  This
can be particularly true for programming assignments, where working
with a partner often helps to avoid careless errors.  Moreover,
working in teams reflects the professional environment in which
sophisticated modern software is typically developed.

Of course, working in teams does present some pedagogical and ethical
problems.  Difficulties can generally be avoided by
\begin{itemize}

\item giving careful scholarly acknowledgement for any outside help you
receive.  In particular, if you worked in a team, you should indicate this
on your problem set solution and include the {\em names of your teammates}.
You should also indicate the source and briefly describe the nature of any
other help you received on problem solutions, such as from Lab assistants,
friends outside the course, or sections of the 6.001 Archives (see below).
Please remember that the copying of another's work and representing it as
one's own work without acknowledgement is a {\em serious academic offense}
(plagiarism), and will be treated as such.

\item making sure you understand, and are {\em prepared to explain to your
tutor and classmates in tutorial} {\bf every} portion of your submitted
solution and the process by which it was worked out.  This includes, for
example, understanding the behavior of initial ``buggy'' versions of your
code and how the bugs were discovered and repaired.
\end{itemize}  

We suggest that when you work with other students, you be sure to do at
least part of every assignment by yourself, alone.  You will need the
practice for the exams.  We also suggest that all teammates be at the
computer together and you take turns typing---not just have one person
always type and the other person always watch.

\section{Using Course ``Bibles''}

Problem sets and solutions from some prior terms are available via the
course homepage, and a more complete archive is available on Athena
from the 6.001 course locker.  We do {\em not} recommend that you make
significant use of them.  It is far better to spend your time working
the assignments for this semester rather than hunting through old
problem sets.  Although looking at archival problem solutions can be
of some assistance in learning the subject, you run the risk of
missing the learning experience of working out problem solutions
yourself.  Remember that you will be expected to demonstrate mastery
of the homework problems in tutorial and on exams.


\subsection{Workload}

6.001 problem sets take time, but they should not require excessive amounts
of it.  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, despite
help from LA's and your tutor, please speak to your recitation instructor.

\subsection{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.
There is also a link to information about the Course 6 tutoring
program on the 6.001 home page.

\subsection{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.  You can also contact laboratory assistants using
email (6001-help@mit.edu), or using zephyr, a chat system on Athena.
See the 6.001 web page for more details on getting help from the
laboratory assistants.

Problem sets can also be done on some Athena machines, or at home,
on your own Windows machine.  This will be discussed in more detail
on problem set 0.

\end{document}
