Please enable JavaScript to use CodeHS

AP Computer Science Principles in Roblox

Description

In this lesson, students will learn about different aspects of computer science. They will find examples in the real world and learn about programming as one example of computer science.

Objective

Students will be able to:

  • Define code, programs, and algorithms
  • Understand its significance in our daily lives
Description

In this lesson, students will learn how to print messages out onto the console using the Lua command print.

Objective

Students will be able to:

  • Write a Lua program by typing commands with proper syntax
  • Write a program that prints out a message to the user
Description

In this lesson, students are introduced to Roblox studio — familiarizing them with the different options and menus need to design their Roblox creations. They also learn about the parent/child hierarchy which plays a big part in developing Roblox games.

Objective

Students will be able to:

  • Navigate through Roblox Studio
  • Create and use scripts in Roblox
  • Explain and use the parent/child hierarchy
Description

In this lesson, students review the Roblox Studio interface and explore the transformation tools while editing their first part and model.

Objective

Students will be able to:

  • Understand and navigate the Roblox Studio interface
  • Create a part and add a model
  • Edit the size, position, and orientation of a part and model
  • Understand part properties such as Anchored
Description

In this lesson, students learn how to assign values to variables, manipulate those variable values, and use them in program statements. This is the introductory lesson into how data can be stored in variables.

Objective

Students will be able to:

  • Explain what variables are and what they are used for
  • Use the different types of variables in Lua
  • Distinguish between declaring, initializing and assigning variables
  • Create their own variables with proper naming conventions
  • Print out the values stored in variables
Description

In this lesson, students learn about the different mathematical operators they can use to perform mathematical computations and create useful programs that compute information for the user.

Objective

Students will be able to:

  • Describe the different mathematical operators we can use in programs
  • Create programs that use basic math to compute useful things
  • Create programs that take in user input, do simple computations with the input, and produce useful output
Description

In this lesson, students will learn how to create basic functions using Lua and use them to improve the organization, readability, and flow of their programs. They will also learn how to implement the Touched function in their Roblox programs.

Objective

Students will be able to:

  • Explain the difference between defining and calling a function
  • Use functions in order to manage the flow of their programs
  • Increase the readability and organization of their code using functions
Description

Debugging is a very important part of programming. In this lesson, students learn how to effectively debug their programs.

Objective

Students will be able to:

  • Use debugging strategies to find and fix errors in their code
  • Explain the difference between syntax, logic and runtime errors
  • Use tools to help debug their code
Description

In this lesson, students will learn about abstraction and APIs. Abstraction is the act of managing complexity by dissociating information and details in order to focus on relevant concepts. An API (application programming interface) is a set of tools for building programs.

Objective

Students will be able to:

  • Understand abstraction as the different levels of detail and complexity
  • Understand the importance of abstracting away complexity to solve problems more efficiently
  • Understand the use and purpose of APIs
Description

In this lesson, students review content with a multiple-choice unit quiz.

Objective

Students will be able to:

  • Prove their knowledge of basic coding concepts through a multiple-choice quiz