CPTS 223 – Advanced Data Structure C/C++

Course Overview

CPTS 223 covers advanced data structures and algorithm design using C++ with practical coding projects and parallel programming fundamentals.

Learning outcomes:

  • Implement and evaluate data structures in C++ & STL
  • Analyze algorithm complexity (asymptotics)
  • Apply basic parallel programming (OpenMP)

Tools and Infrastructure:

  • Linux develop environment
  • g++ and CMake
  • Git version control
  • CI/CD via GitHub Actions

Syllabus

Lecture Schedule

Lecture Topic Slides
1 [0] Why Data Structure 1 Slides
2 [1] C++ Tools Slides
3 [1] C++ Features Slides
4 [2] Basic ADTs Slides
5 [3] Why Data Structure 2 Slides
6 [3] Math Review: Basic Slides
7 [3] Math Review: Proof Slides
8 [4] Algorithm Analysis Slides
9 [5] BST Slides
10 [5] AVL Slides
11 [5] Splay Tree Slides
12 [5] B-Tree Slides
13 [5] Set and Map Slides
14 [5] RB Tree Slides
15 [6] Hash Table Slides
16 [7] Parallel Computing 1 Slides
17 [7] Parallel Computing 2 Slides
18 [7] Parallel Computing 3 Slides
19 [8] Heaps Slides
20 [9] Sorting Slides
21 [10] Disjoint Sets Slides
22 [11] Graph Slides
23 [12] Data Structure for AI Slides