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

  2 hours per day (summer)  

  8-10 students per class

  4 days per week 2, 4, or 6 weeks

  699 per student, per week  

  Self paced instructor-guided  

  Personalized 1-1 support

  Office hours 1 hour per week

  1899 per student, per semester  

  90 minutes per class

  4-8 students per class

  Twice per week over 36 weeks

  1899 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.

2Sigma School emphasizes project-based learning where students work on programming challenges, or mini-labs, throughout the course so that they are actively engaging with the concepts of modularity, variables, control, code logic, algorithm design, code testing, and the impact of computing on a daily basis. Completing these mini-labs prepares students to build their skills to complete full labs on their own. By the end of the course students will create multiple complete programming projects, or labs, on their own where they will design solutions to problems, express their solutions precisely, test their solutions, identify and correct errors, and compare possible solutions.

No prior programming experience is necessary, but it is highly recommended that students have successfully completed Algebra II with a strong foundation of basic linear functions, composition of functions, and problem-solving strategies that require multiple approaches and collaborative efforts. In addition, students should be able to use a Cartesian (x, y) coordinate system to represent points on a plane. The highest performing students enjoy logical thinking similar to proof building found in most Geometry courses. Computer science builds upon a foundation of mathematical reasoning that should be acquired before attempting this course.


Students will be provided access to lessons and practice AP exams through AP Classroom.
  Authorized by the College Board to use the AP® designation.
   University of California A-G approved for [C] Mathematics credits.      NCAA Approved.

Course Outline

    hide details
  1. Primitive Types
    This unit introduces students to the Java programming language and the use of classes and primitive data types, providing students with a firm foundation. Through interactive coding challenges and exercises, students will learn about built-in data types, how to create variables, store values, and interact with those variables using basic operations.
  2. Using Objects
    This unit introduces a new type of data: Objects, that allows real-world objects to be represented in a computer program. Students will learn about modularity in object-oriented programming, which allows us to use abstraction to break complex programs down into individual classes and methods, through interactive coding challenges and exercises.
  3. Boolean Expressions and if Statements
    Algorithms are composed of three building blocks: sequencing, selection, and iteration. This unit focuses on selection, which is represented by conditional statements. Students learn how conditional control structures give the program the ability to decide and respond to different conditions.
  4. Iteration with Loops
    This unit focuses on iteration using while and for loops and introduces standard algorithms such as searching and sorting as well as traversal of data structures such as Arrays. Students will learn to use boolean expressions as a key component in iteration and will do run-time analysis using code tracing throughout each iteration.
  5. Writing Classes
    Students will create user-defined data types along with their attributes and behaviors in the form of classes to accurately model real-world entities in a computer program. Students will understand the importance of documentation and will be able to describe pre and post conditions that are necessary for a program to work as intended.
  6. Data Structure Introduction with Arrays
    Data structures allow representing collections of related data using a single variable rather than multiple variables and processing them using iterative statements. In this unit, students apply standard algorithms to arrays and identify errors in program code found in programming challenges and interactive activities throughout the unit.
  7. ArrayList Data Structures
    Students will learn how to address the static size and other limitations of Arrays with an ArrayList object that has dynamic size as well as abstractions for insertion, deletion, reordering, and shifting items. Students will also learn about privacy and security concerns related to storing large amounts of personal data.
  8. 2D Array Data Structures
    This unit introduced two-dimensional (2D) arrays to represent a table along with row and column indices to access each element. Students will learn to use nested iterative statements to traverse a table and access elements using row-major, column-major, and random access retrieval.
  9. Inheritance
    Students will learn one of the strongest differentiators of object-oriented programming – the ability to categorize classes into hierarchies and share state and behavior through inheritance. Recognizing and utilizing existing hierarchies will help students create more powerful, readable and maintainable programs.
  10. Recursion
    Recursion is a powerful math and computer science idea that provides an elegant alternative to iterations in solving complex problems. Students will learn how to write simple recursive methods and determine the purpose or output of a recursive method by tracing.
  11. Capstone Project
    Students will create a program from scratch in an area that they are interested in by leveraging all of the concepts covered in the course. The program will need to implement data structures, conditionals, iteration, and a hierarchy of classes. Students will first outline their design with planned testing points, which will then become the comments in the code. Students will present the capstone project and complete a reflection on the entire process.

