Course Outline
Thirty-two lectures of two hours each (64 contact hours), organised in four blocks. Core cases are mandatory; the case pages also contain optional extensions. Every lecture owns its four base cases cs-4N−3 … cs-4N (lecture N), and fourteen lectures additionally carry one or two applied cases (cs-129 – cs-144) that integrate data science, systems, and communication scenarios — see the case-study catalog for each lecture's full list.
Week numbers assume one lecture per week plus the scheduled lab/quiz weeks of your calendar. The generated Case-Study Catalog is the single source of truth for case titles, difficulty levels, and links.
Most lectures follow the standard case-cycle rhythm; seven workshops, two debugging clinics, one review session, and the capstone deliberately use different structures (see Teaching Methodology). Every plan carries prerequisite knowledge, a topic outline, worked examples, activities, instructor notes, practice exercises, exit questions, and an explicit learning-outcome mapping.
Block I — Foundations (Lectures 01–08)
Computational thinking, pseudocode, flowcharts, first Python, traces and debugging, systematic testing.
| Lec | Title | Cases (all Core) | Difficulty span |
|---|---|---|---|
| 01 | Thinking in Problems | cs-001 – cs-004 | Beginner → Expert |
| 02 | Pseudocode as Precision | cs-005 – cs-008 | Beginner → Expert |
| 03 | Flowcharts and Control Flow | cs-009 – cs-012 | Beginner → Advanced |
| 04 | First Python: State and Sequences | cs-013 – cs-016 | Beginner → Advanced |
| 05 | Numbers, Remainders, and Cycles | cs-017 – cs-020 | Beginner → Advanced |
| 06 | Traces and Loop Reasoning | cs-021 – cs-024 | Beginner → Advanced |
| 07 | Debugging as a Method | cs-025 – cs-028 | Beginner → Advanced |
| 08 | Testing Before Trusting | cs-029 – cs-032 | Beginner → Advanced |
Block II — Core Techniques (Lectures 09–16)
Iteration patterns, strings, lists, dictionaries and sets, functions, counting, mid-course consolidation.
| Lec | Title | Cases | Difficulty span |
|---|---|---|---|
| 09 | Aggregation Patterns | cs-033 – cs-036 | Beginner → Advanced |
| 10 | Strings Under the Lens | cs-037 – cs-040 | Beginner → Advanced |
| 11 | Lists and Slicing | cs-041 – cs-044 | Beginner → Advanced |
| 12 | Debugging Lab: Real Defects | cs-045 – cs-048 | Beginner → Advanced |
| 13 | Dictionaries and Sets | cs-049 – cs-052 | Beginner → Expert |
| 14 | Functions and Reuse | cs-053 – cs-056 | Beginner → Expert |
| 15 | Counting, Combinatorics, and Choice | cs-057 – cs-060 | Beginner → Advanced |
| 16 | Mid-Course Consolidation | cs-061 – cs-064 | Beginner → Advanced |
Block III — Algorithms (Lectures 17–24)
Search, sorting, binary search, recursion, greedy, dynamic programming, graph basics — with analysis woven through.
| Lec | Title | Cases | Difficulty span |
|---|---|---|---|
| 17 | Searching and Linear Scans | cs-065 – cs-068 | Beginner → Expert |
| 18 | Sorting and Pair Scans | cs-069 – cs-072 | Beginner → Expert |
| 19 | Invariants and Two Pointers | cs-073 – cs-076 | Beginner → Advanced |
| 20 | Brute Force and When It Wins | cs-077 – cs-080 | Beginner → Advanced |
| 21 | Binary Search Everywhere | cs-081 – cs-084 | Beginner → Expert |
| 22 | Recursion and Divide-and-Conquer | cs-085 – cs-088 | Beginner → Expert |
| 23 | Greedy and Dynamic Programming | cs-089 – cs-092 | Beginner → Advanced |
| 24 | Graphs as Models | cs-093 – cs-096 | Beginner → Advanced |
Block IV — Data Science & Strategy (Lectures 25–32)
Data-oriented reasoning, probability, simulation, optimisation, strategy, capstone.
| Lec | Title | Cases | Difficulty span |
|---|---|---|---|
| 25 | Thinking with Data | cs-097 – cs-100 | Beginner → Expert |
| 26 | Counting and Probability in Data | cs-101 – cs-104 | Beginner → Expert |
| 27 | Tables, Cleaning, and Anomalies | cs-105 – cs-108 | Beginner → Advanced |
| 28 | Summaries That Don't Mislead | cs-109 – cs-112 | Beginner → Advanced |
| 29 | Simulation as a Way of Knowing | cs-113 – cs-116 | Beginner → Expert |
| 30 | Optimization Formulations | cs-117 – cs-120 | Beginner → Expert |
| 31 | Strategy Under Uncertainty | cs-121 – cs-124 | Beginner → Advanced |
| 32 | The Whole Toolbox: Capstone Cases | cs-125 – cs-128 | Beginner → Advanced |
Assessment calendar
| Week (lecture) | Event |
|---|---|
| 04 | Quiz 1 · Lab 1 |
| 06 | Lab 5 · Lab 6 (choose one slot) |
| 08 | Quiz 2 · Assignment 1 due |
| 10 | Quiz 3 · Lab 2 |
| 11 | Lab 7 (debugging clinic) |
| 12 | Lab 8 (test design) |
| 14 | Quiz 4 · Assignment 2 due · Lab 9 |
| 16 | Lab 10 (counting) |
| 18 | Quiz 5 · Lab 3 |
| 22 | Quiz 6 · Assignment 3 due |
| 23 | Lab 11 (binary search) · Lab 12 (recursion, choose one slot) |
| 24 | Lab 4 · project choice registered |
| 26 | Own-proposal deadline (template) |
| 28 | Quiz 7 · Assignment 4 due · project midpoint (checklist) |
| 30 | Assignment 5 due |
| 31 | Assignment 6 (portfolio) due |
| 32 | Quiz 8 · Project final |