K-2.AP.17 - Describe the steps taken and choices made during the iterative process of program development. [Algorithms and Programming (concept) + Communicating about Computing (practice)]
Program developers make choices and iterate to continually refine their product. At this stage, students explain or write about the goals and expected outcomes of the programs they create and the choices that they made when creating programs. Students could use coding journals, discussions with a teacher, class presentations, or blogs.
The iterative process model is a typical method programmers use in the software development industry. With this model, the program becomes progressively more complex and/or refined with each cycle until the developer is satisfied and the program can be deployed.
An analogous model in ELA is the writing process. In writing, an initial idea is developed through pre-writing. Then cycles of drafting, review and revising are utilized to develop the writing until the author becomes satisfied with the work. A stage of editing is completed before the final writing is published.
The K-2.AP.17 standard would be the equivalent of asking a student to explain how and why they made changes to their writing in this writing process.
For example, students could use a combination of images, verbal reflections, a physical model, and/or written text to show the step-by-step process taken to develop a program such as cutting and pasting coding commands into a journal, using manipulatives that represent different commands and control structures, and taking screenshots of code and adding to a digital journal. This iterative process could be documented via a speech, journal, one on one conference with teacher or peer, small group conference, or blog. (CA CCSS for ELA/Literacy SL.K.5, SL.1.5, SL.2.5) (CA NGSS: K-2-ETS1.2)
In this example, a first grader shares steps and decision making behind a Code.org Dance Party program she modified. Student is asked about goal of project and the decisions she made in editing the code. In this example, the conversation is at a basic level, simply describing the changes as a personal preference. As student's skill and code develops though, so will the articulation of why decisions and changes were made in the coding process.
In this example, a first grader creates a coding journal to write about the program he is creating in ScratchJr. Journal includes goal of his program and the explanation of changes he made each time he refined his program. He included illustrations to assist in his explanations.
He could have also taken screenshots of his code and dropped them into a video creator and narrate about the choices made.