AP Computer Science A Lab Requirements
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.