Please enable JavaScript to use CodeHS



AP Computer Science Principles in JavaScript

AP Computer Science Principles introduces students to the foundational concepts of computer science and challenges them to explore how computing and technology can impact the world. This course is endorsed by the College Board and has been updated for the 2020-2021 school year. With a unique focus on creative problem solving and real-world applications, AP Computer Science Principles prepares students for college and career. By the end of this course, students will learn basic programming skills as well as fundamental concepts about how computers and the Internet work.

Syllabus

Units: 19
Timeframe: Year
Contact Hours: 125

By the Numbers


Contact Hours 125
Lessons 152
Videos 129
Exercises 175
Challenges 67
Offline Handouts 198

Units

Unit Description
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.
Practice PT: Pair-Programming Paint!: 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 with JavaScript: Introduces you to the basics of JavaScript, including variables, user input, control structures, functions with parameters and return values, and basic graphics, how to send messages to objects.
JavaScript Control Structures: Learn how to use booleans and logical operators with control structures to make more advanced programs in JavaScript.
Functions and Parameters: Learn to write reusable code with functions and parameters.
Practice PT: Tell a Story: Learn to write reusable code with functions and parameters.
Basic Data Structures: We introduce lists/arrays. These are the essential basic data structures that any program will use.
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.
Practice PT: Steganography: 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.
Practice PT: Create an Image Filter!: 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.
Project: The Effects of 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.
Project: Present a Data-Driven Insight: 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.
Project: The Impacts of Computing: While the performance task is no longer a graded part of the AP test, the skills needed for the performance task are still a part of the curriculum. This module will give students a chance to apply these concepts in a project format.
Create Performance Task: Students will be given the chance to review course content and practice the skills necessary to complete each performance task.
AP Exam Review: This unit gives students a review of the topics covered in the course and provides practice solving AP Exam style multiple choice questions.
Creative Development: This unit introduces students to the theory and practice of user interface design. Students learn about what makes an engaging and accessible user interface, and will employ an iterative design process including rapid prototyping and user testing to design and develop their own engaging web pages.
Final: Final exam for the course.

Demos

Click on a demo to test it out.

Click For Mickey

Binary Game

Brighten Filter

Data Interpretation

Resources

Here are a few examples of teacher resources and materials to use in the AP Computer Science Principles in JavaScript course

Endorsed Curriculum and Professional Development

Endorsed Provider is recognized by the College Board as an endorsed provider of curriculum and professional development for AP Computer Science Principles. 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 endorsement affirms only that components of Endorsed Provider’s offerings are aligned to all the AP Curriculum Framework standards and the AP CSP assessment.


Learn more about our professional development

PD Course Overview

Format of Course

The entirely web-based curriculum is made up of a series of learning modules that cover the fundamentals of programming. Each module is made up of short video tutorials, example programs, quizzes, programming exercises, challenge problems, and unit tests. The course is designed for a year long class that meets 5 days per week, though schools implement it in a variety of ways.

Who is it for?

This is an AP level introductory Computer Science concepts course. It is aimed at high school students that 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 that are looking for a pure programming class may be disappointed. There are no prerequisites, however students should either be enrolled in or completed Algebra I.

Standards

AP Computer Science Principles in JavaScript is aligned with the following standards

Standards Framework View Alignment
Alaska 9-12 View (73.8%)
Alabama 9-12 View (71.7%)
AP Computer Science Principles 2020 View (100%)
Kansas 9-12 View (61.8%)
Kentucky 9-12 View (70.6%)
Virginia Computer Science Principles View (62.5%)
Wisconsin 9-12 View (47.7%)
New Jersey 9-12 Computer Science View (84.6%)