# 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