AP® Computer Science A

  10-12 graders

  Credits awarded on transcript  

  Algebra II completed with B- or better

  UC A-G approved for [C] Mathematics credits

  90 minutes per class

  8-10 students per class

  Twice per week over 36 weeks

  1195 per student, per semester  

  Self paced instructor-guided  

  Online community

  Office hours on-demand

  849 per student, per semester  

AP® Computer Science A (AP CSA) is an introductory college-level computer science course developed by the College Board as equivalent to a first-semester, college-level CS1 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 the Java programming language. These techniques represent proven approaches for developing solutions that can scale up from small, simple problems to large, complex problems. The Java Programming portion of this course teaches students skills to —

  • Design and develop the Algorithm to solve a given problem
  • Write the logic in Java to produce the expected output
  • Test and analyze code written in Java for correctness, equivalence, and errors
  • Document the behavior and conditions that produce results of a program

In addition to a strong foundation on programming, students learn computer science fundamentals concepts such as sorting, searching, recursion, error handling, and so on. This course adequately covers the requirements of the AP® CSA curriculum and allows students to go further in more advanced topics that are outside of AP CSA requirements if they have interest and time.

  University of California A-G approved for [C] Mathematics credits.

Course Outline

  1. Getting Started and Primitive Types
  2. Using Objects
  3. Boolean Expressions and If Statements
  4. Iteration (Loops)
  5. Writing Classes
  6. Arrays
  7. ArrayList
  8. 2D Arrays
  9. Inheritance
  10. Recursion
  11. Post Test
  12. Preparing for the Exam

Our technology requirements are similar to that of most Online classes.

A desktop or laptop computer running Windows (PC), Mac OS (Mac), or Chrome OS (Chromebook).
Students must be able to run a Zoom Client.
A working microphone, speaker, and webcam.
A high-speed internet connection with at least 10mbps download speed (check your Internet speed).

Students must have a quiet place to study and participate in the class for the duration of the class. Some students may prefer a headset to isolate any background noise and help them focus in class.

Most course lectures and content may be viewed on mobile devices but programming assignments and certain quizzes require a desktop or laptop computer.

We encourage (but do not require) students taking AP® courses to take the AP Exams administered in May by the College Board. Being an Online School, we do not conduct AP® Exams ourselves yet. See the College Board's website to find a local location near you, if your school doesn't offer these exams.

This course includes several timed tests where you will be asked to complete a given number of questions within a 1-3 hour time limit. These tests are designed to keep you competitively prepared but you can take them as often as you like. We do not proctor these exams, neither do we require that you install special lockdown browser.

In today's environment, when students have access to multiple devices, most attempts to avoid cheating in online exams are symbolic. Our exams are meant to encourage you to learn and push yourself using an honor system.

We do assign a grade at the end of the year based on a number of criteria which includes class participation, completion of assignments, and performance in the tests. We do not reveal the exact formula to minimize students' incentive to optimize for a higher grade.

We believe that your grade in the course should reflect how well you have learnt the skills, and a couple of timed-tests, while traditional, aren't the best way to evaluate your learning.