Experience: 1st year, 1st quarter
Practice: Testing and refining computational artifacts and Communicating about computing
Overview and Purpose
Objectives and Standards
- I will learn how to use code blocks to create algorithms.
- How can we use code blocks to create algorithms?
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.(source)
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. (source)
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. (source)
1A-AP-15 Using correct terminology, describe steps taken and choices made during the iterative process of program development.
- 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.(source)
Practices and Concepts
Practice 6: Testing and refining computational artifacts
- "Testing and refinement is the deliberate and iterative process of improving a computational artifact. This process includes debugging (identifying and fixing errors) and comparing actual outcomes to intended outcomes. Students also respond to the changing needs and expectations of end users and improve the performance, reliability, usability, and accessibility of artifacts."(p.81)
Systematically test computational artifacts by considering all scenarios and using test cases." (p.81)
Practice 7: Communicating about computing
- "Communication involves personal expression and exchanging ideas with others. In computer science, students communicate with diverse audiences about the use and effects of computation and the appropriateness of computational choices. Students write clear comments, document their work, and communicate their ideas through multiple forms of media. Clear communication includes using precise language and carefully considering possible audiences." (p.82)
- P7.2. Describe, justify, and document computational processes and solutions using appropriate terminology consistent with the intended audience and purpose. (p.82)
"Algorithms are designed to be carried out by both humans and computers. In early grades, students learn about age-appropriate algorithms from the real world. As they progress, students learn about the development, combination, and decomposition of algorithms, as well as the evaluation of competing algorithms." (p.91)
Grade 2 - People follow and create processes as part of daily life. Many of these processes can be expressed as algorithms that computers can follow." (p.96)
- A step-by-step process to complete a task. (source)
- A formula or set of steps for solving a particular problem. To be an algorithm, a set of rules must be unambiguous and have a clear stopping point. (source)
- Any set of instructions expressed in a programming language. (source)
- Written computer instructions. The term code is somewhat colloquial. For example, a programmer might say: "I wrote a lot of code this morning" or "There's one piece of code that doesn't work." Code can appear in a variety of forms. The code that a programmer writes is called source code. After it has been compiled, it is called object code. Code that is ready to run is called executable code or machine code. (source)
More vocabulary words from CSTA
- Potential subjects: Physical education
- Example(s): This project could integrate with physical education classes if coders embodied the dance moves by physically mimicking a sprite’s algorithm. Note, this process may get a little silly in the best way possible. Click here to see other examples and share your own ideas on our subforum dedicated to integrating projects.
- Click here to visit a website dedicated to exploring potential careers through coding.