Program Development

Enduring Understanding

People develop programs collaboratively for a purpose, such as expressing ideas or addressing problems. People work together to plan, create, and test programs within a context that is relevant to the programmer and users. Programming is used as a tool to create products that reflect a wide range of interests, such as video games, interactive art projects, and digital stories. Complex tasks can be broken down into simpler instructions, some of which can be broken down even further. Likewise, instructions can be combined to accomplish complex tasks.



 

Essential Questions

How and why do people develop a program?
What does decomposition look like in real world?
What are loops, events and conditionals in real world?

 






Core Concepts:

  • Algorithms and Programming

 

CSTA Standards

1A-AP-08 - Model daily processes by creating and following algorithms (sets of step-by-step instructions) to complete tasks.
Composition is the combination of smaller tasks into more complex tasks. Students could create and follow algorithms for making simple foods, brushing their teeth, getting ready for school, participating in clean-up time.
1A-AP-09 - Model the way programs store and manipulate data by using numbers or other symbols to represent information.
Information in the real world can be represented in computer programs. Students could use thumbs up/down as representations of yes/no, use arrows when writing algorithms to represent direction, or encode and decode words using numbers, pictographs, or other symbols to represent letters or words.
1A-AP-10 - Develop programs with sequences and simple loops, to express ideas or address a problem.
Programming is used as a tool to create products that reflect a wide range of interests. Control structures specify the order in which instructions are executed within a program. Sequences are the order of instructions in a program. For example, if dialogue is not sequenced correctly when programming a simple animated story, the story will not make sense. If the commands to program a robot are not in the correct order, the robot will not complete the task desired. Loops allow for the repetition of a sequence of code multiple times. For example, in a program to show the life cycle of a butterfly, a loop could be combined with move commands to allow continual but controlled movement of the character.
1A-AP-11 - Decompose (break down) the steps needed to solve a problem into a precise sequence of instructions.
Decomposition is the act of breaking down tasks into simpler tasks. Students could break down the steps needed to make a peanut butter and jelly sandwich, to brush their teeth, to draw a shape, to move a character across the screen, or to solve a level of a coding app.
1A-AP-12 Develop plans that describe a program’s sequence of events, goals, and expected outcomes. (P5.1, P7.2)
Creating a plan for what a program will do clarifies the steps that will be needed to create a program and can be used to check if a program is correct. Students could create a planning document, such as a story map, a storyboard, or a sequential graphic organizer, to illustrate what their program will do. Students at this stage may complete the planning process with help from their teachers.
1A-AP-13 Give attribution when using the ideas and creations of others while developing programs. (P7.3)
Using computers comes with a level of responsibility. Students should credit artifacts that were created by others, such as pictures, music, and code. Credit could be given orally, if presenting their work to the class, or in writing or orally, if sharing work on a class blog or website. Proper attribution at this stage does not require a formal citation, such as in a bibliography or works cited document.
1A-AP-14 - Debug (identify and fix) errors in an algorithm or program that includes sequences and simple loops.
Algorithms or programs may not always work correctly. Students should be able to use various strategies, such as changing the sequence of the steps, following the algorithm in a step-by-step manner, or trial and error to fix problems in algorithms and programs.
1A-AP-15 Using correct terminology, describe steps taken and choices made during the iterative process of program development. (P7.2)
At this stage, students should be able to talk or write about the goals and expected outcomes of the programs they create and the choices that they made when creating programs. This could be done using coding journals, discussions with a teacher, class presentations, or blogs.
 

Related Resources and Toolkits

 

 

Curriculum

 

Programming Platforms
  • Scratch Jr.
  • CodeMonkey
  • Kodable
  • CodeSpark (The Foos)
  • Tynker

 

Physical Computing Extensions
  • BeeBot
  • KIBO
  • Puzzlets
  • Dash and Dot
  • Osmo
  • Ozobot

Sample Lessons

  • Lesson 1 Getting Loopy
  • Lesson 2 Loops with Rey and BB-8
  • Lesson 3 Sticker Art with Loops
  • Lesson 4 Harvesting Crops with Loops
  • Lesson 5 The Big Event
  • Lesson 6 Build a Flappy Game
  • Lesson 7 Chase Game with Events
 

View Samples

 

Sources & Attribution

Adapted primarily from Creative Commons licensed resources developed by