homework.wenqian.dev

Course Materials

Weekly content will appear here as the course progresses.

  1. Week 12026-05-21

    C Basics

    • Linux Commands
    • C Declarations
    • Data Types
    • Control Flow
  2. Week 22026-05-28

    Functions

    • Week 1 Review
    • Function Syntax
    • void Functions
    • Scope
  3. Week 32026-06-04

    Practice, Debugging, and Arrays

    • Loop Tracing
    • Function Review
    • Array Basics
    • Reading Many Values

Assignment

Standalone practice sets for students who need more time with the basics.

  1. Assignment 12026-06-06

    Function and Loop Practice

    • Functions
    • Loops
    • Digits
    • Prime Counting
    • Divisors
    • Palindrome

Tutorial

Step-by-step projects to build during class.

  1. Tutorial 12026-06-25

    Color Sort Puzzle

    • Python Lists
    • Swap
    • Game Loop
    • Fancy Terminal UI
    • Undo and Hints
  2. Tutorial 22026-07-02

    Python Class Starter

    • class
    • object
    • self
    • attributes
    • methods
    • Calculator
    • Arithmetic
  3. Tutorial 32026-07-30

    Starfall Arena

    • Python Restart
    • Lists and Functions
    • Class Practice
    • Terminal UI
    • Battle Game
  4. Tutorial 42026-08-06

    Escape the Station

    • dict
    • Nested dict
    • Counting Bag
    • File Read/Write
    • Save and Load
    • Text Adventure
  5. Tutorial 52026-08-13

    Maze Search Lab

    • BFS
    • DFS
    • Queue vs Stack
    • Grid Neighbours
    • Shortest Path
    • Animated Terminal
  6. Tutorial 62026-08-20

    Four Questions, One Search

    • Flood Fill
    • Connected Rooms
    • Distance Map
    • Multi-Source BFS
    • Recursive DFS
    • list vs deque
  7. Tutorial 72026-08-27

    The Third Take Rule

    • Weighted Graph
    • Terrain Cost
    • Priority Queue
    • Dijkstra
    • Directed Edges
    • heapq
  8. Tutorial 82026-09-03

    The Graph That Changed Twice

    • Object References
    • Mutable vs Immutable
    • Mutation vs Rebinding
    • Shallow and Deep Copy
    • Function Arguments
    • Equality vs Identity
    • Shared State Traps
    • Hashable Keys

Exam

Timed mixed-format checks for recently covered material.

  1. Exam 12026-07-02

    Python Foundations Practical Exam

    • Code Tracing
    • Python Lists
    • Functions
    • Input Validation
    • Debugging
    • Small Programs
  2. Exam 22026-08-13

    Dict and File Practical Exam

    • dict
    • Nested dict
    • Counting
    • File Modes
    • Debugging
    • Save and Load
  3. Exam 32026-09-10

    Python Structures and Graph Search Exam

    • Functions
    • Lists
    • Class
    • Hash Tables
    • DFS
    • BFS

Homework

Post-tutorial practice sets focused on the latest topic.

  1. Homework 12026-06-22

    Array Practice

    • Python Lists
    • Loop Over Elements
    • Index
    • Update Values
    • Sorted Check
  2. Homework 22026-08-13

    Graph, Stack, Queue, Search

    • Build a Graph
    • Stack
    • Queue
    • BFS
    • DFS
    • Shortest Path
  3. Homework 32026-08-27

    Sydney Navigator

    • Big Project
    • Read a Map File
    • Weighted Graph
    • Traffic
    • Dijkstra
    • Class
    • Web Frontend