# 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