← All APCSP Flashcard Decks

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
  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.