AP Computer Science
||It has been suggested that GridWorld be merged into this article. (Discuss) Proposed since November 2014.|
Advanced Placement Computer Science (also called AP Comp Sci, APCS, AP Java, or CSAP) is an Advanced Placement course and examination offered by the College Board to high school students as an opportunity to earn college credit for a college-level computer science course. AP Computer Science A is meant to be the equivalent of a first-semester course in computer science. The AP exam currently tests students on their knowledge of Java. AP Computer Science AB, which was equivalent to a full year, was discontinued following the May 2009 exam administration. The current Chief Reader for AP Computer Science is Liz Johnson, associate professor of computer science at Xavier University.
AP Computer Science A
Advanced Placement Computer Science A emphasizes object-oriented programming methodology with an emphasis on problem solving and algorithm development. It also includes the study of data structures and abstraction, but these topics were not covered to the extent that they were covered in AP Computer Science AB.
AP Computer Science AB (discontinued)
Advanced Placement Computer Science AB included all the topics of AP Computer Science A, as well as a more formal and a more in-depth study of algorithms, data structures, and data abstraction. For example, binary trees were studied in AP Computer Science AB but not in AP Computer Science A. The use of recursive data structures and dynamically allocated structures were fundamental to AP Computer Science AB. Due to low numbers of students taking the AP Computer Science AB exam, it was discontinued after the 2008-2009 year.
- Object-Oriented Program Design
- Program Design
- Read and understand a problem's description, purpose, and goals.
- Specify the purpose and goals for a problem. (AB only)
- Apply data abstraction and encapsulation.
- Read and understand class specifications and relationships among the classes ("is-a", "has-a" relationships).
- Decompose a problem into classes, define relationships and responsibilities of those classes. (AB only)
- Understand and implement a given class hierarchy.
- Identify reusable components from existing code using classes and class libraries.
- Class Design
- Design and implement a class.
- Design and implement a set of interacting classes. (AB only)
- Design an interface.
- Choose appropriate data representation and algorithms.
- Choose appropriate advanced data structures and algorithms. (AB only)
- Apply functional decomposition.
- Extend a given class using inheritance.
- Program Design
- Program Implementation
- Implementation techniques
- Programming constructs
- Java library classes (included in the A or AB-level AP Java Subset)
- Program Analysis
- Test classes and libraries in isolation
- Identify boundary cases and generate appropriate test data
- Perform integration testing
- Understand and modify existing code
- Extend existing code using inheritance
- Understand error handling
- Understand runtime exceptions
- Throw runtime exceptions (AB only)
- Reason about programs
- Analysis of algorithms
- Numerical representations and limits
- Standard Data Structures
- Standard Algorithms
- Computing in Context
- Major hardware components
- System software
- Types of systems
- Single-user systems
- Responsible use of computer systems
AP Computer Science exam
Since 2003, the AP Computer Science exam has tested students on their knowledge of computer science through Java. Before 1999, the AP exam tested students on their knowledge of Pascal. From 1999 to 2003, the exam tested students on their knowledge of C++ instead. The AP exam in Computer Science was first offered in 1984.
The exam is composed of two sections:
- Section I: Multiple Choice [1 hour and 15 minutes for 40 multiple-choice questions]
- Section II: Free-Response [1 hour and 45 minutes for 4 problems involving extended reasoning]
Historically, the AP exam has used several programs in its free-response section to test student's knowledge of object-oriented programs without requiring them to develop an entire environment. This practice has been discontinued as of the 2014-15 school year.There will be no question on the specific content of the labs on the AP exam.Instead,there will be questions that test the concepts developed in the labs. The College Board has instead created three new labs which instructors are invited to use, but they are optional and are not tested on the exam.These are three labs.
(1) The Magpie Lab (2)The Elevens Lab (3)The Picture
Grade distributions for AP Computer Science A
In the 2014 administration, 39,278 students took the exam. The mean score was a 2.96 with a standard deviation of 1.55. The grade distribution since 2003 was:
Grade distributions for AP Computer Science AB
AP Computer Science AB Examination has been discontinued as of May 2008.
In the 2008 administration, 4,995 students took the exam. The mean score was a 3.52. The grade distribution for 2008 was:
AP Computer Science: Principles
A new exam, titled Advanced Placement Computer Science: Principles is currently under development. It is designed not to be a replacement for AP Computer Science A, but rather as a parallel option that will focus on computational thinking and fluency. The project is being led by Prof. Owen Astrachan, Professor of the Practice of Computer Science at Duke University. Pilot materials are currently being created, with pilot studies planned to run from the end of 2010 through 2016.
- AP Computer Science A Home Page, The College Board
- AP Computer Science AB Home Page
- Johnson, Dr. Liz 
- Cech, Scott J., "College Board Intends to Drop AP Programs in Four Subjects", Education Week, 9 April 2008
- "Computer Science A Course Description" (PDF). College Board. Fall 2010. pp. 8–10. Retrieved 5 March 2012.
- "Computer Science A Computer Science AB Course Description" (PDF). College Board. May 2009. pp. 10–13. Retrieved 5 March 2012.
- "New Computer Science A Lab Requirement". Retrieved 10 July 2014.
- "AP Computer Science A 2012 Score Distribution". College Board. Retrieved 12 January 2014.
- "AP Computer Science A 2013 Score Distribution". College Board. Retrieved 12 January 2014.
- "Student Score Distribution". College Board. Retrieved 28 February 2015.
- "2008 Computer Science AB Grade Distribution". College Board. Archived from the original on 20 June 2009. Retrieved 5 March 2012.
- Astrachan, Owen (29 October 2010). "Owen Astrachan Statement of Support". Retrieved 5 March 2012.
- Home page for Owen Astrachan
- "Proposed New Course and Exam—AP® Computer Science: Principles". College Board. Retrieved 5 March 2012.
- "CS Principles, A New First Course in Computing". csprinciples.org. College Board. Retrieved 5 March 2012.