The Build

All year you build real, shippable software. First semester is one long project: your fork of cs-curriculum-main grows from a walking hero into a full game — a 2D RPG that becomes a 2D platformer when you enter a cave — ending with a boss fight that is entirely yours. Second semester you fork the Card-Game-Template for the card jam, and everything converges on theAP Create performance task. Push to GitHub every single class.

Phase 1 — The Overworld (Sep-Nov)

PlayerController.cs (v1)

Lessons 1.3-1.6Type: Starter Project

The script that runs the year: serialized speed fields, Input.GetAxis for direction, direction × speed × Time.deltaTime, your first movement method, and the animation wiring (IsWalking, WalkDir, Attack). In 2.2 you discover that method walks straight through walls, and choose a physics-respecting replacement you can defend.Build it →

Colliders, stats & the pickup family

Lessons 2.1-2.4Type: Starter Project

The unit where the physics engine switches on: nothing in the project had a collider or a rigidbody before it. Coins tick up on trigger pickups, spikes knock health down on collision, potions heal with a max-health cap (your first if), and death throws you back. Coins and health live on PlayerController for now — Debug.Log is your HUD all semester.

TurretController.cs + Projectile.cs

Lessons 3.1-3.4Type: Starter Project

Your first real adversary: a detection radius built from Vector3.Distance, rate-limited shooting with a cooldown timer, and projectiles that Instantiate, fly, and Destroy. Difficulty lives in serialized fields you tune in playtests.

EnemyController.cs (patrol, chase, attack, return)

Lessons 4.1-4.5Type: Starter Project

The full state machine: a patrol you design yourself, an aggro radius that flips it to chase, a close-range attack on a damage cooldown, and the fall-back to patrol when you escape. Three distances, three behaviors — compound conditionals you can draw as a diagram, then upgrade to named states.

AxeItem, the door, and the cave

Lessons 5.1-5.3Type: Starter Project

Item pickups set inventory bools and swap your whole animation set; the lever's UnityEvents open a door somebody else already wired; and then SceneManager.LoadScene exposes a real problem — every stat you own resets on scene load. Unit 5 ends with the year's biggest refactor: your stats move out of PlayerController into a persistentStatManager, and the HUD moves into the scene the game actually begins in.

Phase 2 — The Cave (Nov-Jan)

PlayerController.cs (v2) — jump, double jump, ladders

Lessons 6.1-6.5Type: Starter Project

AddForce impulses, ground checks so you cannot fly, a jumps-remaining counter that the boots pickup raises to two, and feel polish: faster falls, coyote time. Unit 7 then adds a climbing state for ladders — built from the cave tileset, since no ladder art ships.

Your cave level (tilemaps)

Lessons 7.1-7.7Type: Level Design

A large multi-area cave built with the tile palette from the included CavesTileSet and CaveEntranceTileSet: collision, sorting layers, flow, difficulty ramp, secrets. Playtested by your classmates before break.

BossController.cs — YOUR boss fight

Lessons 8.1-8.6Type: Your design

The first build that is fully yours: a written spec first (health, attacks, phases, win/lose), then the build — assembled from the existing enemy art, with attack patterns, phase changes, a player attack to fight back, and a health display you choose. The semester 1 final on Jan 21 is a normal B day: demo day plus a concepts check.

Phase 3 — Data & Systems (Jan-Feb)

Playtest analysis (data/playtests.csv)

Lessons 9.4-9.6Type: Data Analysis

Your own playtest data as a dataset: what happened in your cave, filtered, summarized, and argued — plus the bias and ethics roundtable that the AP exam loves to ask about.Download the dataset →

Phase 4 — Jam Season (Feb-Apr)

Jam 1: The 2-Button Game

Feb 26 - Mar 15Type: Game Jam

A complete game built on exactly two inputs. Pitched, built, playtested, polished, and shown in 3 weeks — the full development cycle the Create PT rubric calls CRD-2.E, compressed and real.

Jam 2: The Card Game (your fork of Card-Game-Template)

Mar 17 - Apr 9Type: Game Jam + CSP Core

Lists, arrays, and ScriptableObjects: Card_data assets define your cards, GameManager holds decks and hands as Lists, and you fill in Shuffle(), Deal(), and AI_Turn(). A deck of cards is the best list on the AP exam — you will have built one.

Phase 5 — The Create PT (Apr)

Your Create PT program + video + PPR

Apr 13 - May 3Type: Section II — 30% of AP score

An individual program with a list, a parameterized procedure, and an algorithm with sequencing, selection, and iteration — built in 9 in-class hours, captured in a video, and summarized in your Personalized Project Reference. Submitted to the AP Digital Portfolio by April 30, 11:59 PM ET.The full requirements →

Season 2 — After the exam (May-Jun)

Jam 3: The Grid/Symmetry Game

May 17 - May 27Type: Game Jam

Post-exam: build a game around a grid (match-3, 2048, minesweeper, tactics) or around symmetry (mirrored levels, twin-stick echoes). You know more than you think — prove it.

Jam 4: Placeholder (topic TBA)

Jun 1 - Jun 3Type: Flex jam

A fourth jam runs here if the year allows — topic picked by the class. If snow days or slow jams eat the calendar, these days absorb the shift. The year ends with a retro: your September commit vs. your June build, side by side.