Skip to main content
CSC 241IntermediateComputer Science

Data Structures and Algorithms

This course develops a working understanding of how data structures and algorithms behave, how to reason about their efficiency, and how to choose the right tool for a problem. Students move from arrays and linked structures through trees, hashing and graphs, then study sorting, searching and algorithmic strategy. Assessment combines short practice sets with two graded assessments.

Learning outcomes

  • Analyse the time and space complexity of an algorithm using asymptotic notation.
  • Select an appropriate data structure for a given problem and justify the choice.
  • Implement common sorting and searching algorithms correctly.
  • Model a problem as a graph and apply a standard traversal to solve it.

Course outline

  1. Why efficiency matters25 min
  2. Big-O, big-Theta and big-Omega35 min
  3. Arrays and memory layout30 min

Knowledge concepts covered

Algorithmic complexityArrays and memory layoutLinked structuresRecursionTrees and binary search treesHashingSorting algorithmsSearchingGraphs and traversal