CPSC 39 - Programming and Methodology II - Data Structures
Course Description:
This course is a continuation course in computer science which introduces further aspects of software design and implementation, abstract data types, fundamental data structures and associated algorithms, lists, stacks, queues, and trees
Expected Student Outcomes or Objectives: Upon successful completion of this course, students should be able to demonstrate the following skills and abilities:
- Write programs that use each of the following data structures: arrays, records, strings, linked lists, stacks, queues, and hash tables
- Implement, test, and debug simple recursive functions and procedures
- Evaluate tradeoffs in lifetime management (reference counting vs. garbage collection)
- Explain how abstraction mechanisms support the creation of reusable software components
- Design, implement, test, and debug simple programs in an object-oriented programming language
- Compare and contrast object-oriented analysis and design with structured analysis and design
A good data structures book, by Duane Bailey
Lafore's Data Structure Visuals
- Chapter 2: Array
- Chapter 2: Ordered Array
- Chapter3: Bubble Sort
- Chapter 3: Insertion Sort
- Chapter 3: Selection Sort
- Chapter 4: Queue
- Chapter 4: Priority Queue
- Chapter 4: Stack
- Chapter 5: Linked List
- Chapter 6: Merge Sort
- Chapter 6: Towers
- Chapter 7: Quick Sort1
- Chapter 7: Quick Sort2
- Chapter 7: Shell Sort
- Chapter 7: Partition
- Chapter 8: Tree
- Chapter 9: Red Black Tree
- Chapter 10: 234 Tree
- Chapter 11: Hash
- Chapter 11: Hash Chain
- Chapter 11: Hash Double
- Chapter 12: Heap
- Chapter 13: GraphD
- Chapter 13: GraphN
- Chapter 14: GraphDW
- Chapter 14: GraphW