Announcing the New AP Computer Science Principles Course on CodeHS

Calvin Studebaker
8 min readMar 17, 2016

We are very excited to announce our new AP Computer Science Principles course on CodeHS! AP Computer Science Principles is the newest AP® course from the College Board, and becomes an official AP® course in the 2016–17 school year. This course introduces students to the foundational concepts of computer science and explores the impact computing and technology have on our society.

Quick Resources:

With a unique focus on creative problem solving and real-world applications, the CodeHS AP Computer Science Principles course gives students the opportunity to explore several important topics of computing using their own ideas and creativity, use the power of computing to create artifacts of personal value, and develop an interest in computer science that will foster further endeavors in the field.

Why AP Computer Science Principles?

  1. Almost every field today requires an understanding of computing. As President Obama noted in his Computer Science For All Weekly Address, “In the new economy, computer science isn’t an optional skill — it’s a basic skill, right along with the three ‘Rs.’ Nine out of ten parents want it taught at their children’s schools. Yet right now, only about a quarter of our K through 12 schools offer computer science.” [1]
  2. This course is designed to give those with no computer science background a foundational knowledge of the most important concepts in computer science, communicate the importance and impact of computer science, and encourage students to continue on with their computer science education.
  3. This course is designed to attract and engage students that are traditionally underrepresented in the field of computer science, and provide them with essential computing knowledge and multidisciplinary opportunities. [2]
  4. Over 90 colleges and universities have stated their support for the course, with the majority anticipating they will award college credit for high exam scores. [2]

“In the new economy, computer science isn’t an optional skill — it’s a basic skill, right along with the three ‘Rs.’ Nine out of ten parents want it taught at their children’s schools. Yet right now, only about a quarter of our K through 12 schools offer computer science.” — President Barack Obama

What is in the CodeHS AP Computer Science Principles Course?

The CodeHS course is an end-to-end course for helping you teach AP Computer Science Principles at your school or district.

The course utilizes a blended classroom approach. The content is a mix of web-based and physical activities. Students will write and run code in the browser, create websites and digital presentations, and engage in in-person collaborative exercises with classmates. Teachers can utilize tools and resources provided by CodeHS to leverage time in the classroom and give focused 1-on-1 attention to students. Each unit of the course is broken down into lessons. Lessons consist of video tutorials, short quizzes, example programs to explore, written programming exercises, free response exercises, collaborative creation projects and research projects.

The CodeHS course is:

  • Thematic. It introduces the real world relevance of computing and constantly reiterates the impact of computational concepts throughout the course.
  • Accessible. Concepts are introduced in bite sized chunks that build on each other, and students are able to explore and create with each concept in a wide array of disciplines.
  • Project based, and focused on creativity and innovation. On the very first day students will be making their own simple web pages. Students will create and maintain a website that will hold each of their creations throughout the course. This will serve as a running portfolio of each creative project the student makes.

Course Overview

The CodeHS AP Computer Science Principles course is aligned with the College Board curriculum framework for the course. If you are unfamiliar with the course, we recommend reading the framework here for context. The main course objectives are outlined below in the seven big ideas for the course.

The seven big ideas encompass foundational ideas of the field of computer science:

  • Creativity
  • Abstraction
  • Data and Information
  • Algorithms
  • Programming
  • The Internet
  • Global Impact

At a high level, the CodeHS AP Computer Science Principles Course is about:

  • Understanding the core principles behind the technology that is so rapidly changing the world
  • Giving students the tools and skills they need in order to invent, create, and express themselves with these new technologies
  • Learning how to solve problems computationally
  • Becoming an informed and responsible user of technology

Our course is broken down into 9 units, teaching web design, programming, digital information and more. Students will create their own portfolio home page hosted on their own codehs.me domain so they will have an easy place to showcase their work. You can see my homepage here at calvin.codehs.me. Here is the unit-by-unit overview:

Unit 1: Web Development
Unit 2: Introduction to Programming with Karel the Dog
Unit 3: Basic JavaScript
Unit 4: Digital Information
Unit 5: The Internet
Unit 6: Data
Unit 7: Performance Tasks
Unit 8: Review for the AP Exam
Unit 9: Final Project

Read more about what is in each unit here.

Course Tools

There are a few new components of our AP Computer Science Principles course that we are excited to highlight.

Writing HTML with Blocks or Text

Webpages have become the new medium for sharing ideas, and HTML is the language for building webpages. With the CodeHS editor, students will be able to make their own webpages using blocks or text. Blocks help the students see the nested structure of an HTML document, and allow students to see the toolbox of blocks at their disposal. Text editing is also available for those students who want to practice typing the proper syntax.

