AP®︎ CS Principles Unit 3: Notes & Study Guide
Prepare for your quiz, test, or the AP exam with a comprehensive review on Unit 3 of AP CS Principles – Algorithms and Programming.
Unit 3: Algorithms and Programming
This unit focuses on designing algorithms and writing programs that use sequencing, selection, iteration, and abstraction to solve problems.
Begin with Topic 3.1: Variables and AssignmentsTo review Unit 3, go through each of the 18 topics below.
Everything you actually need to know for your Unit 3 test, pulled directly from the AP® Computer Science Principles curriculum.
Variables and Assignments
Variables and Assignments
- What a Variable Is
- Data Types Variables Can Represent
- Assignment and the Assignment Operator
Data Abstraction
Data Abstraction
- What Lists and Strings Are
- Creating and Assigning Lists in AP Pseudocode
- Data Abstraction
Mathematical Expressions
Mathematical Expressions
- What an Algorithm Is
- Sequencing and Code Statements
- What Expressions Are
Boolean Expressions
Boolean Expressions
- What Boolean Values Are
- Relational Operators Compare Two Values
- Logical Operators Combine or Modify Boolean Values
Conditionals
Conditionals
- What Selection Does in an Algorithm
- Boolean Conditions Drive the Decision
- The Two Forms of Conditional Statements
Nested Conditionals
Nested Conditionals
- What Nested Conditionals Are
- The Structure of Nested Selection
- How Nested Conditionals Execute
Developing Algorithms
Developing Algorithms
- What It Means to Develop an Algorithm
- Different Algorithms for the Same Problem
- Equivalent Boolean Expressions and Conditionals
Lists
Lists
- What Lists Are and How Indexing Works
- List Procedures on the Exam Reference Sheet
- Traversing a List with Iteration
Binary Search
Binary Search
- What Binary Search Is
- Requirements for Binary Search to Work
- Binary Search vs Linear Search
Calling Procedures
Calling Procedures
- What a Procedure Is
- Parameters, Arguments, and Return Values
- How Procedure Calls Affect Program Flow
Developing Procedures
Developing Procedures
- What Procedural Abstraction Is
- Modularity and Breaking Problems into Subproblems
- Defining and Calling Procedures
Libraries
Libraries
- What Software Libraries Are
- Where Existing Code Comes From
- Application Programming Interfaces (APIs)
Random Values
Random Values
- What RANDOM(a, b) Does
- Determining All Possible Results
- Why Random Programs Produce Different Results
Simulations
Simulations
- What Simulations Are
- How Simulations Represent Changing Phenomena
- Why Simulations Are Useful
Algorithmic Efficiency
Algorithmic Efficiency
- What a Problem Is in Computing
- What Algorithmic Efficiency Means
- How to Estimate Efficiency
Undecidable Problems
Undecidable Problems
- What a Decidable Problem Is
- What an Undecidable Problem Is
- Some Instances Can Be Solved
Notes
1 credit used · 5/5 remaining