How to Study Each Week

Study Principles:

  • Write from scratch: You cannot learn programming by just reading notes. You must write and run the code yourself.
  • Don’t rely on AI too early: When you get stuck, try to debug it yourself first. Resorting to AI immediately skips the critical learning process.

Follow this 4-step loop every week:

1
Lecture Notes
Read carefully and understand every example.
2
Syntax Guide
Use as a quick reference. Type the examples yourself — don't copy-paste.
3
Worksheet
Attempt every problem before checking solutions.
4
Practice
Reinforce with extra problems.

Stuck on a Problem?

If you get stuck while writing code:
1. Trace on Paper: Walk through the code in your head and trace variable values step-by-step.
2. Review Syntax: Check the syntax guide or notes to identify mismatches.
3. Study the Solution: If still blocked, check the working solution and rewrite it yourself.

Still Feel Lost or Weak?

If you have finished all the study loops and mockup exams but still feel like you need more practice, head over to the Resources Page for extra code examples, cheat sheets, and supplementary notes.


Course Roadmap

Each week builds directly on previous ones. Follow this path top-to-bottom.

PHASE 1 Foundations Write, compile, and run your first program
Week 1 Introduction & Basics

Variables, data types, input/output, and compiling your very first C/C++ program.

PHASE 2 Control Flow Organize code into functions and make conditional decisions
Week 2 Functions
Builds on: Week 1 — Basics

Organize code into reusable, callable blocks with parameters and return values.

Week 3 Conditional Statements
Builds on: Week 1 — Basics Week 2 — Functions

if / else and switch — programs that adapt their behavior based on conditions.

PHASE 3 Data Structures Store and process collections of data with loops and arrays
Week 4 & 5 Loops & Arrays
Builds on: Week 2 — Functions Week 3 — Conditionals

Repeating actions with for/while loops and storing sequences of data in 1D arrays.

Week 6 More on Arrays
Builds on: Week 4 & 5 — Loops & Arrays

Searching, sorting, and advanced manipulation of array data — the tools of real programs.

Milestone Mockup Midterm
Tests: Phase 1 Phase 2 Phase 3

A comprehensive mock exam focusing on paper-based code tracing, output prediction, and debugging.

PHASE 4 Advanced Topics Master 2D data, recursive thinking, and direct memory access
Week 7 & 8 Nested Loops & 2D Arrays
Builds on: Week 4 & 5 — Loops & Arrays Week 6 — More Arrays

Grids, matrices, and loops inside loops — the foundation for image processing and tabular data.

Week 9 Recursion
Builds on: Week 2 — Functions Week 4 & 5 — Loops & Arrays

Functions that call themselves — an elegant and powerful technique for solving problems that repeat with smaller inputs.

Week 10 Pointers
Builds on: Week 4 & 5 — Loops & Arrays Week 6 — More Arrays

Direct memory access via addresses — the most fundamental concept in systems programming and a gateway to dynamic memory.

Milestone Mockup Final
Tests: Entire Course (Phases 1 - 4)

The ultimate comprehensive exam covering everything from basic I/O up to Pointers and Recursion.