CS 635 Advanced Object-Oriented Design and Programming

Spring Semester, 2009

Assignment 1

Assignment Index

© 2009, All Rights Reserved, SDSU & Roger Whitney

 San Diego State University -- This page last updated 1/22/09

Assignment 1

Due Jan 29

Produce code with the following functionality:

  1. Implements a doubly linked list.

  1. Each node in the linked list contains a string.

  1. You can add elements to a linked list. When you a dd an new string to the list is maintained in lexicographical order.

  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 strings that start with a vowel in the list from the front to the back of the list.

  1. Print out the strings of odd length 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.



Percent of Grade

Working Code




Quality of Code


Object-oriented code


Working Code . How well your code meets the functional requirements listed above accounts for 30% of the grade for the assignment.

Comments . Having the appropriate comments in your code will count for 20% of the grade.

Quality of Code . Having good quality of code counts for 25% of the grade. Quality of code includes formatting, names and appropriate of code constructs.

Object-Oriented Code . How object-oriented your code is will determine 25% of your grade.

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.

I am working on a way for students to turn in assignments electronically. These instructions will be updated when that is in place.


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.