Our AP Computer Science Principles course is an AP level class designed to introduce students to a variety of computer science skills and to prepare them for the AP Computer Science Principles test in May. The course can be taught in any language, and we offer three versions of course:
Who should take this course?
This is an AP-level introductory Computer Science concepts course. It is aimed at high school students who may not have much prior knowledge about computer science or programming. As a concepts class, the content is focused on an overview of computer science, including programming, but also a background about how computers and the Internet work. Students who are looking for a pure programming class may be disappointed. There are no prerequisites, however students should either be enrolled in or have completed Algebra I.
In the Cybersecurity version of the course, students will explore all the AP CSP requirements with an emphasis on Cybersecurity applications in JavaScript.
What’s Covered in AP Computer Science Principles?
Introduction to Programming: Karel is a dog that only knows how to move, turn left, and place tennis balls in his world. You can give Karel these commands to instruct him to do certain things. We use Karel to show you what it means to program, and allow you to focus on problem-solving.
Programming Basics: Introduces you to the basics of Python or JavaScript, including variables, user input, control structures, functions with parameters and return values, and basic graphics, how to send messages to objects.
Control Structures: Learn how to use booleans and logical operators with control structures to make more advanced programs in Python or JavaScript.
Functions and Parameters: Functions are a key component to making code reusable. This module will introduce students to the basics of functions, including using parameters and return values.
Basic Data Structures: Students will learn the basics of lists in Python or Arrays in JavaScript. Students will explore how to create each of these and the various methods to access or alter them.
Digital Information: In this unit, students will learn about the various ways we represent information digitally. Topics covered include number systems, encoding data, programmatically creating pixel images, comparing data encodings, compressing, and encrypting data.
The Internet: This unit explores the structure and design of the Internet, and how this design affects the reliability of network communication, the security of data, and personal privacy.
Data: In this unit, students will explore using computational tools to store massive amounts of data, manipulate and visualize data, find patterns in data, and pull conclusions from data.
Create Performance Task: Students will be given the chance to review course content and practice the skills necessary to complete each performance task.
Cybersecurity Course-Specific Modules
Cybersecurity: In this unit, students will learn about assessing different cybersecurity risks on both a personal level and a wider network level.
Project: Cyber Ethics: In this project, students will choose one of four articles on cyber ethics and write a position paper. Based on that article, they will provide an arguable opinion about who is responsible and why.
Encryption: In this unit, students will learn about the various ways we encrypt information. Topics covered include encoding and decrypting Caesar and Vigenere ciphers, and understanding symmetric and public key encryption.
Roblox Course-Specific Modules
This course uses the Lua programming language. Students will first learn the concepts using the CodeHS editor and then apply them in Roblox Studio. The majority of modules in the Roblox course contain brand-new content, except for 3 units of non-coding material that are the same as our other AP CSP courses. Those modules are:
Digital Information
Data
The Internet
Note: The AP CSP in Roblox course is a super fun and engaging course, but it has quite a few technical requirements. You can read what they are in our CodeHS AP CSP Roblox Tech Guide.
How Are the Versions of AP Computer Science Principles Different?
Our AP Computer Science Principles course versions are going to remain consistent across its various tracks. However, certain exercises within the different AP CSP versions adopt a specialized perspective to enhance understanding and application. For instance, while our AP CSP JavaScript course might feature a general conditional exercise, the cybersecurity counterpart may delve into password validation techniques.
Endorsed Curriculum and Professional Development
CodeHS is recognized by the College Board as an endorsed provider of curriculum and professional development for AP® Computer Science Principles (AP CSP). This endorsement affirms that all components of CodeHS‘s offerings are aligned to the AP Curriculum Framework standards and the AP CSP assessment. Using an endorsed provider affords schools access to resources including an AP CSP syllabus pre-approved by the College Board’s AP Course Audit, and officially recognized professional development that prepares teachers to teach AP CSP.
This course is meant to be a first-time introduction to computer science, and does not require students to come in with any computer programming experience. However, we recommend that students take our Introduction to Computer Science prior to our AP courses.
Prerequisites
This course will prepare students for the multiple-choice AP CSP exam. Each unit includes a cumulative AP-style multiple choice exam to test understanding of the concepts in the unit.
Curriculum Pathways
Curriculum pathway for grades 6-12
Curriculum pathway for grades 9-12
Overview of the main high school courses in the CodeHS curriculum pathway:
AP Computer Science Pathway
With the College Board’s Advanced Placement (AP) frameworks and the CodeHS curriculum, students will develop critical problem-solving skills and learn essential programming languages to help prepare them for the future.
Still have questions? Visit codehs.com/info/curriculum/apcsp for more information or email us at hello@codehs.com.