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 |