AP Computer Science

In the United States, Advanced Placement (AP) Computer Science (commonly shortened to AP Comp Sci) is a suite of Advanced Placement courses and examinations covering areas of computer science. They are offered by the College Board to high school students as an opportunity to earn college credit for college-level courses. The suite consists of two current classes and one discontinued class.

AP Computer Science was taught using Pascal for the 1984–1998 exams, C++ for 1999–2003, and Java since 2004.

AP Computer Science A
AP Computer Science A is a programming class. The course emphasizes object-oriented programming methodology, especially problem solving and algorithm development, plus an overview of data structures and abstraction. The AP Computer Science A exam tests students on their knowledge of Java.

It is meant to be the equivalent of a first-semester college course in computer science.

The Microsoft-sponsored program Technology Education and Literacy in Schools (TEALS) aims to increase the number of students taking AP Computer Science classes.

AP Computer Science AB (discontinued)
AP 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.

AP Computer Science AB was equivalent to a full-year college course.

Due to low numbers of students taking the exam, AP Computer Science AB was discontinued following the May 2009 exam administration.

AP Computer Science Principles
AP Computer Science Principles is an introductory course to computer science, "with a focus on how computing powers the world". It is designed as a complement to AP Computer Science A, to emphasize computational thinking and fluency. It is meant to be the equivalent of a first-semester course in computing.