35 open projectspinned versionsinput · memory · process · output · control

Students open the code a university lab published

Several CIT courses work directly from projects published by labs and open-source teams, including Built on a Princeton IROM Lab, Built on a Caltech AMBER Lab, Built on a University of Colorado Boulder, Built on a Stanford Vision and Learning Lab, Built on a Stanford ILIAD Lab. Students read the project as five boxes, open exactly one of them, change one value, and compare what moved.

Published 17 August 2026 · Updated 17 August 2026

Reading a system as five boxes

In front of an unfamiliar program, the place students get stuck is not knowing where to look first. So every course asks the same five questions, whatever the subject.

Input

What comes in?

Memory

What persists?

Process

What transforms?

Output

What leaves, and who uses it?

Control

What decides when anything runs?

Control is the fifth box on purpose. It is the hardest element to find in real code and it otherwise hides inside process; finding what decides when things run usually reveals the architecture.

The same lens on a real project

The RocketPy course drawn as five boxes

RocketPy-Team/RocketPy at pinned commit 9bd6ad3af8f9, read as five boxes. The gold box is the one the lesson opens.

Each box carries the file paths it rests on. Students open those files, check whether their reading was right, and correct it. A path that does not exist at the pinned commit fails the build.

Close, open one box, close it tighter

1. Write the prediction first

Before opening the repository the student writes down all five boxes. Being wrong is fine; being blank is not, because the gap is the lesson.

2. Open exactly one box

Each course designates one box: usually where the naive guess is wrong, or where the field's real difficulty lives.

3. Change one value

Opening a box means perturbing it, not reading it. Change one constant, swap one function for a dumber one, and watch which way the output moves.

4. Close it again in one sentence

The student compresses the box into one line naming an assumption and a failure mode. Borrowing the source's own vocabulary does not pass.

A beautiful diagram never completes the item, because a beautiful diagram can be drawn without understanding anything.

The open projects read through this lens

Each entry carries the chain that project runs, from what comes in to what leaves, in its own words. The course guide names the files that course opens.

34 projects read all the way to five boxes

9 courses that use the same frame without a repository

A shop, a study, a notebook: what the student handles directly is read through the same boxes. Elementary courses stop at four; the control box arrives in middle school.

1 projects with a pinned version only

These courses pin a version the same way; their five-box reading is still being written.

What a parent can actually see

The five-box map

The student's map with the file paths behind it, and which box was opened.

Before and after

The result before the change, the result after it, and the prediction written first.

One sentence

The student's own summary, plus the condition under which it stops holding.

A university name or a project source is not admissions evidence by itself. The student has to explain what they understood and did, and no course guarantees an admission or an award.

Questions parents ask

Is this an official course of the university named?

No. Naming a lab says who published the open project. CIT designed the course independently; it is not an affiliation or an endorsement, and it is unrelated to admission or award outcomes.

Does the student have to read all of that code?

No, the opposite. The lesson is practice in leaving most of a project closed. In the RocketPy course, for example, about ten of some seven hundred text files are opened. Deciding where to stop is the skill.

Is drawing the map the whole exercise?

Drawing the map never completes the item. The student has to close the opened box again in one sentence that names one assumption and one way it fails.

Is this only for students with years of coding?

It depends on the course. Some stop at reading a pinned repository; others run it and change a value. A consultation checks the student's experience and available computer before choosing a starting point.

Is it allowed to use these open projects in class?

Each project's licence is recorded with the course, and no upstream source is copied into CIT materials. The lessons link to the pinned version instead.

Why a pinned version instead of the latest one?

Open projects keep changing. If the example moves during a course, a student cannot tell what caused a result to change, so CIT records the reviewed commit and uses only that version.

A consultation decides which project to open first

We check the student's grade, coding so far, interests, and available computer, then suggest a starting point.