Please enable JavaScript to use CodeHS

AP Computer Science Principles in JavaScript

Description

How do computers store and manipulate information? In this lesson, students learn how computers abstract complicated information into manageable chunks that they can then store and manipulate.

Objective

Students will be able to:

  • explore and explain abstraction and the different ways that we can represent digital information.
Description

In this lesson, students will learn what a number system is, the difference between the decimal number system and the binary number system, and how to convert between decimal and binary.

Objective

Students will be able to:

  • Represent numbers in different number systems
  • Understand how to convert between the decimal and binary system
Description

In this lesson, students will learn what a number system is, the difference between the decimal number system and the binary number system, and how to convert between decimal and binary.

Objective

Students will be able to :

  • Understand the binary system
  • Encode various types of information using binary
Description

In this lesson, students will learn how computers break down images into concrete values that can be stored. Students will learn how images are represented digitally using pixels.

Objective

Students will be able to:

  • Understand how images can be encoded as data
Description

In this lesson, students will learn about the hexadecimal number system, and how it is useful in storing digital information. They will also learn how to convert numbers from the hexadecimal system to binary and vice versa.

Objective

Students will be able to:

  • Understand how to convert between the hexadecimal and binary system
Description

In this lesson, students will learn how the RGB encoding scheme allows us to encode colors as numeric data. It defines the amount of red, green and blue light in a pixel.

Objective

Students will be able to:

  • Encode colors
  • Encode color images as data
Description

In this lesson, students will learn how to include images in their programs and manipulate their pixels using WebImage. Students will learn how image filters manipulate stored pixel data.

Objective

Students will be able to:

  • Include images in their programs
  • Manipulate the stored pixel data arbitrarily
Description

In this lesson, students will learn how computers shrink digital information, to make storage of pictures, videos, and text more efficient.

Objective

Students will be able to:

  • have a basic understanding of how data can be compressed.
Description

In this lesson, students will what lossy compression is, the benefits and disadvantages of using this kind of compression, and where using lossy compression is appropriate.

Objective

Students will be able to:

  • understand different types of compressions, and the benefits and drawbacks to each.
Description

In this lesson, students learn how computers encrypt and decrypt information. Students learn the difference between asymmetric and symmetric encryption.

Objective

Students will be able to:

  • Explain what cryptography is and how it is used
  • Analyze an encryption and determine if it is weak or strong
  • Explain the difference between an easy and hard problem in computer science
  • Explain the difference between algorithms that run in a reasonable amount of time and those that do not run in a reasonable amount of time
  • Explain the difference between solvable and unsolvable problems in computer science
  • Explain the existence of undecidable problems in computer science
Description

This lesson is a summative assessment of the unit’s learning objectives.

Objective

Assess student achievement of the learning goals of the unit