CS 635 Advanced Object-Oriented Design & Programming
Spring Semester, 2006
Assignment
© 2006, All Rights Reserved, SDSU & Roger Whitney
San Diego State University -- This page last updated 1/18/06
Assignment 1
Due Jan 24, 2006
Produce code with the following functionality:
Implements a doubly linked list.
The nodes in the linked list contain integers.
You can add elements to a linked list.
Given a k, your code returns the k'th element in the list. If k is out-of-bounds throw an exception.
Print out the even elements in the list from the front to the back of the list.
Print out the odd elements in the list from the back to the front of the list.
You are to write your own linked-list code. Do not use any existing library or code to implement the linked-list.
Language
The prerequisites for CS636 are CS535 and knowing C++, Java, C#, Ruby or Smalltalk. Your assignment must be in one of these languages.
Grading
Percent of Grade |
|
Working Code |
35% |
Comments |
25% |
Quality of Code |
40% |
Working Code . How well your code meets the functional requirements listed above accounts for 35% of the grade for the assignment.
Comments . Having the appropriate comments in your code will count for 25% of the grade.
Quality of Code . Having good quality of code counts for 40% of the grade. Quality of code includes formatting, names and modularity.
For more information about comments and quality of code see the lecture notes of past CS535 courses. For even more information see Code Complete, McConnell, Microsoft Press, 1993. Smalltalk programmers can look at Smalltalk Best Practice Patterns, Beck, Prentice Hall PTR, 1997
What to Turn in
Turn in hard copy of your code.
Note to C++ people. C++ classes are have a header and an implementation. Place the header and implementation in separate files. Do not include any implementation in the header file.
Crashers
Turn in the assignment, but indicate on your paper that you are a crasher.
Late Policy
An assignment turned in 1-7 days late, will lose 3% of the total value of the assignment per day late. The eight day late the penalty will be 40% of the assignment, the ninth day late the penalty will be 60%, after the ninth day late the penalty will be 90%. Once a solution to an assignment has been posted or discussed in class, the assignment will no longer be accepted. Late penalties are always rounded up to the next integer value.