AP COMPUTER SCIENCE
(Redirected from AP Computer Science AB)
'Advanced Placement Computer Science' (also called 'APCS') is the name of two distinct Advanced Placement courses and examinations 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, while 'AP Computer Science AB' equates to a full year. The AP exam currently tests students on their knowledge of Java.
'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 are not covered to the extent that they are covered in AP Computer Science AB.
'Advanced Placement Computer Science AB' includes 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 are studied in AP Computer Science AB but not in AP Computer Science A. The use of recursive data structures and dynamically allocated structures is fundamental to AP Computer Science AB.
★ Object-Oriented Program Design
★
★ Problem 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 Implementation
★
★ Implementation techniques
★
★
★ Methodology
★
★
★
★ Object-oriented development
★
★
★
★ Top-down development
★
★
★
★ Encapsulation and information holding
★
★
★
★ Procedural abstraction
★
★ Programming constructs
★
★
★ Primitive types vs. objects
★
★
★ Declaration
★
★
★
★ Constant declarations
★
★
★
★ Variable declarations
★
★
★
★ Class declarations
★
★
★
★ Interface declarations
★
★
★
★ Method declarations
★
★
★
★ Parameter declarations
★
★
★ Console output (System.out.print/println)
★
★
★ Control
★
★
★
★ Methods
★
★
★
★ Sequential
★
★
★
★ Conditional
★
★
★
★ Iterations
★
★
★
★ Recursion
★
★ Java library classes (included in the A or AB-level AP Java Subset)
★ Program Analysis
★
★ Testing
★
★
★ Test classes and libraries in isolation
★
★
★ Identify boundary cases and generate appropriate test data
★
★
★ Perform integration testing
★
★ Debugging
★
★
★ Categorize errors: compile time, runtime, logic
★
★
★ Identify and correct errors
★
★
★ Techniques: use a debugger, add extra output statements, hand-trace code
★
★ Understand and modify existing code
★
★ Extend existing code using inheritance
★
★ Understand error handling
★
★
★ Understand runtime exceptions
★
★
★ Throw runtime exceptions (AB only)
★
★ Reason about programs
★
★
★ Preconditions and postconditions
★
★
★ Assertions
★
★
★ Invariants (AB only)
★
★ Analysis of algorithms
★
★
★ Informal comparisons of running times
★
★
★ Exact calculation of statement execution counts
★
★
★ Big-O notation (AB only)
★
★
★ Worst-case and average-case time and space analysis (AB only)
★
★ Numerical representations and limits
★
★
★ Representations of numbers in different bases
★
★
★ Limitations of finite representations (e.g., integer bounds, imprecision of floating-point representations, and round-off error)
★ Standard Data Structures
★
★ Simple data types (int, boolean, double)
★
★ Classes
★
★ One-dimensional arrays
★
★ Two-dimensional arrays (AB only)
★
★ Linked lists (singly, doubly, circular) (AB only)
★
★ Stacks (AB only)
★
★ Queues (AB only)
★
★ Trees (AB only)
★
★ Heaps (AB only)
★
★ Priority queues (AB only)
★
★ Sets (AB only)
★
★ Maps (AB only)
★ Standard Algorithms
★
★ Operations on data structures listed above
★
★
★ Traversals
★
★
★ Insertions
★
★
★ Deletions
★
★
★ Iterators (AB only)
★
★ Searching
★
★
★ Sequential
★
★
★ Binary
★
★
★ Hashing (AB only)
★
★ Sorting
★
★
★ Selection
★
★
★ Insertion
★
★
★ Mergesort
★
★
★ Quicksort (AB only)
★
★
★ Heapsort (AB only)
★ Computing in Context
★
★ Major hardware components
★
★
★ Primary and secondary memory
★
★
★ Processors
★
★
★ Peripherals
★
★ System software
★
★
★ Language translators/compilers
★
★
★ Virtual machines
★
★
★ Operating systems
★
★ Types of systems
★
★
★ Single-user systems
★
★
★ Networks
★
★ Responsible use of computer systems
★
★
★ System reliability
★
★
★ Privacy
★
★
★ Legal issues and intellectual property
★
★
★ Social and ethical ramifications of computer use
The AP exam currently tests students on their knowledge of Java. From 1999 to 2003, the exam tested students on their knowledge of C++ instead. Before 1999, the AP exam tested students on their knowledge of Pascal.
Although there are two AP Computer Science tests (A and AB), the format for both is exactly the same, 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]
The Marine Biology Simulation Case Study is intended to be a substitute for writing a single large program as a culminating project. Due to obvious time restraints during the exam, the Marine Biology Simulation is provided by the College Board[1] to students prior to the exam. They are expected to be familiar with the classes and interfaces (and how they interact) before taking the exam. The case study is divided into five sections, the last of which is only tested on the AB exam.
Roughly five multiple-choice questions in Sections I are devoted to the MBSCS, and it is the topic of one free response question in Section II.
In the 2006 administration, 14,662 students took the exam from 2,101 schools. The mean score was a 2.91. The grade distribution for 2006 was:
In the 2006 administration, 4,939 students took the exam from 1,144 schools. The mean score was a 3.38. The grade distribution for 2006 was:
★ College Board: AP Computer Science A
★ College Board: AP Computer Science AB
★ College Board: Marine Biology Case Study
'Advanced Placement Computer Science' (also called 'APCS') is the name of two distinct Advanced Placement courses and examinations 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, while 'AP Computer Science AB' equates to a full year. The AP exam currently tests students on their knowledge of Java.
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 are not covered to the extent that they are covered in AP Computer Science AB.
AP Computer Science AB
'Advanced Placement Computer Science AB' includes 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 are studied in AP Computer Science AB but not in AP Computer Science A. The use of recursive data structures and dynamically allocated structures is fundamental to AP Computer Science AB.
Topic Outline
★ Object-Oriented Program Design
★
★ Problem 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 Implementation
★
★ Implementation techniques
★
★
★ Methodology
★
★
★
★ Object-oriented development
★
★
★
★ Top-down development
★
★
★
★ Encapsulation and information holding
★
★
★
★ Procedural abstraction
★
★ Programming constructs
★
★
★ Primitive types vs. objects
★
★
★ Declaration
★
★
★
★ Constant declarations
★
★
★
★ Variable declarations
★
★
★
★ Class declarations
★
★
★
★ Interface declarations
★
★
★
★ Method declarations
★
★
★
★ Parameter declarations
★
★
★ Console output (System.out.print/println)
★
★
★ Control
★
★
★
★ Methods
★
★
★
★ Sequential
★
★
★
★ Conditional
★
★
★
★ Iterations
★
★
★
★ Recursion
★
★ Java library classes (included in the A or AB-level AP Java Subset)
★ Program Analysis
★
★ Testing
★
★
★ Test classes and libraries in isolation
★
★
★ Identify boundary cases and generate appropriate test data
★
★
★ Perform integration testing
★
★ Debugging
★
★
★ Categorize errors: compile time, runtime, logic
★
★
★ Identify and correct errors
★
★
★ Techniques: use a debugger, add extra output statements, hand-trace code
★
★ Understand and modify existing code
★
★ Extend existing code using inheritance
★
★ Understand error handling
★
★
★ Understand runtime exceptions
★
★
★ Throw runtime exceptions (AB only)
★
★ Reason about programs
★
★
★ Preconditions and postconditions
★
★
★ Assertions
★
★
★ Invariants (AB only)
★
★ Analysis of algorithms
★
★
★ Informal comparisons of running times
★
★
★ Exact calculation of statement execution counts
★
★
★ Big-O notation (AB only)
★
★
★ Worst-case and average-case time and space analysis (AB only)
★
★ Numerical representations and limits
★
★
★ Representations of numbers in different bases
★
★
★ Limitations of finite representations (e.g., integer bounds, imprecision of floating-point representations, and round-off error)
★ Standard Data Structures
★
★ Simple data types (int, boolean, double)
★
★ Classes
★
★ One-dimensional arrays
★
★ Two-dimensional arrays (AB only)
★
★ Linked lists (singly, doubly, circular) (AB only)
★
★ Stacks (AB only)
★
★ Queues (AB only)
★
★ Trees (AB only)
★
★ Heaps (AB only)
★
★ Priority queues (AB only)
★
★ Sets (AB only)
★
★ Maps (AB only)
★ Standard Algorithms
★
★ Operations on data structures listed above
★
★
★ Traversals
★
★
★ Insertions
★
★
★ Deletions
★
★
★ Iterators (AB only)
★
★ Searching
★
★
★ Sequential
★
★
★ Binary
★
★
★ Hashing (AB only)
★
★ Sorting
★
★
★ Selection
★
★
★ Insertion
★
★
★ Mergesort
★
★
★ Quicksort (AB only)
★
★
★ Heapsort (AB only)
★ Computing in Context
★
★ Major hardware components
★
★
★ Primary and secondary memory
★
★
★ Processors
★
★
★ Peripherals
★
★ System software
★
★
★ Language translators/compilers
★
★
★ Virtual machines
★
★
★ Operating systems
★
★ Types of systems
★
★
★ Single-user systems
★
★
★ Networks
★
★ Responsible use of computer systems
★
★
★ System reliability
★
★
★ Privacy
★
★
★ Legal issues and intellectual property
★
★
★ Social and ethical ramifications of computer use
AP Computer Science exam
The AP exam currently tests students on their knowledge of Java. From 1999 to 2003, the exam tested students on their knowledge of C++ instead. Before 1999, the AP exam tested students on their knowledge of Pascal.
Although there are two AP Computer Science tests (A and AB), the format for both is exactly the same, 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]
Marine Biology Simulation Case Study
The Marine Biology Simulation Case Study is intended to be a substitute for writing a single large program as a culminating project. Due to obvious time restraints during the exam, the Marine Biology Simulation is provided by the College Board[1] to students prior to the exam. They are expected to be familiar with the classes and interfaces (and how they interact) before taking the exam. The case study is divided into five sections, the last of which is only tested on the AB exam.
Roughly five multiple-choice questions in Sections I are devoted to the MBSCS, and it is the topic of one free response question in Section II.
Grade distributions for AP Computer Science A
In the 2006 administration, 14,662 students took the exam from 2,101 schools. The mean score was a 2.91. The grade distribution for 2006 was:
| Score | Percent |
|---|---|
| 5 | 21.9% |
| 4 | 22.2% |
| 3 | 14.4% |
| 2 | 7.7% |
| 1 | 33.7% |
Grade distributions for AP Computer Science AB
In the 2006 administration, 4,939 students took the exam from 1,144 schools. The mean score was a 3.38. The grade distribution for 2006 was:
| Score | Percent |
|---|---|
| 5 | 33.7% |
| 4 | 19.7% |
| 3 | 17.2% |
| 2 | 9.3% |
| 1 | 20.1% |
External links
★ College Board: AP Computer Science A
★ College Board: AP Computer Science AB
★ College Board: Marine Biology Case Study
This article provided by Wikipedia. To edit the contents of this article, click here for original source.
psst.. try this: add to faves

العربية
中国
Français
Deutsch
Ελληνική
हिन्दी
Italiano
日本語
Português
Русский
Español