All Students Must, Some Students Might — Prioritizing Goals in CS Learning
Framing Principle
We believe that all students are capable of deep computational thinking. Not all students begin at the same place, and not all students are ready to move at the same pace—but all students can be “some students” if the environment invites growth, not judgment.
“If you told your piano teacher you understood how to play the piano, they would have something to say about it.”
Understanding is not a checkbox. It’s a practice. A fluency. A way of being shaped over time by structured experience. g This is the heart of our planning: we identify what all students must experience and internalize, what some students might go further with, and what should happen in class vs what can live outside of class. We build this contract not to stratify, but to make room.
Goal Threads in Unit 0
Goals fall into three main categories:
- Technical — fluency with computing tools (shell, Git, markdown, diagrams)
- Cognitive — systems thinking, abstraction, algorithmic reasoning
- Affective — self-efficacy, reflection, cultural critique, authorship
Each goal is mapped below with:
- ✅ = Needs class time
- ALL = All students must encounter this
- SOME = Some students may reach fluency or depth
- Offramp = Where the practice continues (at home or later in course)
🔧 Technical Goals
| Goal | Class Time | Must/Might | Offramp |
|---|---|---|---|
| Navigate file systems (CLI) | ✅ | ALL | Bash Dungeon + cheatsheet checkpoints |
| Understand version control conceptually | ✅ | ALL | Practice using “name this version” in Docs or Git |
| Operate a Git repository | SOME | Homework repo setup, commit tasks | |
| Write + publish in Markdown | ✅ | ALL | Blogs + journals with scaffolded templates |
| Diagram a system | ✅ | ALL | Revision practice, visual gallery, peer review |
| Begin structured prompting for AI | ✅ | ALL | Homework: prompt refinement tasks |
💡 Cognitive Goals
| Goal | Class Time | Must/Might | Offramp |
|---|---|---|---|
| Understand what a system is | ✅ | ALL | Map known systems (e.g., lunchroom, vending) |
| Procedural thinking (algorithms) | ✅ | ALL | Pseudocode writing, journals on thinking steps |
| Abstraction + naming clarity | ✅ | SOME | Reflection on naming, iterative revision |
| Metacognitive habits | ALL | Journal prompts, blog entries | |
| Articulate structure in computing | SOME | Unit 0 final writing/reflection |
❤️ Affective Goals
| Goal | Class Time | Must/Might | Offramp |
|---|---|---|---|
| Connect to computing history | ✅ | ALL | Reading assignments + blog response |
| Discuss marginalization in computing | ✅ | ALL | Exhibit critique, reading groups |
| Build self-efficacy through error | ✅ | ALL | Reflections on mistakes, journaling |
| Articulate AI authorship norms | ✅ | ALL | Responsible AI use reflections, peer examples |
| Normalize confusion + inquiry | ✅ | ALL | Participation rubric, exit slips, journal notes |
Class Time Is For
- Modeling durable routines (journaling, diagrams, blog writing)
- Introducing essential tools (shell, Git, markdown)
- Framing historical and ethical context (computing as cultural system)
- Creating shared learning experiences (algorithms, systems thinking, games)
- Surfacing and normalizing confusion (meta-discussion, exit slips)
- Rehearsing critical feedback (studio, peer review, self-assessment)
Out-of-Class Work Is For
- Repetition + fluency building (Dungeon game, markdown blogs)
- Reading + reflection (histories, AI policy, representation)
- Prompt and revision practice (AI logs, self-critique)
- Low-stakes failure (outside experimentation before inside application)
This contract doesn’t limit students. It protects them. All students can participate in high-level thinking. Some students might demonstrate it fluently early. The goal is not to sort them—it’s to scaffold them.
We teach like everyone is capable of fluency. Because they are.