# Overview
**Algorithms and Programming**
- Random Values
- Undecidable Problems
**Computer Systems and Networks**
- Parallel and Distributed Computing
# Learning Objectives
**Enduring Understanding**
#AAP-3
Programmers break down problems into smaller and more manageable pieces. By
creating procedures and leveraging parameters, programmers generalize processes
that can be reused. Procedures allow programmers to draw upon existing code that
has already been tested, allowing them to write programs more quickly and with
more confidence.
#AAP-4
There exist problems that computers cannot solve, and even when a computer can solve a problem, it may not be able to do so in a reasonable amount of time.
#CSN-2
Parallel and distributed computing leverage multiple computers to more quickly solve complex problems or process large data sets.
## Random Values
#AAP-3.E
For generating random values:
a. Write expressions to generate possible values.
b. Evaluate expressions to determine the possible results.
---
## Undecidable Problems
#AAP-4.B
Explain the existence of undecidable problems in computer science.
---
## Parallel and Distributed Computing
#CSN-2.A
For sequential, parallel, and distributed computing:
a. Compare problem solutions.
b. Determine the efficiency of solutions.
#CSN-2.B
Describe benefits and challenges of parallel and distributed computing.
---
# Learning Series
## Series 1 -
### Episode 1 -
#ES-KN
Essential knowledge description
### Episode 2 -
#ES-KN
Essential knowledge description
---
## Series 2 -
### Episode 1 -
#ES-KN
Essential knowledge description
### Episode 2 -
#ES-KN
Essential knowledge description
---
## Series 3 -
### Episode 1 -
#ES-KN
Essential knowledge description
### Episode 2 -
#ES-KN
Essential knowledge description