Programming by Design: Course Overview + Strategic Pathways

Course Title: Programming by Design: Computing, Representation, and Reasoning Grade Level: 9th Grade Format: Yearlong, Modular, Project-Based Instructor: Eric Allatta


Course Overview

This course treats computer science as a discipline of design, logic, and interpretation—not just syntax or application. Students begin with structure, build through data, and extend to systems thinking, human-computer interaction, and inquiry through code. The goal is not just for students to write code, but to think with clarity, test their logic, and communicate their ideas in public-facing forms.

Guiding Principles:

  • Programming is a language for structured thinking
  • Data is never neutral—it must be interpreted and questioned
  • Systems must be tested, visualized, and explained
  • Good code is communicative: to machines and to people

Conceptual Arc

Unit Focus Tool/Language
1 Computing as Communication Concepts + History
2 Functional Design Racket
3 Data Science + Representation Pyret
4 Control + State Python + EarSketch
5 Interfaces + Interpretation HTML/CSS
6 Inquiry + Real Data APIs + Jupyter
7 Infrastructure + Power Internet Simulator + CLI
8 Capstone Student Choice

Strategic Pathways

This course is designed as a launchpad—not a terminal experience. Students are prepared for multiple rigorous next steps:

1. AP Computer Science A

  • Strong foundation in control flow, state, and decomposition
  • Transition to OOP and Java syntax built on solid habits

2. Data Science + AP Capstone Track

  • Literate computing and real inquiry via Jupyter and APIs
  • Ethical analysis and project framing embedded throughout

3. Algebra 2 + Computing Integration

  • Tight alignment with function modeling, logic, and recursive structure
  • Reinforces algebraic thinking through real applications

Outcomes

By the end of this course, students will:

  • Write, test, and debug code across languages and paradigms
  • Build and explain simulations, visualizations, and interfaces
  • Analyze the structure and ethics of real-world computing systems
  • Complete a capstone project that demonstrates reasoning, technical skill, and interpretive clarity

This is not a showcase course. It’s a thinking course. And it’s built to last.