Although the AP Computer Science A course draws heavily upon theory, formal logic, abstract data structures, and a conceptual understanding of algorithms, you also must gain significant experience applying the concepts to tackle a wide range of problems. As you design data structures and develop algorithms, you should integrate ideas, test hypotheses, and explore alternative approaches. Further, activities motivated by real-world applications can provide insights about how computing can be useful in society, motivate the study of technical issues, and capture your interest.

The AP Computer Science A course must include a minimum of 20 hours of hands-on structured-lab experiences to engage you in individual or group problem solving. Thus, each AP Computer Science A course must include a substantial laboratory component in which you design solutions to problems, express your solutions precisely (i.e., in the Java programming language), test your solutions, identify and correct errors (when mistakes occur), and compare possible solutions. Collectively, these laboratory experiences and activities should contain the following characteristics:

  • Explore computing in context at a significant level, building upon existing code  that provides examples of good style and appropriate use of programming language constructs.
  • Contain a significant problem-solving component in which you study alternative approaches for solving a problem, solve new problems, or modify existing code to solve altered problems.
  • Provide you with experience working with programs involving multiple interactive classes and may involve decomposing a program into classes and using inheritance, interfaces, and other object-oriented concepts as identified in the AP Computer Science A topic outline.

Follow the links below to download the student guides for three exemplar labs:

AP Computer Science A Elevens Lab Student Guide
This activity is related to a simple solitaire game called Elevens. You will learn the rules of Elevens, and will be able to play it by using the supplied Graphical User Interface (GUI).

AP Computer Science A Magpie Lab Student Guide
For this lab, you will explore some of the basics of Natural Language Processing. As you explore, you will work with a variety of methods of the String class and practice using the if statement. You will trace a complicated method to find words in user input.

AP Computer Science A Picture Lab Student Guide
In this lab you will write methods that modify digital pictures. In writing these methods, you will learn how to traverse a two-dimensional array of integers or objects. You will also be introduced to nested loops, binary numbers, interfaces, and inheritance.