Privacy Policy Cookie Policy Terms and Conditions AP Computer Science A - Wikipedia, the free encyclopedia

AP Computer Science A

From Wikipedia, the free encyclopedia

Image:Advanced_Placement_logo.png
This article is part of the
Advanced Placement Program
series.

Advanced Placement Computer Science A (also APCS) is a course and subsequent examination offered by the College Board to high school students as an opportunity to earn college credit for a college-level computer science course. APCS 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, but these topics are not covered to the extent that they are covered in AP Computer Science AB. The AP exam currently tests students on their knowledge of Java.

Contents

[edit] Topic Outline

  • Object-Oriented Program Design
    • Problem Design
      • Read and understand a problem's description, purpose, and goals.
      • Apply data abstraction and encapsulation.
      • Read and understand class specifications and relationships among the classes ("is-a", "has-a" relationships).
      • 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 an interface.
      • Choose appropriate data representation and algorithms.
      • 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
        • Paramater declarations
      • Console output (System.out.print/println)
      • Control
        • Methods
        • Sequential
        • Conditional
        • Iterations
        • Recursion
    • Java library classes (included in the A-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, run-time, 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
    • Reason about programs
      • Pre- and post-conditions
      • Assertions
    • Analysis of algorithms
      • Informal comparisons of running times
      • Exact calculation of statement execution counts
    • 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
  • Standard Algorithms
    • Operations on A-level data structures listed above
      • Traversals
      • Insertions
      • Deletions
    • Searching
      • Sequential
      • Binary
    • Sorting
      • Selection
      • Insertion
      • Mergesoft
  • 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

[edit] The Exam

The AP exam currently tests students on their knowledge of Java. Before 2001, the exam was based on Pascal. From 2001 to 2003, the exam tested students on their knowledge of C++ instead. The AP exam consists 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]

[edit] Grade distribution

In the year 2005, the grade distribution was:

Score Percent
5 17.9%
4 23.2%
3 14.9%
2 9.90%
1 34.0%
  • The average grade was a 2.81
  • The standard deviation was 1.54
  • 13,924 students took the exam
  • 2,138 schools worldwide administered the exam

[edit] External links

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -