Unit 3: Algorithms & Programming
CS Principles · Unit 3 · Paper 2

Algorithms & Programming unit test

A test on this unit alone, marked as a percentage and a letter grade — for the test your class is actually sitting, rather than for May. Answer everything, then submit once: seeing the answer to question 3 before attempting question 4 makes the final percentage meaningless.

Each paper is built from this unit’s 56 terms and is the same for everyone, so a teacher can assign “Unit 3, Paper 2” and every student sits the identical test. Multiple choice is marked objectively; the written sections you mark yourself against the model answer and rubric.
Suggested time 33 min 30 points0/17 attempted
1

Decidable vs undecidable

2

Variable

3

List indexing in AP pseudocode

4

Binary search

5

INSERT

6

REPEAT UNTIL

7

FOR EACH loop

8

Sequential computing

9

Undecidable problem

10

Nested conditional

11

NOT

12

Simulation

Short answer 1. Define or explain: Heuristic

3 pts

Short answer 2. Define or explain: Speedup

3 pts

Short answer 3. Define or explain: Algorithm

3 pts

Short answer 4. Define or explain: Why binary search needs a sorted list

3 pts

Free response

6 pts

A programmer needs to determine whether a list of student records contains any duplicate identification numbers. Approach A compares every record to every other record. Approach B first sorts the list by identification number and then checks only adjacent pairs.

For a list of 1,000 records, estimate the number of comparisons each approach performs, and show your reasoning.

Explain why Approach B can be faster overall even though it performs an additional sorting step.

Describe a situation in which Approach A would be the better choice.

Explain what is meant by an undecidable problem, and state whether determining the presence of duplicates is one.