Module code: COS5021-B
This module provides an in-depth exploration of fundamental data structures and algorithms essential for efficient problem-solving and software development. Students will learn to analyze, implement, and optimize core data structures such as arrays, linked lists, stacks, queues, trees, and graphs, along with fundamental algorithms for sorting, searching, and traversal. Emphasis is placed on algorithmic complexity, enabling students to evaluate the efficiency and performance trade-offs of various approaches. Practical applications and real-world problem sets will reinforce these concepts, preparing students to tackle complex computational challenges and develop optimized, scalable solutions. Moreover, the module will build computational thinking as a foundational skill for problem-solving in computer science as students will explore data representation, optimization, and theoretical analysis, while gaining familiarity with established algorithms and data structures essential for tackling common computational challenges in practical applications. Download the PDF for COS5021-B_2026_7.pdf