Computer Science A emphasizes object-oriented programming methodology with an emphasis on problem solving and algorithm development and is meant to be the equivalent of a first-semester course in computer science. It also includes the study of data structures and abstraction.
This course covers the following topics:
I. Object-Oriented Program Design
The overall goal for designing a piece of software (a computer program) is to correctly solve the given problem. At the same time, this goal should encompass specifying and designing a program that is understandable, can be adapted to changing circumstances, and has the potential to be reused in whole or in part. The design process needs to be based on a thorough understanding of the problem to be solved.
II. Program Implementation
The overall goals of program implementation parallel those of program design. Classes that fill common needs should be built so that they can be reused easily in other programs. Object-oriented design is an important part of program implementation.
III. Program Analysis
The analysis of programs includes examining and testing programs to determine whether they correctly meet their specifications. It also includes the analysis of programs or algorithms in order to understand their time and space requirements when applied to different data sets.
IV. Standard Data Structures
Data structures are used to represent information within a program. Abstraction is an important theme in the development and application of data structures.
V. Standard Algorithms
Standard algorithms serve as examples of good solutions to standard problems. Many are intertwined with standard data structures. These algorithms provide examples for analysis of program efficiency.
VI. Computing in Context
An awareness of the ethical and social implications of computing systems is necessary for the study of computer science. These topics need not be addressed in detail but should be considered throughout the course.
About the Exam
The exam is approximately three hours long and has two parts — multiple choice and free response. Each section is worth 50% of the final exam grade.
You will not be tested on minor points of syntax. All exam code is consistent with the AP Java subset showing the classes and constructs used in the Computer Science A course. All questions involving code should be answered in Java. The exam also includes a quick referencesheet for the Computer Science A Exam to both the case study and the AP Computer Science A subset classes.
Section I: Multiple Choice — 40 Questions; 1 hour and 15 minutes
Question topics will include:
Along with topics from the course outline, this section includes at least five questions based on the AP GridWorld Case Study.
Total scores on the multiple-choice section are based on the number of questions answered correctly. Points are not deducted for incorrect answers and no points are awarded for unanswered questions.
Section II: Free Response — 4 questions; 1 hour and 45 minutes
The free response section tests your ability to solve problems involving more extended reasoning. Along with topics from the course outline, this section also includes one question based on the AP GridWorld Case Study.
The AP Computer Science A Exam is approximately 3 hours long and has two parts – multiple choice questions and free response questions. Each section is worth 50% of the final exam grade.
The multiple choice section contains 40 questions, lasts 1 hour and 15 minutes, and contains questions based on both the AP Computer Science A course outline and the AP GridWorld Case Study. The free response section consists of 4 questions and lasts 1 hour and 45 minutes.
You will not be tested on minor points of syntax on the exam. All exam code is consistent with the AP Java subset. All questions involving code should be answered in Java. The exam also includes a quick references to both the case and the AP Computer Science A subset of classes.
You can use the free response questions and scoring guidelines below as you prepare for the AP Exam. Please note that the free response questions from 2001 – 2003 used C++ and are provided to demonstrate the topics and techniques that were used in these exams.
Multiple Choice Questions
For sample multiple-choice questions, please refer to the AP Computer Science A Course Description, which can be found in the blue, Exam Resources inlay to the right.
2012 Free Response Questions and Scoring Guidelines (PDF)
The AP Java subset is intended to outline the features of Java that may appear on AP Computer Science A Examination. The AP Java subset is NOT intended as an overall prescription for computer science courses — the subset itself will need to be supplemented in order to cover a typical introductory curriculum. For example, I/O is essential to programming and can be done in many different ways. Because of this, specific I/O features are not tested on the AP Computer Science A Exam.
This document describes the Java subset that students will be expected to understand when they take the AP Computer Science Exam. A number of features are also mentioned that are potentially relevant in a CS1/2 course but are not specifically tested on the AP Computer Science Exam.
Click here to see the complete Java Subset outline