← 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 is designing a program to recommend movies. She decides to ignore factors like the movie's poster color and director's birth year. Which computational thinking practice is she applying?

    Answer: Abstraction

    By ignoring irrelevant details (poster color, birth year) to focus on meaningful features (genre, ratings), she is applying abstraction.

  2. A student runs her program and gets a runtime error. She adds print statements at various points to track the value of variables. What technique is she using?

    Answer: Tracing / print debugging

    Adding print statements to monitor variable values at runtime is a common debugging technique called tracing or print debugging.

  3. Which of the following BEST illustrates the difference between an algorithm and a program?

    Answer: An algorithm is a step-by-step logical procedure; a program is that procedure implemented in a specific language

    An algorithm is a language-independent logical procedure, while a program is a concrete implementation of that algorithm in a specific programming language.

  4. A student builds a simulation of traffic flow and notices the simulation doesn't match real-world data. What should she question FIRST?

    Answer: The assumptions and simplifications built into the model

    When a simulation diverges from reality, the first thing to examine is whether the model's assumptions and simplifications are valid.

  5. Which of the following represents an example of 'iterative refinement' in program development?

    Answer: Repeatedly improving a program based on testing and feedback

    Iterative refinement means developing a program in cycles — write, test, evaluate, improve — rather than trying to get it perfect on the first attempt.

  6. A programmer reuses a sorting function she wrote last year in a new project without modifying it. This is an example of which benefit of modular programming?

    Answer: Code reusability

    Modular programming allows functions to be reused across multiple projects, saving development time and reducing errors.

  7. Which of the following best describes a 'heuristic' in problem solving?

    Answer: A practical approach that finds a good-enough solution when an exact solution is too costly

    A heuristic is a problem-solving strategy that finds a good (but not necessarily perfect) solution efficiently, used when optimal solutions are computationally infeasible.