Course Syllabus Computer Science 282 Advanced Data Structures
Insert Semester Course Syllabus WARNING: Hybrid Section 50% in class, 50% online

Course Description: An exploration of advanced data structures (particularly persistent structures) using object-oriented design. An introduction to databases using Java. Course reviews main-memory data structures such as hash tables and trees. Disk-based structures such as persistent hash tables and indexed files. Architectural foundations for files, large scale sorting and serialization.

Insert WhenWhere
Attendance for the on ground portion is mandatory. Students with excessive absences may be dropped according to the rules of the Santa Clarita Community College District.

Please check CMP SCI 282 on Canvas each week for:

Insert Instructor

Required Text: Insert Book Info

Grading: Grading will be based on the following breakdown:

Exam 1 10% 20 points
Midterm 20% 40 points
Exam 2 10% 20 points
Final 30% 60 points
Online and Project Assignments 30% 60 points
Needed Point Totals: A – 175 points, B – 155 points, C – 130 points, D – 110 points

NO, NO, NO Laptops, cell phones or Ipod/MP3 players are to be used during class lectures. Laptops may ONLY be used during lab time. Surfing the Internet during class time is reserved for class related web sites. EBay, chat rooms, sports sites and other non class related surfing is strictly prohibited. Violations of these rules may result in a penalty reduction of points.

Important Dates:

Insert Exam1
Insert Midterm
Insert Exam2
Insert Final
Please be sure to avoid scheduling conflicts with these dates.
See Back/Below for more Info

Student Learning Outcomes:
1) Evaluate advanced data structures and algorithms with an emphasis on persistence.
2) Analyze data structure impact on algorithms, program design and program performance.

Course Outline

  1. Review of Data Structures, Databases, RAM vs. Disk Memory, Persistant Data Structures, Speed vs. Space
  2. Review of Hash Tables, Hash tables on disk, The bucket approach, Index file approach (2 files required)
  3. Review of Binary Trees, Trees vs. Binary Trees, Binary Search Trees, Storing Binary Trees as Disk files (two approaches)
  4. Red-Black Trees, RAM based, Balanced vs. unbalanced trees, Rotations, Insertions, Deletions
  5. 2-3-4 Trees and external storage (disk files), B Trees, Search, Insertion, Node splits
  6. Heaps, Heap Sort, Trickle down
  7. Graphs, Edges and vertices, Searching, Breadth-First, Depth-First, Minimum Spanning Trees
  8. Weighted Graphs, Shortest path, Dijkstra's algorithm, Shortest path
  9. When to use what - Review of data structure choices