Programming

programming icon
Programming is construed broadly to describe a variety of ways of generating computational artifacts. Programming, in the context of essential content for high school, is likely to include block-based and/or text-based programming languages. It may also include other computational artifacts, such as simulations, visualizations, robotic systems, or digital animations.
This Topic Area involves more technical content, and it is sometimes taught in ways that do not engage students’ interest or imagination. Innovative and creative activities, such as creating programs to generate digital art or to meet a community need,may be more engaging. Using the development of dispositions as a lens when designing instruction may help address this.

FOUNDATIONAL CONTENT

Level Learning Outcome
Remember PR.1 – Reference documentation and other online tools to assist with programming
Understand PR.2 – Convert an algorithm to code
PR.3 – Interpret the function of a segment of code
Apply PR.4 – Modify a program (e.g., add functionality or improve usability or accessibility)
PR.5 – Use prompt engineering, code generation tools, or other AI technologies to plan, write, test, and debug codeCT
PR.6 – Document a program to clarify functionality (e.g., using comments within code)
PR.7 – Apply principles of inclusive collaboration to a programming projectIC
Analyze PR.8 – Articulate whether a program solves a given problemCT
PR.9 – Use computational thinking principles to analyze a programCT
Evaluate PR.10 – Test and debug a program systematicallyCT
PR.11 – Evaluate whether and how computation can or cannot help solve a problem
PR.12 – Assess societal impacts of programming and related ethical issues (e.g., how might modifications to a program impact various groups of users?)IE
Create PR.13 – Design a program using principles of human-centered designHCD
PR.14 – Develop programs using sequence, selection, and iteration

In the topic area tables, we use a system of superscripts to indicate which Pillars relate to which learning outcome: 

  • Computational Thinking → CT
  • Human-Centered Design → HCD
  • Inclusive Collaboration → IC
  • Impacts and Ethics → IE

EXAMPLES OF INTEGRATING THE PILLARS AND DISPOSITIONS

Impacts and Ethics Inclusive Collaboration Computational Thinking Human-Centered Design Dispositions
  • Explore a program’s implications for data privacy and security
  • Examine how biases might arise in a program’s output
  • Work in diverse teams to develop a program
  • Collaborate via peer code reviews
  • Apply knowledge of programming patterns to new contexts
  • Explore whether and how a problem can be solved without computing, then transform into a program as appropriate
  • Interview users to understand their needs
  • Develop an app that is accessible to vision-impaired users
  • Reflect on one’s choice(s) to emphasize speed, cost, efficiency, accuracy, etc. in the design of a program
  • Apply universal design for learning concepts to improve sense of belonging

 

Reimagining CS Pathways: High School and Beyond