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
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 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.
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
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:
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.
Completeness. Does your implementation provide basic functionality?
Did you add additional features?
Testing. Did you design -- and run your code on -- an appropriate
set of test cases? Do you understand how it performed?
Style. Is your code well-written and easy to understand?
Is it well-documented?
Understanding. Do you understand how your code works?
Do you understand its strengths and weaknesses?
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.
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.
If you have difficulty writing your post-lab, we recommend that you see
someone in MIT's writing office.
Completeness of writeup. How well does your writeup address
each of the items requested in the problem set?
Writing. How well-written is your post-lab?
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.
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.
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
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.
Questions or comments:
Last modified: Tue Sep 23 14:09:47 1997