CS410: Course Policies and General Information
Spring 1999 - Prof. Joe Halpern
Staff and Office Hours
... can be found here
Prerequisites
The official prerequisites for the course are CS211 or CS212, and
CS280. If you are contemplating taking the course without one of these,
see the instructor. In addition,
you should be comfortable programming in Java.
If you know C, C++, or some other high-level language you should be
able to learn Java relatively easily. If you
don't know Java or C++, you should seriously consider taking a 3-week
1-credit course in Java: CS202. You can also find pointers to Tutorials
on Java on the links page.
Grading
There will be one midterm exam,
given in class, and a final exam, given at the scheduled
final-exam time. (Unfortunately, that means Friday May 21, 12-2:30
PM.) Homework and exams will be weighted roughly as follows:
- Problem sets: 20%
- Programming assignments: 25%
- Midterm: 20%
- Final: 35%
Homework
There will be 10 homework assignments: 6
problem sets and 4 programming assignments.
They will be due at the beginning of class.
The programming language for the course will be Java.
Programs must
compile and execute correctly using Microsoft J++ in the CSUGLab (315/317 Upson).
You will be expected to
use good programming practices such as structured code and comments;
this will be reflected in the grading. On the links page you can find further information on using CSUGLab and J++.
Late Homework Policy: Homework will on
ly be accepted in class and on time.
Every day or part of a day that homework is late, 20% will
be deducted fom the grade. However, to cover cases of emergency or
illness, one assignment will be accepted one lecture late without penalty. You do not need
to inform me about late homework in advance or give me any
excuses. Excuses for late
homework beyond the first will be accepted only under unusual
circumstances.
Academic Integrity:
It's OK to discuss the problems with others,
but you MUST write
up solutions on your own, and understand what you are writing.
You may not copy any part of someone else's code or written homework.
To do so is a violation of the Academic Integrity Code.
Warning: The problem sets count for 25%
of the grade; the programming assignments contribute another 25%. It is
unlikely that you will learn the material in the course unless you
do the problem sets. Those who skip a significant number of them
almost always end up with a poor final grade.
Text and References
The course text is Introduction to Algorithms, by
Cormen, Leiserson, and Rivest. I will be following it quite closely.
There are a number of
errors in the text.
Other Helpful References (all on reserve in the Engineering
Library) include:
- Aho, Hopcroft, and Ullman:
Data Structures and Algorithms
- Sedgewick: Algorithms / Algorithms in C/
Algorithms in C++ (these are three different books;
Algorithms in Java should be out shortly)
- Tarjan: Data Structures and Network Algorithms
Outline
See the first week's course notes (page
13).
Newsgroup
There is a newsgroup for the class:
cornell.class.cs410. You should subscribe to the newsgroup. Post
questions to the newsgroup regarding homework (or anything else relevant
to the course), and one of the CS410 staff will try to answer
it. Here is further information on how to
subscribe and read newsgroups, in case you don't already know.
Class Notes
The notes are in pdf. An Acrobat reader should fire up when you click
on the notes you're interested in. I'll shortly have it up in a format
where there are 4 pages/page.