Please enable JavaScript to use CodeHS

Georgia Computer Science Principles

Georgia Computer Science Principles introduces students to the foundational concepts of computer science and programming in JavaScript. With a unique focus on creative problem solving and real-world applications, students are challenged to explore how computing and technology can impact the world.

Overview & Highlights

High School
Contact Hours

Course Overview

To view the entire syllabus, click here or click to explore the full course.

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.
Project: Pair-Programming Paint!
In this project, students apply their knowledge of Karel to express their artistic side and create an image using Ultra Karel commands.
Programming with JavaScript
Students learn 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
Students learn how to use booleans and logical operators with control structures to make more advanced programs in JavaScript.
Functions and Parameters
Students learn how to write reusable code with functions and parameters.
Project: Tell a Story
Students apply what they've learned from the previous module to write reusable code with functions and parameters.
Basic Data Structures
Students learn about lists and arrays which are essential basic data structures that any program will use.
Digital Information
Students learn about the various ways to represent information digitally including number systems, encoding data, programmatically creating pixel images, comparing data encodings, compressing and encrypting data.
Project: Steganography
Students apply knowledge about digital representation of data in a real-world application of using steganography to encrypt information.
Project: Create an Image Filter!
Students apply data structure and digital information concepts together to create their own image filters.
The Internet
Students explore 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
Students apply their knowledge of the internet as they look at the impacts that it has on our world.
Students 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
Students apply data concepts into a project where they can explore their own data application.
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.
Creative Development
Students learn 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 exam for the course.
Computer Science Careers
Students take some time to explore and discover different computer science careers. Students will learn more about resumes and develop one of their own. Students will also research about professional student organizations and the benefits they offer to their members.

Offline Handouts

Demo Programs

Explore programs that your students will build throughout this course!


Georgia Computer Science Principles is aligned with the following standards

Standards Framework View Alignment
Georgia Computer Science Principles View (100%)

Customizable Assignments

Create and organize Assignments in any CodeHS course that you're teaching. You can even add custom assignments to pre-existing CodeHS courses.

Learn More

Actions for Teachers

Didn’t find what you were looking for? Here are a few links that might be useful to you.