- Weekly labs reports and miscellaneous written work.
- 1-2 midterm presentations.
- Final Project with Oral and Written presentations.
For the final grade, you have the option to choose one out of
the 10 or so homeworks - presumably the one with the lowest grade - which
will be dropped from the final average computation. However, you
can only choose to drop a homework for which you did the work. If
you miss a homework you get 0 points on it (and that will
count towards the final average).
- Weekly labs reports and miscellaneous written work: 40%
- 1-2 midterm presentations 20%
- Final Project with Oral and Written presentations: 40%
A lab counts 20% of the current homework grade. A missed lab counts 0.
This is a
While I think programming is one of the most interesting, challenging and
rewarding intellectual activities, it is almost impossible to learn it without
a lot of practice. This takes time, especially in the "dreaded" process of
debugging. If you get easily frustrated by the amount of time spent
debugging, you should see me very soon - before this becomes a problem.
General Grading Guidelines
- The program has to compile. Do not submit code that does not compile, as
that will receive a minimal grade of C- (if after looking at it I see that
at least it resembles a possible solution to the problem -else it will be an
- It is better to submit a program that works, even if it has not implemented
all the required features. Keep intermediate versions of your programs in
separate directories, and if you do not have time for last minute debugging,
submit the last version that (at least partially) worked.
- The way you document your program affects your grade: be generous with
- A small percentage of the grade comes from design, but most of it reflects
functionality: if your program does what it was supposed to do. By a good
design, I mean both a nice user-interface (when this is asked for),
as well as good and elegant programming style.
- Throughout the semester, interspread with the technical aspects of
programming and theory (data structures), I will teach you simple
software engineering principles, which convey scientific discipline
to the art of programming. Class attendence, participation in discussions
regarding possible solutions, self-study discipline, good organizational skills
are your key to mastering programming and avoiding lengthy debugging sessions.
Your final grade will also have to reflect and reward these qualities, and the
work on the final project will be the best indicator.
- To summarize: A level work means quality programs which run, do what
they are supposed to do, are well
designed and documented and submitted in time.
Lab, Homework and Lateness Policy
Labwork is designed to be completed during the scheduled lab
time. If for some reason you are left behind or want to redo the
work later at your own pace, you have to submit everything by
midnight the same day.
All homework is assigned on Thursdays and is due on Monday by
midnight (before the new lab on Tuesday).
Late homeworks are not and cannot be accepted during the first 7
weeks of the semester, due to the public nature of the Java applets.
Do not modify your applets after the deadline: you will be
receiving a serious penalty if the time stamp on your files is
later than the submission deadline.
For C++ assignments, you will have three free late days,
after which a penalty will be applied to your homework.
The final project is due before the last class (Th April 29,
9:00am). No late submissions are accepted.
Last modified January 23, 1999.