# Overview **Creative Development** - Program Function and Purpose - Identifying and Correcting Errors **Algorithms and Programming** - Variables and Assignment - Data Abstraction - Mathematical Expressions - Strings - Boolean Expressions - Conditionals # Learning Objectives **Enduring Understanding** #CRD-2 Developers create and innovate using an iterative design process that is user-focused, that incorporates implementation/feedback cycles, and that leaves ample room for experimentation and risk-taking #AAP-1 To find specific solutions to generalizable problems, programmers represent and organize data in multiple different ways #AAP-2 The way statements are sequenced and combined in a program determines the computed result. Programs incorporate iteration and selection constructs to represent repetition and make decisions to handle varied input values. ## Program Function and Purpose #CRD-2.A Describe the purpose of a computing innovation. #CRD-2.B Explain how a program or code segment functions. #CRD-2.C Identify input(s) to a program. #CRD-2.D Identify output(s) produced by a program. --- ## Identifying and Correcting Errors #CRD-2.I For errors in an algorithm or program: a. Identify the error b. Correct the error #CRD-2.J Identify inputs and corresponding expected outputs or behaviors that can be used to check the correctness of an algorithm or program. --- ## Variables and Assignment #AAP-1.A Represent a value with a variable. #AAP-1.B Determine the value of a variable as a result of an assignment. --- ## Data Abstraction #AAP-1.C Represent a list or string using a variable. #AAP-1.D For data abstraction: a. Develop data abstraction using lists to store multiple elements. b. Explain how the use of data abstraction manages complexity in program code. --- ## Mathematical Expressions #AAP-2.A Express an algorithm that uses sequencing without using a programming language. #AAP-2.B Represent a step-by-step algorithmic process using sequential code statements. #AAP-2.C Evaluate expressions that use arithmetic operators. --- ## Strings #AAP-2.D Evaluate expressions that manipulate strings. --- ## Boolean Expressions #AAP-2.E For relationships between two variables, expressions, or values: a. Write expressions using relational operators. b. Evaluate expressions that use relational operators. #AAP-2.F For relationships between Boolean values: a. Write expressions using logical operators. b. Evaluate expressions that use logic operators. --- ## Conditionals #AAP-2.G Express an algorithm that uses selection without using a programming language. #AAP-2.H For selection: a. Write conditional statements. b. Determine the result of conditional statements. --- # Learning Series ## Series 1 - Storing & Changing Data ### Episode 1 - Variable Assignment #ES-KN Essential knowledge description ### Episode 2 - Math & Letters #ES-KN Essential knowledge description --- ## Series 2 - Making Programs Useful ### Episode 1 - Logic & Conditionals #ES-KN Essential knowledge description ### Episode 2 - Sequence & Algorithms #ES-KN Essential knowledge description