Java Software Structures: Designing and using Structures by Lewis and Chase, 3rd Ed. ISBN 978-0-13-607858-6 (paperback)
The prerequisite for this course is C or better in CS 211. Students are expected to have a significant degree of skill in programming (program organization, coding, documenting, testing and debugging). Students should be acquainted with basic complexity analysis ("big O") and be able to build abstract data types using Java classes.
CS 310 continues the study of data structures from CS 211. Students will learn how to approach larger and more challenging programming projects than the projectsin CS 211. Programming is a significant part of this course and students should expect to spend a good deal of time on the programming projects.
Course Outcomes
There will be several programming assignments.
Programming assignments will be posted on the course website.
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% per day late penalty. You
are responsible for keeping backups of your work.
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.
There will be a midterm exam and a final. There will be no makeups on exams except under exceptional circumstances, and any such makeup must be arranged in advanced. Grades will computed from a weighted average computed with the following weights: