AP® Computer Science Principles

  9-12 graders

  Credits awarded on transcript  

  Algebra I completed with B- or better

  UC A-G approved for [D] Science credits

  2 hours per day (summer)  

  8-10 students per class

  4 days per week 2, 4, or 6 weeks

  629 per student, per week  

  Self paced instructor-guided  

  Personalized 1-1 support

  Office hours 1 hour per week

  1599 per student, per semester  

  90 minutes per class

  4-8 students per class

  Twice per week over 36 weeks

  1599 per student, per semester  

AP® Computer Science Principles (AP CSP) is an introductory-level course meant for all students, regardless of whether they intend to pursue a major in a STEM discipline or not. You don't need an advanced understanding of programming. One year studying Computer Science will help students explore careers they may not have considered open to them. Students who take AP CSP —

  • Gain confidence in problem-solving abilities
  • Understand better how computers really work
  • Broaden their understanding of how computers impact every career and discipline
  • Stretch their creativity by bringing their own ideas to life
  • Learn skills that they can apply to a wide range of fields and interests
  • Learn new ways to help their community through technology

This course adequately covers the requirements of the AP® CSP curriculum and allows students to go further in more advanced topics that are outside of AP CSP requirements if they have interest and time.

This course covers a broad range of foundational topics such as digital information, the Internet, programming, algorithms, big data, cybersecurity, and the societal impacts of computing. It provides students with the essential knowledge and skills needed to work with modern computing throughout their lives. Not only do we show students how our current computational world was built from the first computer through the Internet, we also develop the foundational skills that they will need to build the next generation of computational tools. Students will develop their ability for computational solution design, algorithms and program development, abstraction in program development, code analysis computing innovations, and responsible computing.

The course provides its own browser-based Integrated Development Environment (IDE) that the students will use to create and run their programs. It encompasses an editor and compiler, a custom graphics package, and an autograder that is capable of grading not only textual problems and solutions, but also a broad range of graphics problems and solutions.


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 recommended third year of [D] Science credits.      NCAA Approved.

Course Outline

    hide details
  1. Digital Information
    This unit explores the technical challenges and questions that arise from the need to represent digital information in computers. Students learn how complex information like numbers, text, images, and sound are represented, how compression works, the importance of the binary number system, and the broader social impacts of digitizing the world's information.
  2. The Internet
    This unit reveals how the Internet was designed to connect billions of devices and people to one another. Students will learn how the different protocols of the Internet work and actually build them using an Internet Simulator. Then they will consider the impacts the Internet has had, both good and bad, on modern life. Students will be able to work with the seven different layers in the Open System Interconnection (OSI) model.
  3. Intro to Python Programming
    This unit is an introduction to programming and app design with a heavy focus on important skills like debugging, pair programming, and user testing. Students learn how to design user interfaces and write event-driven programs using the Python programming language and a graphics library so they can explore the nuances of programming in future units.
  4. Functions, User Input, and Conditionals
    Students are introduced to functions, conditionals, and user input followed by editing starter code and solving engaging exercises. The unit concludes with an open-ended project in which students must create a program that implements the new concepts of functions and conditionals while reacting to user generated mouse events.
  5. Data Structures and Loops
    Students will learn about two key programming concepts - data structures and loops. We introduce students to a basic data structure called a group that allows students to combine shapes into one object and manipulate it as if it were an individual object. Students learn how to leverage loops to iterate through the group.
  6. Algorithms
    An exploration of how computer scientists design algorithms to solve problems and how they analyze the speed of different algorithms. Students will learn about the concept of algorithmic efficiency, their applications in modern computing, limits of algorithms, and how parallel and distributed algorithms can help solve more complex problems with larger data sets.
  7. Complex Conditionals and Libraries
    Students will add more precise and nuanced control to their programs through complex conditionals and new user input methods using the keyboard. Students will create programs that include automation by using step events to automatically move parts of their programs. We explore important libraries, including the math library to create more realistic programs and games.
  8. Creative Coding Project
    Students will synthesize all of the knowledge and skills they have learned into a project that demonstrates their mastery. Students will be guided through the development process, from idea to implementation. Students will document their thinking throughout so that they can present their project process and output in detail.
  9. Data
    Students learn how data analysis helps turn raw data into useful information about the world. This starts with identifying a quality dataset, filtering, cleaning, and organizing the data. Students will use data visualization to find patterns and learn how data analysis is used in contexts like machine learning for making decisions. This includes building bar charts, histograms, crosstab and scatter charts.
  10. Cybersecurity and Global Impacts
    Students will learn how computing innovations have impacted our world in beneficial and harmful ways, how data can pose a threat to our privacy and security and the ways that encryption, data policies, and other techniques are used to protect it. They will explore security risks like phishing, keylogging, malware, and other cybercrime methods. Throughout the unit students participate in a ‘school of the future’ conference where they will form a team and make a proposal for how best to improve school life with computing innovations.

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.