The text is Mark Allen Weiss, Data Structures and Algorithm Analysis in Java, 2nd ed., Addison Wesley, 2007.
I will assume that you have developed a significant degree of skill in programming (program organization, coding, documenting, testing and debugging) -- you will develop yet more this semester. I will also assume that you are acquainted with basic complexity analysis ("big O") and are able to build abstract data types using Java classes.
Topics to be covered include:
The students will:
Grades will computed from a weighted average computed with the following weights:
There will be several programming assignments. Programming assignments will be posted on the course website.
You may discuss the programming projects with
other students (this is encouraged) but you must do and submit your own work.
No joint work will be accepted. I will use
software
to detect plagiarism in programming assignments.
There will be a midterm exam and a final. There
will be no makeups on exams except under exceptional circumstances (as judged by
me), and any such makeup must be arranged in advanced.
Read the CS Department honor
code:
http://cs.gmu.edu/wiki/pmwiki.php/HonorCode/CSHonorCodePolicies
and the University honor code:
http://honorcode.gmu.edu. You are bound by these honor codes.
Any submitted work
which shows too much commonality with others' work to be completely
original, or any plagiarized work, will receive a grade of 0. Any
code which is presented in class or provided to you as part of the
project may be included in your programs.
You can only turn in a program once. No revisions or additions can be made to your program after it has been submitted. Late programs will be accepted with a 10 points per day late penalty. You are responsible for keeping backups of your work ("my disk crashed" and "my roommate ate my program" are not reasons for late submissions).