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. Please note that in an attempt to provide real-world and engaging contexts, the labs sometimes cover content that will not be assessed on the AP Computer Science A Exam.
Each AP Computer Science A course includes 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.
Here are the student guides for four exemplar labs:
AP Computer Science A Consumer Review Lab Student Guide (Coming Soon)
This lab provides an opportunity to manipulate strings in the context of a consumer review. You will parse strings and call methods in the
String class, and work with conditional and iterative statements to complete methods.
AP Computer Science A Celebrity Lab Student Guide (Coming Soon)
Celebrity is a charades-like game where players add information about several “celebrities” to a pool. This lab will focus on class design and inheritance, and you will add and modify functionality in a GUI based application to play an interactive version of Celebrity.
AP Computer Science A Data Lab Student Guide (Coming Soon)
The Data Lab is a chance to explore a topic that interests you. You will pose a question, determine a data source, and then write code to read and process data in order to answer your question. This requires combining content learned throughout the course, from conditional statements and iteration to class design and data structures.
AP Computer Science A Steganography Lab Student Guide (Coming Soon)
For this lab, you will use the same code provided in Picture Lab to explore steganographic techniques of concealing messages or information within a picture. This involves the manipulation and traversal of data in a two-dimensional array.
The links below are to student guides for previous labs. While these labs are not explicitly aligned to the current course, they are excellent resources that can be used to fulfill the lab requirement.