Computational Thinking Practices Flashcards
7 cards from real APCSP practice questions. Tap to flip, then mark Knew It or Still Learning — missed cards come back until you master them.
Read the first 7 Computational Thinking Practices flashcards as text
A student writes an algorithm that works correctly on small inputs but fails on inputs with 10,000 elements. What should she do next according to computational thinking practices?
Answer: Analyze the algorithm's efficiency and identify bottlenecks
Analyzing efficiency and identifying bottlenecks is part of evaluating and refining algorithms, a core computational thinking practice.
Which of the following is the BEST example of using abstraction when designing a navigation app?
Answer: Representing roads as edges and intersections as nodes in a graph, ignoring irrelevant details like road color
Representing roads and intersections as a graph while ignoring irrelevant details (like road color) is a classic use of abstraction.
A programmer uses a function called `calculate_area()` in her code without knowing how it works internally. Which principle does this illustrate?
Answer: Procedural abstraction
Procedural abstraction allows a programmer to use a function based on what it does, without needing to know how it is implemented.
Which of the following is a key benefit of using pseudocode during the problem-solving phase?
Answer: It allows the programmer to focus on logic without worrying about syntax
Pseudocode lets a programmer express algorithmic logic in plain language, separating problem-solving from the constraints of a specific language's syntax.
A student claims her image compression program is correct because it worked on the three test images she tried. What is the flaw in her reasoning?
Answer: A small test set may not cover all edge cases and input types
Testing with only a few samples may miss edge cases like very large images, all-black images, or unusual formats, leaving bugs undetected.
In computational thinking, what does it mean to 'generalize' a solution?
Answer: Adapt a solution so it works for a broader class of problems
Generalizing means extending a solution beyond the specific case it was designed for so it applies to a wider range of similar problems.
Which of the following would be the FIRST step in the computational thinking process when approached with a new complex problem?
Answer: Understand and define the problem clearly
Before writing code or testing, a computational thinker must clearly understand and define the problem to know what needs to be solved.