AP CSP Unit 3 · 30-35% of MCQ section

Algorithms and Programming

Students learn to trace algorithms, reason about variables and lists, use procedures and parameters, understand abstraction, and compare algorithmic behavior.

Algorithms and Programming AP CSP study notes

Learner Lens

Think like a tracer: step through the algorithm exactly as written, track state carefully, and explain how abstraction reduces repeated work.

Detailed Study Notes

What to understand before practice

Read the notes, then use the topic panels to turn each idea into a practice habit.

Algorithms are precise steps, not just code

An algorithm is a finite sequence of steps that solves a problem or completes a task. It may be written in natural language, pseudocode, flowcharts, or a programming language.

Sequencing, selection, and iteration are the core building blocks. Sequencing orders instructions, selection chooses a branch, and iteration repeats steps while a condition or count requires it.

AP CSP questions often use pseudocode so students focus on logic rather than a specific language. The skill is tracing behavior carefully.

Exam Connection

For any algorithm question, identify the initial values, repeated steps, condition checks, list indexes, and final output before reading answer choices.

Variables and lists store state over time

Variables hold values that can change while a program runs. Lists hold ordered collections of values and allow algorithms to process many related items with one structure.

Common list algorithms count items, search for a target, find a maximum or minimum, filter values, accumulate a total, or transform each item.

Off-by-one errors are common. Students should know whether a loop starts at the first item, stops after the last item, and updates the index correctly.

Exam Connection

In AP CSP pseudocode, pay attention to list indexing and LENGTH. A single index mistake can change the displayed value or skip an item.

Procedures and parameters create abstraction

A procedure packages a set of instructions under a name. A parameter lets the same procedure behave differently based on the value passed into it.

Abstraction hides details so programmers can use a procedure without rewriting or re-reading every step. This makes programs easier to read, test, and reuse.

A useful procedure should have a purpose. In Create task writing, students should explain what the procedure does, how the parameter affects behavior, and why the abstraction helps manage complexity.

Exam Connection

For procedure questions, track the argument value passed into the call, the parameter name inside the procedure, and any returned or displayed result.

Algorithm efficiency compares growth, not just speed once

Efficiency asks how the number of steps changes as input size grows. A program that feels fast for ten items may become slow for one million items.

Sequential search checks items one by one. Binary search is faster for sorted data because it repeatedly cuts the search range in half.

Nested loops often grow faster than single loops because one repetition may contain another full repetition.

Exam Connection

If a question asks which algorithm scales better, compare how work grows with input size instead of focusing on one small example.

Simulations model systems but depend on assumptions

A simulation uses a model to imitate part of a real system. It can test scenarios that are too expensive, slow, dangerous, or difficult to repeat in real life.

Simulations are useful only to the extent that assumptions, random inputs, rules, and data match the question being studied.

Randomness can support simulations, games, sampling, and testing, but results may vary between runs unless the design controls for that variation.

Exam Connection

For simulation questions, identify what is being modeled, what assumptions are simplified, and what conclusions the simulation can or cannot support.

1

Sequencing, Selection, and Iteration

Algorithms combine ordered steps, decisions, and repetition to solve problems.

Apply It

Trace each branch condition and each loop update before deciding what is displayed or returned.

Avoid This Trap

A loop may run zero times, one time, or more times depending on the initial values.

Study Move

Create a trace table with columns for step, variable values, condition result, and output.

2

Variables and Lists

Variables store changing state; lists store ordered collections that algorithms can search, count, filter, or transform.

Apply It

Track list position, current item, accumulator values, and any changes made inside the loop.

Avoid This Trap

AP CSP pseudocode list indexing commonly starts with the first item at index 1.

Study Move

Trace a list algorithm once with three items and once with an empty or one-item list.

3

Procedures, Parameters, and Return Values

Procedures name a reusable block of logic; parameters let the same procedure work with different values.

Apply It

Connect the argument in the call to the parameter inside the procedure, then trace local changes.

Avoid This Trap

Do not assume a procedure displays a value if it only returns one, or returns a value if it only displays one.

Study Move

Write one sentence for what a procedure does and one sentence for how each parameter changes behavior.

4

Algorithm Efficiency

Efficiency describes how work grows as input size grows, not just whether code finishes for one small example.

Apply It

Compare single loops, nested loops, sequential search, and binary search by how many steps they may take.

Avoid This Trap

Binary search only applies when the data is sorted and the algorithm can repeatedly eliminate half the search range.

Study Move

For input sizes 10, 100, and 1000, estimate how many checks a linear search and binary search might need.

5

Simulation and Randomness

Simulations model systems using rules and assumptions; randomness can help represent uncertainty or variation.

Apply It

Identify what the simulation models, what is simplified, and which conclusion the results can support.

Avoid This Trap

A simulation is only as trustworthy as its assumptions and data.

Study Move

Describe one assumption in a traffic, weather, game, or classroom simulation and how it limits conclusions.

Practice Drill

Turn the notes into action

Write a procedure that takes a list of quiz scores and a minimum score. Trace how it counts scores at or above the minimum for two different parameter values.

Review Questions

  1. 1How does a parameter make a procedure more reusable?
  2. 2Why can an off-by-one error change the result of a list algorithm?
  3. 3What makes binary search more efficient than sequential search when conditions are right?