School of Computational Arts & Sciences Undergraduate 6 ECTS
CS210 · Data Structures & Complexity
Study core data structures and complexity with hands-on implementation: stacks, queues, trees, hash tables, and graphs. Focus on choosing the right structure, analyzing time/space tradeoffs, and writing performance-aware code with clear invariants.
- algorithms
- performance
| Overview | Details | Notes |
|---|---|---|
| Code | CS210 | — |
| Title | Data Structures & Complexity | — |
| School | School of Computational Arts & Sciences | — |
| Level | Undergraduate | — |
| Credits | 6 ECTS | — |
What you will learn
- · Implement and analyze core data structures (lists, stacks, queues, trees, hash tables)
- · Explain time/space complexity and tradeoffs in real code
- · Design APIs and tests that make correctness checkable
Prerequisites
- · CS101 (or equivalent programming experience)
Assessment
| Component | Weight |
|---|---|
| Problem sets | 30% |
| Implementation labs | 30% |
| Midterm (written + code review) | 20% |
| Final project (data structure + report) | 20% |
Weekly outline
Week 1: Complexity and measurement
3 topics
- · Big-O as a model
- · Benchmarking pitfalls
- · Reading profiler output
Week 2: Arrays, lists, and invariants
3 topics
- · Memory layout
- · Amortized analysis
- · Invariants as documentation
Week 3: Stacks, queues, and parsing
3 topics
- · Monotonic stacks
- · Queue implementations
- · Small parsing tasks
Week 4: Hash tables
3 topics
- · Hash functions
- · Collision strategies
- · Load factors and resizing
Week 5: Trees
3 topics
- · BST basics
- · Balancing intuition
- · Traversal patterns
Week 6: Graphs (intro)
3 topics
- · Representations
- · BFS/DFS
- · Tradeoffs
Week 7: Testing and verification habits
3 topics
- · Edge cases
- · Property-style thinking
- · Regression test suites
Week 8: Project build and review
3 topics
- · Code review
- · Performance notes
- · Write-up and defense