Skip to content
Marlbridge

AP® Computer Science A · Unit 3 · Topic 3.1

Abstraction and Program Design: Topic Checklist (Computer Science A 3.1)

Specific I can statements for abstraction and program design in Java, each linked to the guide section or practice question that tests it.

Work through the list without notes. If you cannot do a statement, follow its link, then come back. Guide = study guide; Practice = practice questions; see also the revision notes.

Understanding

  • I can explain abstraction as reducing complexity by hiding detail that is irrelevant to the question. (Guide: “Abstraction: keep the main idea, hide the rest”; Practice Question 1)
  • I can explain the difference between data abstraction and procedural abstraction and give an example of each. (Guide: both sections; Practice Questions 1 and 9)
  • I can define an attribute and say it is declared in a class outside any method or constructor. (Guide: “Data abstraction and attributes”; Practice Question 2)
  • I can say what an object’s state is. (Guide: “Data abstraction and attributes”)

Skills

  • I can tell an instance variable from a class variable and predict output that depends on the difference. (Guide: Worked example 2; Practice Questions 3 and 6)
  • I can use method decomposition to break a large behaviour into smaller methods. (Guide: “Procedural abstraction, decomposition and parameters”; Practice Question 8)
  • I can replace duplicated code with one method that has parameters. (Guide: Worked example 2; Practice Question 8)
  • I can design a class by listing its attributes and behaviours with types and signatures. (Guide: Worked example 1; Practice Question 7)

Reasoning

  • I can explain why a method’s internals can change without telling its callers, and what must stay the same. (Guide: Worked example 2; Practice Questions 4 and 8)
  • I can explain why parameters make a method reusable. (Guide: “Procedural abstraction, decomposition and parameters”; Practice Question 5)
  • I can justify, in one sentence, why an attribute should be an instance variable or a class variable. (Practice Questions 6 and 7)

All ticked? Move on to the Topic 3.2 study guide, Impact of Program Design, or return to the course roadmap.

AP® and Advanced Placement® are trademarks registered by the College Board, which is not affiliated with, and does not endorse, this website. Marlbridge is an independent tuition provider. It is not an authorized AP course provider, an AP school or an exam centre, and these resources are not official College Board materials. Reading them or doing simulations does not meet the laboratory requirement of an AP science course.