Big Questions

  • How do you program apps to respond to user "events"?
  • How do you write programs to make decisions?
  • How do programs keep track of information?
  • How creative is programming?
  • How do people develop, test, and debug programs?
  • How are real world phenomena modeled and simulated on a computer?
  • How do you write programs to store and retrieve lots of information?
  • What are "data structures" in a program and when do you need them?
  • How are algorithms evaluated for "speed"?

Enduring Understandings

  • 1.1 Creative development can be an essential process for creating computational artifacts.
  • 1.2 Computing enables people to use creative development processes to create computational artifacts for creative expression or to solve a problem.
  • 1.3 Computing can extend traditional forms of human expression and experience.
  • 2.2 Multiple levels of abstraction are used to write programs or create other computational artifacts.
  • 4.1 Algorithms are precise sequences of instructions for processes that can be executed by a computer and are implemented using programming languages.
  • 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society).
  • 5.2 People write programs to execute algorithms.
  • 5.3 Programming is facilitated by appropriate abstractions.
  • 5.4 Programs are developed, maintained, and used by people for different purposes.
  • 5.5 Programming uses mathematical and logical concepts.
  • 7.1 Computing enhances communication, interaction, and cognition.

Optional Lessons

  • None

Big Questions

    Enduring Understandings

    • 2.3 Models and simulations use abstraction to generate new understanding and knowledge.
    • 3.1 People use computer programs to process information to gain insight and knowledge.
    • 4.1 Algorithms are precise sequences of instructions for processes that can be executed by a computer and are implemented using programming languages.
    • 5.1 Programs can be developed for creative expression, to satisfy personal curiosity, to create new knowledge, or to solve problems (to help people, organizations, or society)