# CS in Algebra

## Unit 1 - Course A

### Lesson 1: Evaluation Blocks and Arithmetic Expressions

• Evaluate: Perform the computation in an expression, producing an answer.
• Evaluation Block: A block of code that represents the structure of an expression
• Expression: Any valid unit of code that resolves to a value.
• Function: A mathematical object that takes in some inputs and produces an output.
• Value: A specific piece of data, like 5 or "hello".

### Lesson 2: Strings and Images

• Data Type: All values in a programming language have a "type" - such as a Number, Boolean, or String - that dictates how the computer will interpret it. For example 7+5 is interpreted differently from "7"+"5"
• Image: A type of data used for graphics or pictures.
• String: Any sequence of characters between quotation marks (ex: "hello", "42", "this is a string!").

### Lesson 3: Contracts, Domain, and Range

• Contract: A statement of the name, domain, and range of a function.
• Domain: The type of data that a function expects.
• Range: The type of data that a function produces.

### Lesson 4: Writing Contracts

• Rotate: To turn a shape around a center point.
• Scale: To increase the dimensions of a shape by the same factor in all directions.
• Translate: To move a shape from one location to another.

### Lesson 5: Defining Variables and Substitution

• Define: Associate a descriptive name with a value.
• Variable: A reference to a value or expression that can be used repeatedly throughout a program.

### Lesson 6: Fast Functions

• Function: A mathematical object that takes in some inputs and produces an output.
• Independent Variable: An input variable the is controlled by the user.
• Parameter: A value or expression belonging to the domain of a function.
• Variable: A reference to a value or expression that can be used repeatedly throughout a program.

### Lesson 7: Composite Functions

• Parameter: A value or expression belonging to the domain of a function.

### Lesson 8: The Design Recipe

• Constant: A fixed number in a relationship.
• Dependent Variable: A value that changes based on an independent variable.
• Design Recipe: A systematic sequence of steps to document, test, and write functions.
• Independent Variable: An input variable the is controlled by the user.
• Purpose Statement: A brief description of what a function does.

## Unit 2 - Course B

### Lesson 1: Video Games and Coordinate Planes

• Apply: Use a given function on some inputs.
• Reverse Engineer: To extract knowledge or design information from an existing product.
• Sprite: A graphic character on the screen with properties that describe its location, movement, and look.

### Lesson 2: The Big Game - Variables

• Mod: Short for modification. Games in the real world are often a mod of another game. Othello (or Reversi) is usually considered a mod of the ancient game of “Go”. A mod of a program is one that has been altered to do something slightly different than its original purpose.
• Stub: A function whose domain and range have been designated, but the process to transform the domain into the range has not yet been defined.
• Troubleshooting: When a program generates an unexpected result, a programmer must examine the code to determine the source of the unexpected results (usually an unanticipated input or incorrect handling of an expected input). Sometimes called debugging.