Introduction
Advanced Placement Computer Science is currently offered in two forms, A and AB. Computer Science A focuses on methodology, problem solving, and algorithm development. It is roughly equivalent to a single semester of university-level CS. The A level course briefly touches upon data structures and abstraction. Computer Science AB includes all the topics of Computer Science A, but its study of algorithms, data structures, and data abstraction has more depth and detail than that of the A course. Topics exclusive to Computer Science AB include binary trees, the use of recursive data structures, and dynamically allocated structures.
Topic Outline
Asterisks indicate topics covered in the AB course only.
I. Program Design
- Problem definition
- Program design
II. Program Implementation
- Implementation techniques
- Methodology
- Use of abstraction
- Programming constructs
- Declaration
- Constant declarations
- Variable declarations
- Class declarations
- Function declarations
- Parameter declaration
- Value
- Reference
- Constant reference
- Input and Output
- Control
- Generic data types and functions
III. Program Analysis
- Testing
- Debugging
- Understanding and modifying existing code
- Handling errors - robust behavior
- Reasoning about programs
- Analysis of algorithms
- Numerical limits
IV. Standard Data Structures
V. Standard Algorithms
- Operations on data structures
- Operations on dynamic data structures*
- Searching
- Sorting
VI. Computer Systems
- Major hardware components
- System software
- Types of systems
- Responsible use of computer systems
C++ has traditionally been the programming language of choice for AP Computer Science, but the program will switch to Java beginning in the 2003-2004 academic year. For more information about APCS, visit http://www.collegeboard.org/ap/students/compsci/.
Back to Advanced Placement Metanode.