Please enable JavaScript to use CodeHS

AP Computer Science A Labs

Description

In this lesson, students learn about creating a large scale project using multiple classes. This lesson walks through the creation of a basic Blackjack game.

Objective

Students will be able to:

  • Understand the importance of top-down design
  • explain the process of creating a large scale project.
  • Extend another user’s code to make it their own.
Description

In this project, you will be making a simulation of the Nintendo game Pokemon! This video shows what you’ll have created at the end.

Description

In this lesson, students learn about creating a large scale project using multiple classes. This lesson walks through the creation of a basic Blackjack game.

Objective

Students will be able to:

  • Understand the importance of top-down design
  • explain the process of creating a large scale project.
  • Extend another user’s code to make it their own.
Description

In this lesson, students will be introduced to and play the game of Celebrity. Students will brainstorm different design options for creating a computer version of the game.

Objective

Students will be able to:

  • Play Celebrity in small groups
  • Brainstorm different design options for creating a computer version of the game Celebrity
Description

In this lesson, students will construct the Celebrity class to begin building a computer version of the game Celebrity.

Objective

Students will be able to:

  • Identify variables and methods needed in the Celebrity class
  • Create instance variables, accessor and mutator methods
Description

In this lesson, students will write and modify code to play the game Celebrity in a graphics program.

Objective

Students will be able to:

  • Implement instance variables and methods to handle game setup and functionality
  • Validate user input
Description

In this lesson, students will extend the Celebrity game by writing subclasses.

Objective

Students will be able to:

  • Create a subclass
  • Update the existing Celebrity game and GUI
Description

In this lesson, students will develop a program on a topic that interests them.

Objective

Students will be able to:

  • Create at least one subclass of a superclass
  • Override at least one method from a superclass
  • Create a program with a main method
  • Utilize polymorphism
Description

In this lesson, students will explore the concepts of steganography and 2D arrays, hiding images or text inside of other images.

Objective

Students will be able to:

  • Manipulate color values through bit operations
  • Apply bit manipulation to image processing
  • Analyze how changes in color values affect the visual representation of an image and evaluate the significance of these changes
Description

In this lesson, students will explore the concepts of steganography and 2D arrays, hiding images or text inside of other images.

Objective

Students will be able to:

  • Manipulate color values through bit operations
  • Apply bit manipulation to image processing
  • Write methods to hide and reveal images
Description

In this lesson, students will explore the concepts of steganography by revealing hidden images inside of other images.

Objective

Students will be able to:

  • Write methods to reveal differences in images
  • Identify hidden images
Description

In this lesson, students will explore the concepts of steganography by hiding then revealing a text message inside of an image.

Objective

Students will be able to:

  • Create a method to encode strings into integers and back
  • Analyze the needs and limitations of hiding text messages in images
Description

In this lesson, students will develop a program on a topic that interests them.

Objective

Students will be able to:

  • Create a program with a main method
  • Create at least one new method that is called from main (can be part of another class, such as Steganography) that takes at least one parameter
  • Traverse elements in a 2D array or do parallel traversals of multiple data structures
  • Modify some elements in a data structure based on the identified purpose