The AP Computer Science Principles multiple choice exam features programming questions in both blocks and text, so practicing with both is encouraged.

An example of making a simple HTML webpage using blocks and text. Students will be able to make their own webpages on the very first day of the course.

These webpages are hosted on their own URLs as well, so students can easily show off their creations with friends and family. You can check out the given example webpage here.

Programming with Karel the Dog in Blocks or Text

We’ve taught thousands of students the basics of programming with Karel the Dog as a fun way to learn the foundational concepts of computer science and learn the JavaScript programming language. In AP Computer Science Principles, students will have the option to use either blocks or text to write their JavaScript Karel programs.

An example of writing a JavaScript program with a combination of blocks and text. You can see that the current line of code executing highlights, helping students understand the flow of control

The Bit Interpreter Tool

One of the most powerful concepts of computer science is representing data at different levels of abstraction. Students are able to explore this idea with the CodeHS Bit Interpreter tool. Students can create raw data and decide how that data will be interpreted and displayed. This allows them to see different interpretations of the same data, and create their own images from scratch.

The simplest encoding scheme is simply using 0 to represent black (off), and 1 to represent white (on).

Example of creating a black image with the Bit Interpreter

With the RGB encoding scheme, students are able to bring color into their images!

An example of using bits to create a colorful image with pixels

Anything can be represented with bits if an encoding scheme is created. Students will be able to explore the standard text encoding ASCII using the Bit Interpreter.

An example of ASCII art. Hexadecimal data is interpreted according to the ASCII encoding scheme to produce an image.

But ASCII isn’t the only way to interpret bits, students can make their own encodings as well! The Bit Interpreter even supports encoding HTML, so students will be able to see how the webpages they have made can actually be represented in binary.

An example of defining a custom encoding to interpret bits. We are not limited to encoding single characters. The tool can even interpret bits as HTML, allowing students to see how their webpages can actually be represented in binary.

Tracing HTTP Requests

There is a vast network of routers connecting all devices on the Internet. The Traceroute tool allows students to see the series of routers their HTTP request is forwarded through on the way to its final destination.

Visualization of the hops an HTTP request takes from CodeHS to the Whitehouse website. Turns out whitehouse.gov is hosted at an IP address in Massachusetts!

Quizzes Just Like the AP Exam

At the end of each unit, students take a summative multiple choice unit quiz in the style of the AP Exam that assesses their knowledge of the concepts covered in the unit. Included in each lesson is a formative short quiz of various question types, including multiple choice, free response, and matching, all taken right in the browser with immediate feedback and reporting. The course also provides an AP Test Practice unit with a cumulative AP Practice Multiple Choice Test.

Quizzes follow each video and there are 25-question unit quizzes at the end of each unit. Practice exams are provided at the end of the course.

Who is this course for?

There are no official prerequisites for the CodeHS AP Computer Science Principles course. 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 (more info here). Students who have completed our Intro to CS course will be able to apply knowledge of concepts covered in the Intro course to the more advanced setting of the AP courses.

The course is built for students and for teachers. You can take it at school, or you can take it at home as an independent study. It’s built to be used by schools looking to teach AP Computer Science Principles for the first time as well as by veterans who have been teaching computer science for years.

For new teachers, we have all the pieces you need to get going. We have a blended curriculum, with lots of teacher resources, and an easy to get started environment for students.

For experienced teachers, we provide lots of customization. You can modify the course by changing out the videos, creating your own problems, and creating your own autograders. By using our tools your students get more immediate feedback, are able to explore first hand the concepts of computing using our online curriculum tools, and you get to spend more time helping your students.

Signing Up

The curriculum is free for any teacher to use. For access to full teacher tools and support, consider signing up for a school membership.

For schools who want to sign up for a Pro membership, the CodeHS AP Computer Science Principles course provides great value. It’s less than a new set of textbooks and about the same cost as the AP test. You are effectively getting hundreds of hours of modern and engaging curriculum, as well as advanced and customizable teacher tools, for about the same price as a 3 hour test.

I want to use this at my school!

If you are interested in teaching the AP Computer Science Principles course at your school you can contact us at hello@codehs.com. If you are a student, a parent, a teacher, or administrator, we’d love to hear your feedback.

The beta for the course goes live today. We’re excited to hear what you think, and hope we can help you make teaching the AP Computer Science Principles class an excellent experience!

If you have any other questions, please shoot us an email at hello@codehs.com to let us know!

Check out the course now! https://codehs.com/apcsp/start

--

--