About AP Computer Science A

The following information is from https://apcentral.collegeboard.org/pdf/ap-computer-science-a-course-overview.pdf.

Course Overview

AP Computer Science A is equivalent to a first-semester, collegelevel course in computer science. The course introduces students to computer science with fundamental topics that include problem solving, design strategies and methodologies, organization of data (data structures), approaches to processing data (algorithms), analysis of potential solutions, and the ethical and social implications of computing. The course emphasizes both object-oriented and imperative problem solving and design using Java language. These techniques represent proven approaches for developing solutions that can scale up from small, simple problems to large, complex problems. The AP Computer Science A course curriculum is compatible with many CS1 courses in colleges and universities.

Goals of AP Computer Science A

Students should be able to

  • Design, implement, and analyze solutions to problems;
  • Use and implement commonly used algorithms;
  • Develop and select appropriate algorithms and data structures to solve new problems;
  • Write solutions fluently in an object-oriented paradigm;
  • Write, run, test, and debug solutions in the Java programming language, utilizing standard Java library classes and interfaces from the AP Java subset;
  • Read and understand programs consisting of several classes and interacting objects;
  • Read and understand a description of the design and development process leading to such a program; and
  • Understand the ethical and social implications of computer use.

Topic Outline for AP Computer Science A

  1. Object-Oriented Program Design
    1. Program and class design
  2. Program Implementation
    1. Implementation techniques
    2. Programming constructs
    3. Java library classes and interfaces included in the AP Java Subset
  3. Program Analysis
    1. Testing
    2. Debugging
    3. Runtime exceptions
    4. Program correctness
    5. Algorithm analysis
    6. Numerical representations of integers
  4. Standard Data Structures
    1. Primitive data types (int, boolean, double)
    2. Strings
    3. Classes
    4. Lists
    5. Arrays (1-dimensional and 2-dimensional)
  5. Standard Operations and Algorithms
    1. Operations on data structures
    2. Searching
    3. Sorting
  6. Computing in Context
    1. System reliability
    2. Privacy
    3. Legal issues and intellectual property
    4. Social and ethical ramifications of computer use

Lab Component

The AP Computer Science A course must include a minimum of 20 hours of hands-on structured lab experiences to engage students in individual or group problem solving. Thus, each AP Computer Science A course includes a substantial laboratory component in which students design solutions to problems, express their solutions precisely (e.g., in the Java programming language), test their solutions, identify and correct errors (when mistakes occur), and compare possible solutions.

Computer Language

The AP Computer Science A course requires that solutions of problems be written in the Java programming language. Because the Java programming language is extensive with far more features than could be covered in a single introductory course, the AP Computer Science A Exam covers a subset of Java. The AP Java subset can be found in Appendix A of the Course Description.

AP Computer Science A Exam: 3 Hours

Assessment Overview

All code on the AP Computer Science A Exam is consistent with the AP Java subset that can be found in Appendix A of the Course Description. All questions involving code should be answered in Java. Students are not tested on minor points of syntax. Format of Assessment

Section I: Multiple Choice | 40 Questions | 1 Hour, 30 Minutes | 50% of Exam Score

  • Discrete Question topics will include: programming fundamentals, data structures, logic, algorithms/problem solving, object-oriented programming, recursion, and software engineering.

Section II: Free Response | 4 Questions | 1 Hour, 30 Minutes | 50% of Exam Score

  • Short Answer (each requiring Java programming language)
  • Solve problems involving more extended reasoning.