Program development is an iterative process, involving three stages: design, implementation and review. The planned design is expressed and implemented in a programming language. Decomposition facilitates people to think different aspects of program development.
1B-AP-10 Create programs that include sequences, events, loops, and conditionals. (P5.2)
Control structures specify the order (sequence) in which instructions are executed within a program and can be combined to support the creation of more complex programs. Events allow portions of a program to run based on a specific action. For example, students could write a program to explain the water cycle and when a specific component is clicked (event), the program would show information about that part of the water cycle. Conditionals allow for the execution of a portion of code in a program when a certain condition is true. For example, students could write a math game that asks multiplication fact questions and then uses a conditional to check whether or not the answer that was entered is correct. Loops allow for the repetition of a sequence of code multiple times. For example, in a program that produces an animation about a famous historical character, students could use a loop to have the character walk across the screen as they introduce themselves.
1B-AP-11 Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process. (P3.2)
Decomposition is the act of breaking down tasks into simpler tasks. For example, students could create an animation by separating a story into different scenes. For each scene, they would select a background, place characters, and program actions.
1B-AP-15 Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended. (P6.1, P6.2)
As students develop programs they should continuously test those programs to see that they do what was expected and fix (debug), any errors. Students should also be able to successfully debug simple errors in programs created by others.
Related Resources and Toolkits
Physical Computing Extensions
- Dash and Dot
- Swift Playgrounds (App)
Activity 1: Dialogue
Activity 2: Check It Out
Activity 3: Setting
Activity 4: Premise
Activity 5: Characterization
Activity 6: Interactive Storytelling
Activity 7: Personal Narrative
Activity 8: Your Innovation Story