6.096 Fall 1997
Introduction to Interactive Programming

Evaluation Policies

This handout is intended to provide you with additional information about how your work in this course will be evaluated.  Like all course materials, this handout is available from the course home page (http://www-cs101.ai.mit.edu/courses/fall97/).  If you would like to discuss this topic further, please contact Professor Stein.

Assignments and Grades

During the term, there will be seven regular laboratories, three written assignments, three examinations, and a final project.
The weighting of these factors is approximately as follows:

Each of 7 laboratories: 5% (total 35%)
Each of 3 written assignments: 5% (total 15%)
Each of 3 examinations: 10% (total 30%)
Final project: 20%


The bulk of the work in this class is in the form of laboratory assignments.  There are seven of these throughout the term.  Each involves preparatory work, in-lab work, and a post-lab writeup.  The evaluation of your work is likewise divided into three components.

Each laboratory is designed to be open-ended.  You are not expected to implement everything specified in the lab work.  In general, you need only implement basic functionality.  Much more of the import of the assignment (and more of the grade) comes from the quality of your work, including coding style, testing, and your own understanding of your work.  You are almost always better off improving your existing level of functionality rather than adding additional features, especially once lab has ended.  As you will see below, our grading standards reflect this belief.

Finger Exercises

Finger exercises and other written work is evaluated primarily when it is turned in together with your lab writeup.  It is generally judged for correctness.  However, we sometimes include questions designed to make you consider aspects of Java or interactive programming that you might not otherwise attend to.  In general, we do not weight "obscure details" heavily in the grading of finger exercises.

Finger exercises account for approximately 20% of your laboratory grade.

Laboratory Evaluations

In the laboratory, you are evaluated twice, once at the beginning of your lab session and once at the end.

The check-in evaluation is intended to determine whether you are prepared for lab and will benefit from spending your time in front of a computer.  If you are, we will so note and you will proceed to your labwork.  If your preparatory work is especially well done, we will also make a note of this fact.

If you are not adequately prepared for laboratory, we will ask you to complete your preparations before you begin programming.  You may do this together with other students, with the aid of the course staff, or by yourself.  (We generally recommend that you prepare for lab collaboratively.)  Time permitting, we will work with you to help you prepare; however, students checked into lab have priority during lab hours.

Check in accounts for approximately 20% of your total laboratory grade.

At the end of the laboratory, we again evaluate your work.  Unlike check-in, the check-out evaluation is a preliminary one.  That is, no final evaluation of your work is made at check-out time; all check-out criteria are reassessed on your writeup.

Your work at check-out is assessed on four criteria:

  1. Completeness.  Does your implementation provide basic functionality?  Did you add additional features?
  2. Testing.  Did you design -- and run your code on -- an appropriate set of test cases?  Do you understand how it performed?
  3. Style.  Is your code well-written and easy to understand?  Is it well-documented?
  4. Understanding.  Do you understand how your code works?  Do you understand its strengths and weaknesses?
Note that only one of these four criteria bears on how much functionality your code provides.  That is, you will in general get a higher score for basic but elegant, well-tested, well-documented, and well-undertstood code than for adding features to poorly written/documented/tested code.  We are more interested in how well you do what you do than in how much you do.  Of course, there is always room for additional recognition of additional features in an otherwise-excellent program.

Each of the above criteria is worth approximately 10% of your laboratory grade.  Remember, though, that these criteria are reassessed after you have turned in your final writeup; there are no points on check-out that can't be earned on writeup.

Lab Writeup

Your writeup is in large part a second chance to be evaluated on the lab check-out criteria.  Each of these categories is reassessed, and your credit in that area can only go up.  Remember, though, going back to lab to add functionality (beyond a basic working program) won't make as much of a difference as cleaning up your code, testing it, and writing it up well.

In addtion to the lab check-out criteria, two other areas are evaluated only in your write-up.

  1. Completeness of writeup.  How well does your writeup address each of the items requested in the problem set?
  2. Writing.  How well-written is your post-lab?
If you have difficulty writing your post-lab, we recommend that you see someone in MIT's writing office.

Each of these criteria is also worth approximately 10% of your total lab grade.  That means that up to 60% of your lab grade may be earned on the writeup; up to two thirds of this may be earned at check-out time.

Written Assignments

The evaluation of written assignments in this class is very similar to that of post-lab writeups; in particular, writing itself is a significant component of the evaluation.

Final Project

The evaluation of the design-and-development part of your final project is substantially similar to that of a laboratory (except that it is worth as much as two laboratories).  In addition, each final project will involve the production of a substantial document (e.g., a user manual) and an oral presentation, each of which will be worth approximately 25% of the total project grade.


The grading of examinations in this course is substantially similar to traditional exam grading at MIT.

Where to Find Additional Information

The primary source of information for this course is the world-wide web. The home page for the course is located at http://www-cs101.ai.mit.edu/courses/fall97/. Course materials will be made available there. Check this page regularly for news and updates.

This course is a part of Lynn Andrea Stein's Rethinking CS101 project at the MIT AI Lab and the Department of Electrical Engineering and Computer Science at the Massachusetts Institute of Technology.