American River College logo
ARC Home
American River College banner
CISP 430: Data Structures
American River College Library logo
ARC Library
Spring 2018
code 20003
Lecture: Sat 9:00am-10:20AM in CMC 407.
Lab: Sat 10:30-11:50am in CMC 408
Lecture and Lab attendance is mandatory.
Topics and assignment due dates are subject to change at the discretion of the instructor.
LessonTopicsAssignment Due
Meeting 1 Sat, Jan 13
  • Syllabus Overview
  • Course Introduction
  • Canvas tour
  • How to be successful in this course
  • Using the ARC computing environment

Exercises are due by midnight on the date due unless it is stated otherwise. Activities must be submitted during lab period. All reading assignments must be completed prior to the indicated class meeting.

  • Verification of Prerequisites
  • Log on to the class website
  • Establish your ARC gmail account
  • Writing the Mandelbrot classes
Read Chapter 1
Introduction to Software Design
Activity 1
3 x 5 card about yourself
Meeting 2 Sat, Jan 20
  • Software development
  • Writing detailed specifications
  • Interpreting specifications
  • Modularity
  • Language basics
  • Memory management
  • Static vs. dynamic
  • Pointers
  • Pass-by-value vs. pass-by-reference
  • Parameter passing: formal vs. actual
Read Chapters 2.1-2
Program Correctness and Efficiency
Activity 2
Related Content
Meeting 3 Sat, Jan 27
  • Data protection
  • Data abstraction
  • Abstract data type (ADT)
  • Set of operations and set of values
  • Information hiding
  • User interface
  • Least privilege
  • Basic ADTs
  • ADT array
  • ADT record
  • Implementation details
Read Chapter 3
Inheritance and Class Hierarchies
Exercise 1
Mandelbrot using ComplexNumber and PPMFile classes
Activity 3
Related Content
Meeting 4 Sat, Feb 3
  • ADT list
  • ADT list Operations
  • ADT list Implementation: array, array of pointers, and linked structures
  • ADT list Using lists to solve problems
Read Chapter 4
Sequential Containers
Quiz 1
Related Material
Meeting 5 Sat, Feb 10
  • ADT stack
  • ADT stack Operations
  • ADT stack Implementation: array, array of pointers, and linked structures
  • ADT stack Implementation using ADT list
  • ADT stack Using stacks to solve problems
Read Chapter 5
Stacks
Exercise 2
Related content
Activity 4
Related Content
Meeting 6 Sat, Feb 17
  • ADT queue
  • ADT queue Operations
  • ADT queue Implementation: array, array of pointers, and linked structures
  • ADT queue Implementation using ADT list
  • ADT queue Using queues to solve problems
Read Chapter 6
Queues and Deques
Activity 5
Related Content
Meeting 7 Sat, Feb 24
  • File processing
  • File processing: Reading and writing
  • File processing: Text and non-text files
  • File records: fixed size vs. variable size
Exercise 3
Related Content
Activity 6
Related Content
Meeting 8 Sat, Mar 3
  • Introduction to recursion
  • Recursion: Basic algorithms
  • Recursion: Efficiency vs. iteration
  • Advanced recursion
  • Backtracking
  • Defining languages
  • The base case
  • Recursion and proof by induction
Read Chapter 7
Recursion
Quiz 2
Related Material
Meeting 9 Sat, Mar 10
    Midterm: This comprehensive lab practical involves content presented up to Recursion.
Meeting 10 Sat, Mar 17
  • Sorting, searching
  • Sequential search
  • Binary search
  • Bubble, selection, and insertion sort
  • Merge and quick sort
  • Radix sort
  • Big-O
  • Big-O Worse case estimation
  • Big-O Data set size
  • Big-O Conceptual categories
  • Big-O Definition and proof
  • Big-O analysis of searching and sorting
Read Chapter 10.1-4,10.7,10.9
Sorting
Read Chapter 2.6
Efficiency of Algorithms
Exercise 4
Related content
Activity 7
Related Content
Meeting 11 Sat, Mar 24
  • Trees: Introduction
  • Trees: General tree terminology
  • Trees: ADT binary tree
  • Trees: ADT binary search tree
Read Chapter 8
Trees
Quiz 3
Related Material
Sat, Mar 31
  • Spring Break(no class this Saturday)
Meeting 12 Sat, Apr 7
  • Binary trees
  • Binary trees: Implementation as: array of data, array of pointers, linked nodes
  • Binary trees Tree traversal: in-order, pre-order, post-order
  • Binary trees Full and complete trees
  • Binary trees Adelson-Velskii and Landis (AVL) trees
Exercise 5
Related content
Activity 8
Related Content
Meeting 13 Sat, Apr 14
  • ADT heap
  • ADT heap using Binary tree
  • ADT heap Complete tree
  • ADT heap Parent/child relation
  • ADT heap Re-heapify upward
  • ADT heap Re-heapify downward
  • ADT heap Heap sort
  • ADT heap Implementation
Read Chapter 10.8
Heapsort
Quiz 4
Related Material
Meeting 14 Sat, Apr 21
  • ADT hash table
  • ADT hash table Non-linear structure
  • ADT hash table Unique keys
  • ADT hash table Hash function types
  • ADT hash table Perfect hash functions
  • ADT hash table Collisions
  • ADT hash table Collisions resolution
  • ADT hash table Hash buckets
  • ADT hash table External chaining
Read Chapter 9.3
Hash Tables
Exercise 6
Related content
Activity 9
Related Content
Meeting 15 Sat, Apr 28
  • ADT graph
  • ADT graph Edges and vertices
  • ADT graph Path
  • ADT graph Cycle
  • ADT graph Degree of a vertex
  • ADT graph Directed and undirected edges
Read Chapter 12
Graphs
Quiz 5
Related Material
Meeting 16 Sat, May 5
  • Sub-graph
  • Connectivity
  • Graph traversal: breadth-first, depth-first
  • Final review and in-class activity
Exercise 7
Related content
Activity 10
Related Content
Final Exam Sat, May 12
  • Final Exam - 9am - 11am