CS 635 Advanced Object-Oriented Design & Programming

Spring Semester, 2006

Assignment

Assignment Index

© 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:

  1. Implements a doubly linked list.

  1. The nodes in the linked list contain integers.

  1. You can add elements to a linked list.

  1. Given a k, your code returns the k'th element in the list. If k is out-of-bounds throw an exception.

  1. Print out the even elements in the list from the front to the back of the list.

  1. 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.