INFOSEC

CPSC 1110: Data Structure and Program Design

Course Description

 

Continued development of programming style using abstract data structures and top-down design. Debugging and testing of large programs. Emphasis on algorithm development. List processing. Recursion. (Stacks, trees, searching and sorting.) Lecture 2 hours and laboratory 3 hours. Prerequisite: CPSC 150 with a grade of C or better.

Textbook

    Fran Carrano and Janet J Prichard, Data Abstraction and Problem Solving with Java, Edition: 2, Addison and Wesley, ISBN: 0-312-30428-4

Lecture Notes

 

Chapter 1: Review of Java Fundamentals,     Exceptions

        Codes: TestClass.java; SimpleSphere.java; ExceptionExample.java; TestExceptionExample.java; UsingExceptions.java; DivideByZeroException.java; DivideByZeroTest.java; TestExceptionExample1.java; copyTextFile.txt; Person2.java; searchFileSequentiallyByText.txt; Person.java; PersistentTime.java; FlattenTime.java; InflateTime.java

Chapter 2. Principles of Programming and Software Engineering, File Input/Output

        Codes: IncomeStatistics.java; writeData.java

Chapter 3. Recursion: The Mirrors

        Codes: binDemo.java; binSearch.txt; fact.txt; myString.java;  iterativeString.java; rabbit.txt; WhileLoopBinarySearch.java

Chapter 4. Data Abstraction: The Walls

        Codes: Sphere.java; testSphere.java; ColoredSphere.java; testColor.java; testequality.java; compareTo.txt; FullName.java; Book.java; BookTest.java; IntegerListInterface.java; ListInterface.java; ListArrayBased.java

Chapter 5. Linked Lists

        Codes: MyNumber; increaseCapacity; IntegerNode; TestIntegerNode; Node; ListInterface; ListReferenceBased; ListException; writeList; writeBackward2; insertRecursive; StockItem; Customer; MyClass; TestMyClass; TestLinkedList; GroceryList
Chapter 6. Stacks

        Codes: TestStack.java; StackInterface.java; StackException.java; StackArrayBased.java; StackArrayBasedTest.java; StackReferenceBased.java; stackLLTest.java; StackListBased.java

Chapter 7. Queues
Chapter 8. Advanced Java Topics
Chapter 9. Algorithm Efficiency and Sorting
Chapter 10. Trees: Part A, Part B
Chapter 11.Tables and Priority Queues: Part A, Part B
 

Labs

 

Projects