Please enable JavaScript to use CodeHS

AP Computer Science Principles in Python (Shallow Copy Deep Modules)

Under Construction AP Computer Science Principles introduces students to the foundational concepts of computer science and programming in Python. 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

Level
High School
Contact Hours
125
Timeframe
Year

Course Overview

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

Introduction to Programming (Duplicate Shallow)
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.
Practice PT: Pair-Programming Paint! (Duplicate Shallow)
In this project, students apply their knowledge of Karel to express their artistic side and create an image using Ultra Karel commands.
Programming with Python (Duplicate Shallow)
Students learn the basics of Python, including variables, user input, control structures, functions with parameters and return values, and basic graphics, and how to send messages to objects.
Python Control Structures (Duplicate Shallow)
Students learn how to use booleans and logical operators with control structures to make more advanced programs in Python.
Functions and Parameters (Duplicate Shallow)
Students learn how to write reusable code with functions and parameters.
Practice PT: Tell a Story (Duplicate Shallow)
Students apply what they've learned from the previous module to write reusable code with functions and parameters.
Basic Data Structures (Duplicate Shallow)
Students will learn the basics of lists in Python while exploring tuples and lists. Students will explore how to create each of these and the various methods to access or alter them.
Digital Information (Duplicate Shallow)
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.
Practice PT: Steganography (Duplicate Shallow)
Students apply knowledge about digital representation of data in a real-world application of using steganography to encrypt information.
Practice PT: Create an Image Filter! (Duplicate Shallow)
Students apply data structure and digital information concepts together to create their own image filters.
The Internet (Duplicate Shallow)
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 (Duplicate Shallow)
Students apply their knowledge of the internet as they look at the impacts that it has on our world.
Data (Duplicate Shallow)
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 (Duplicate Shallow)
Students apply data concepts into a project where they can explore their own data application.
Project: The Impact of Computing (Duplicate Shallow)
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.
Create Performance Task (Duplicate Shallow)
AP Exam Review (Duplicate Shallow)
Students review of the topics covered in the course and practice solving AP Exam-style multiple-choice questions.
Creative Development (Duplicate Shallow)
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 programs.
Final (Duplicate Shallow)
Final exam for the course.
Computer Science Principles Pretest (Duplicate Shallow)
Midterm (Duplicate Shallow)
Computer Science Principles Posttest (Duplicate Shallow)
Extra Karel Practice (Duplicate Shallow)
It can take some time to learn all of Karel's tricks. Brush up here with some extra Karel practice problems. These reinforce all of the fundamental concepts introduced in Karel, including commands, functions, loops, conditions control structures, and problem decomposition.
Extra Karel Puzzles (Duplicate Shallow)
A set of all the trickiest Karel puzzles for you to solve
Karel Challenges (Duplicate Shallow)
In this module you'll take all the foundational concepts from Karel to solve some programming challenges.
Web Development (Duplicate Shallow)
In this unit, students will go through a high level introduction to HTML, CSS, and the processes involved in viewing web pages on the internet. Students will create several simple web pages using the CodeHS online editor to gain practice using the various features of HTML and CSS.
Classes and Objects (Duplicate Shallow)
Learn the principles of object-oriented design.
Additional Topics (Duplicate Shallow)
Teach your program to make decisions based on the information it receives. Learn how to decompose your program into smaller pieces that work together to solve a problem!
Project: Who Said It? (Duplicate Shallow)
Use your programming knowledge to build a program that can predict whether a small sample of text was written by Jane Austen or William Shakespeare!
Project: Mastermind (Duplicate Shallow)
Students use their knowledge of lists, functions, variables, and control structures to create a basic Mastermind game where players must guess a generated sequence of numbers.
Practice PT: Testing 1, 2, 3 ... (Duplicate Shallow)
Practice PT: The Shopping List (Duplicate Shallow)
Strings (Duplicate Shallow)
Students use more sophisticated strategies for manipulating text in their programs - slicing, concatenating, and formatting.
Extending Data Structures (Duplicate Shallow)
Students learn to build more complex programs that make use of grids and dictionaries.
Unit Tests (Duplicate Shallow)
Section I: End-of-Course Multiple-Choice Exam Review (Duplicate Shallow)
This unit contains hundreds of AP style exam questions to help students prepare for Section I of the AP Computer Science Principles end-of-course exam.
Section II: Create Performance Task: Written Responses Review (Duplicate Shallow)
This unit contains sample written response quizzes to help students prepare for Section II of the AP Computer Science Principles end-of-course exam.
Reader Question Bank Quizzes (Duplicate Shallow)
This module contains hundreds of AP-style questions created by the Readers Question Bank Group. Readers Question Bank Group is an association of teachers that collectively created a curated set of multiple choice questions designed to help students prepare for the AP Computer Science Principles exam.
Test Items

159
Lessons
124
Videos
274
Exercises
50
Challenges
223
Offline Handouts

Demo Programs

Explore programs that your students will build throughout this course!

Professional Development

Teaching AP CS Principles with Python (2023)

With the CodeHS online AP Computer Science Principles Professional Development course, we'll train teachers at your school to teach an excellent AP Computer Science Principles course. Teachers will gain the skills, pedagogical knowledge, resources, and confidence to teach AP CS Principles. No programming experience is required.

View Units CodeHS PD Options

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.