CSC 103 Assignment 1:
Lists, Stacks, and Queues
Write a Java program that implements the methods of a GeneralList class. Precise specifications of the class and its methods are provided in the class documentation at
http://latte.java.calpoly.edu/~gfisher/classes/103/assignments/1/javadoc
Your job for this assignment is to copy the unimplemented template file for the GeneralList class and fill in the methods. The template file for you copy is
http://latte.java.calpoly.edu/~gfisher/classes/103/assignments/1/GeneralList.java
Your implementation of GeneralList must use a linked list data representation of some form. Specific implementation details are up to you, as long as your program meets the performance requirements given below. You must write your own linked-list implementation, without using the JFC LinkedList class or any similar Java library class.
Your implementation must meet the following performance requirements:
A simple demonstrational testing program is provided at
http://latte.java.calpoly.edu/~gfisher/classes/103/assignments/1/GeneralListTest.java
This test program provided is for demonstration purposes. When you hand in your solution to assignment 1 it will be subject to more rigorous testing. It is your job to ensure that your implementation works properly for any possible test data.
Chapter 3 of the text book and the week 2 lecture notes describe the linked- list implementation techniques you'll need for this assignment. A discussion of the O-notation used to define the performance requirements is in Chapter 2 of the book and lecture notes week 1.
Your program will be graded with a raw score of 100 points, broken down as follows:
For assignment 1, the class and method comments are provided for you in the template, so you get these points for free for this assignment. Note that in terms of the grading scheme presented in the course syllabus, this point breakdown means that a completely undocumented program is worth at best a "C" grade.
Program Feature Points Correct compilation 10 Correct output 40 Correct performance 25 Correct documentation 25 class comment 8 method comments 12 data field comments 2 in-line code comments 3
Further specific details of program documentation conventions are covered in the handout on program design and implementation
For this and all future programming assignments, you will use the UNIX
turnin command. Details of program turnin will be be covered in the
second week of lab.