• Home
  • PLTW
  • APCS
  • INFOSEC
  • Blog
  • Assignments
  • Internships
  • Partners
  • Advisors
  • Contact Us
Follow Us

AP Computer Science A

Course Overview

Course Details

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.

  • Program Design
  • Class Design

   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.

  • Implementation techniques
  • Programming constructs
  • Java library classes (included in the AP Java subset)

   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.

  • Testing
  • Debugging
  • Understand and modify existing code
  • Extend existing code using inheritance
  • Understand error handling
  • Reason about programs
  • Analysis of algorithms
  • Numerical representations and limits

   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.

  • Simple data types (int, boolean, double)
  • Classes
  • Lists
  • Arrays

   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.

  • Operations on data structures previously listed
  • Searching
  • Sorting


  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.

  • System reliability
  • Privacy
  • Legal issues and intellectual property
  • Social and ethical ramifications of computer use


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:

  • Object-Oriented Program Design
  • Program Implementation
  • Program Analysis
  • Standard Data Structures
  • Standard Algorithms
  • Computing in Context

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.

Exam Practice

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)

  • Free Response Questions for 2012 AP Computer Science A
  • Scoring Guidelines

Java Subset

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

College Board - A.P. Computer Science A and Principles Courses

  • AP - Computer Science A - Website
  • AP - Computer Science A - Course Description
  • AP - Computer Science A  - Quick Reference
  • AP - Computer Science A - Free Response Questions 2012
  • AP - Computer Science Principles - College Board Website
  • AP - Computer Science Principles - Pilot Website 
  • AP - Computer Science Principles - Piloted FRQs 2011-12
  • AP - Computer Science Principles - Performance Assessment 2013
  • Resources for Recruiting Computer Science Students

HOME  |  PLTW  |  APCS  |   INFOSEC  |   BLOG   |  ASSIGNMENTS  |  INTERNSHIPS  |  PARTNERS  | ADVISORS  | CONTACT US
GitHub
Python.org
Ubuntu Link
Picture
GnuPG Encryption

Must Have Security Tools
  • Oracle VM Virtualbox
  • FileZilla | Putty SSH
  • GNU Privacy Guard
  • Tor Browser
  • Hiren's Boot CD
  • OpenVPN GUI
  • Pidgin IM  | Adium IM
  • Kali Linux | Backtrack
  • UNetbootin Linux ISOs
Coding Tutorials + Guides
  • Udacity.com
  • Codeacademy.com
  • Codementor.io
  • TutorialsPoint.com
  • NewCoder.io
  • Edx.org | Udemy.com
  • Characters WIN | MAC
  • Stackoverflow.com
  • W3Schools.com
Software Repos + APIs
  • Bitbucket | GitHub
  • Freecode|Sourceforge
  • Google APIs | Devs
  • 50 Useful APIs
  • Python.org
  • Bootstrap Get | Start
  • Opensource Win | Mac
  • Oracle Opensource
  • Sourceforge.net
EE + Robotics Toolbox
  • Adafruit.com
  • Ardruino
  • Raspberry Pi
  • Electronics Tutorials
  • Engineering Toolbox
  • Ifixit.com
  • Vex Robotics Kits
  • Parallax (Ardruino)
  • RobotC Software 
Software + Game Dev IDEs
  • Android Studio IDE
  • Eclipse | Netbeans
  • Git | Subversion SCM
  • Mercurial SCM
  • Xcode | Codeblocks
  • Sublime Text  Editor
  • Unity Game Engine
  • Autodesk Software
  • Unreal Game Engine
 Copyright  ©  2015-16  Vinson Pluma,  All Rights Reserved