Skip to content
MDU
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
OverviewDetailsNotes
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
ComponentWeight
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