Summer of Code
    see detailed summer schedule

To take any of our courses, students must be familiar with opening a browser, navigating to a website, and joining a Zoom meeting.

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.

Students are required to have their camera on at all times during the class, unless they have an explicit exception approved by their parent or legal guardian.

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, webcam, and an external mouse.
A high-speed internet connection with at least 15mbps download speed (check your Internet speed).

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 60-90 minutes 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.

FAQ

Your questions. Our answers.

2Sigma School offers three flexible enrollment formats so students can learn in the way that best fits their schedule:

Independent Study is our most popular format and is offered year round. An assigned instructor guides the student through the course with weekly 1-on-1 office hours for teaching new concepts, reviewing work, and giving personalized feedback. At a standard pace, students complete one semester in about 18 weeks or the full course in 36 weeks. Students who want to move faster can set an accelerated goal and their instructor will provide additional office hours to match. This format works well for students with busy schedules or those completing coursework started in another format.

Summer of Code is our accelerated summer program. Students meet 2 hours per day, 4 days per week in an intensive format that allows them to complete a full-year course in as few as 6 weeks. This is ideal for students who want to earn credits quickly or get ahead before the school year starts. It requires a significant time commitment and is best suited for students who can dedicate themselves fully to the program during the summer.

Live Classes are our year-round, cohort-based format. Students attend live online sessions (90 minutes, twice per week) over 36 weeks in small groups of 10–14 students. This format provides consistent interaction with instructors and peers throughout the academic year, with time between sessions to work on projects and assignments. These classes are subject to cohort formation and may have limited availability.

Independent Study offers the most flexibility. During the application process, students provide their availability and we match them with an instructor whose schedule aligns. Sessions are then scheduled directly between the student and their instructor.

Summer of Code and Live Classes are cohort-based. Students indicate all of their available time slots when applying, and we form cohorts based on the collective availability of enrolled students. This approach gives families flexibility while ensuring each cohort has a consistent meeting time that works for everyone in the group.

As an accredited institution, 2Sigma School can award high school credits for our courses on a transcript, just like your child's regular school. Some high schools may accept these credits as part of their graduation requirements, and even use them to calculate your child's GPA. This policy varies by school, so we recommend you check with your child's school counselor.

Regardless of your local school's decision, students can submit our transcript to colleges as college applications allow additional transcripts to be submitted. This can help your child stand out in the college application process.

We are accredited by Cognia and most of our courses are not only NCAA approved, they are also approved for A-G credits by the University of California. Our AP courses are approved by the College Board.

In addition, 2Sigma School is an approved online course provider in multiple states, including California, Washington, Oklahoma, and Florida. See our accreditations page for more details.

Our instructors vary by course as well as by availability. Some of our instructors are high school teachers with deep expertise in computer science, teaching credentials in multiple states, and years of classroom experience. Others are professionals with an undergraduate degree in Computer Science with deep experience in the subject matter and a demonstrated ability and aptitude to teach teenage students.

All of our instructors undergo a rigorous screening process for content and pedagogical expertise. They are background checked as per local and state regulations, and are trained in online instruction and classroom management.

Students need a desktop or laptop computer running Windows (PC), Mac OS (Mac), or Chrome OS (Chromebook), along with a working microphone, speaker, and webcam. A high-speed internet connection with at least 10 Mbps download speed is required.

Students should be familiar with opening a browser, navigating to a website, and joining a Zoom meeting. Most course content can be viewed on mobile devices, but programming assignments and certain quizzes require a desktop or laptop computer.

Yes. All formats include access to instructor support. In Live Classes and Summer of Code, students can ask questions during class and instructors are available to provide additional guidance. In Independent Study, students have dedicated weekly office hours with their assigned instructor.

If a student needs additional 1-on-1 support beyond what is included, we offer tutoring sessions that can be arranged through our team. Contact us at admissions@2sigma.school for details.