About the AP CSA Exam
======================

This curriculum will prepare you for the Advanced Placement Computer Science A
Exam which tests your programming skills in Java.

The AP CSA exam is 3 hours long and has two sections—multiple choice and
free-response. You will be given one hour and 30 minutes for each part. The
first part has 40 multiple-choice questions, and the second part has 4 free
response questions where you have to write Java code by hand. Each part is worth
50% of your grade. During the exam, you will have access to the |AP CSA
Reference Sheet|.

The 4 free response questions cover the following areas (from |AP CSA Free Response|):

  - **Question 1**: Methods and Control Structures—You’ll be asked to write program
    code to create objects of a class and call methods, and satisfy method
    specifications using expressions, conditional statements, and iterative
    statements.

  - **Question 2**: Classes—You’ll be asked to write program code to define a new
    type by creating a class and satisfy method specifications using
    expressions, conditional statements, and iterative statements.

  - **Question 3**: Array/ArrayList—You’ll be asked to write program code to satisfy
    method specifications and create, traverse, and manipulate elements in 1D
    array or ArrayList objects.

  - **Question 4**: 2D Array—You’ll be asked to write program code to satisfy method
    specifications and create, traverse, and manipulate elements in 2D array
    objects.

The College Board specifies the AP CSA course in the 10 units shown in the table
below. On the College Board's AP Portal they provide formative assessments
called Personal Progress Checks for each unit. This CSAwesome curriculum is
organized around the AP CSA units and also provides many interactive exercises
in each unit.

The College Board also requires AP CSA courses to provide at least 20 hours of
lab time for you to practice Java programming.

.. container::
   :name: aboutcsa-table

   ======= ======================= =============== ========== ========
   Unit    Title                   Exam Weight     Class Days Lab Days
   ======= ======================= =============== ========== ========
   1       Primitive Types         2.5–5%          8-10
   ------- ----------------------- --------------- ---------- --------
   2       Using Objects           5–7.5%          13-15
   ------- ----------------------- --------------- ---------- --------
   3       Boolean Exprs/ifs       15–17.5%        11-13      3-5
   ------- ----------------------- --------------- ---------- --------
   4       Iteration               17.5–22.5%      14-16      4-6
   ------- ----------------------- --------------- ---------- --------
   5       Writing Classes         5-7.5%          12-14      3-6
   ------- ----------------------- --------------- ---------- --------
   6       Array                   10–15%          6-8
   ------- ----------------------- --------------- ---------- --------
   7       ArrayList               2.5–7.5%        10-12      3-6
   ------- ----------------------- --------------- ---------- --------
   8       2D Array                7.5–10%         10-12      4-7
   ------- ----------------------- --------------- ---------- --------
   9       Inheritance             5-10%           14-15      3-6
   ------- ----------------------- --------------- ---------- --------
   10      Recursion               5–7.5%          3-5
   ======= ======================= =============== ========== ========

For more information on the exam see the College Board |AP CSA site| and the
200+ page |AP CSA CED|. The |AP CSA past FRQs| are available online. Here is an
|FRQ resource| that categorizes the past FRQs by topic and provides links to
their solutions (which are available online in many places). The College Board
provides a question bank and formative assessment quizzes for each unit online
for registered AP classes.

Also check out this list of |CS Careers| that taking CSA can lead to. Learning
to code is an increasingly important skill that has applications in many
careers!


.. |AP CSA site| raw:: html

   <a href="https://apstudent.collegeboard.org/apcourse/ap-computer-science-a" target="_blank">AP CSA site</a>

.. |AP CSA CED| raw:: html

   <a href="https://apcentral.collegeboard.org/pdf/ap-computer-science-a-course-and-exam-description.pdf?course=ap-computer-science-a" target="_blank">AP CSA Course and Exam Description (CED)</a>

.. |CS Careers| raw:: html

   <a href="https://apstudents.collegeboard.org/choosing-courses/major-career-results/course/AP-Computer-Science-A" target="_blank">CS Careers</a>

.. |AP CSA Reference Sheet| raw:: html

   <a href="https://apstudents.collegeboard.org/ap/pdf/ap-computer-science-a-java-quick-reference_0.pdf" target="_blank">AP CSA Java Quick Reference Sheet</a>

.. |AP CSA past FRQs| raw:: html

   <a href="https://apstudents.collegeboard.org/courses/ap-computer-science-a/free-response-questions-by-year" target="_blank">AP CSA Past Free Response Questions</a>

.. |FRQ resource| raw:: html

   <a href="https://docs.google.com/spreadsheets/d/1Q0pbL9qawN8XlUctkDIiqsP6XdwR-IcWZ_cwauHy0-U/edit?usp=sharing" target="_blank">FRQ resource</a>

.. |AP Audit|  raw:: html

   <a href="https://apcentral.collegeboard.org/courses/ap-course-audit" target="_blank">AP Audit</a>

.. |AP CSA Free Response|  raw:: html

   <a href="https://apstudents.collegeboard.org/courses/ap-computer-science-a/assessment" target="_blank">AP CSA Free Response</a>
