Please enable JavaScript to use CodeHS

Teaching AP CS Principles with Python

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.

Overview & Highlights

High School
Contact Hours

Course Overview

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

In this first module we give you an overview of the AP CS Principles professional development course. We introduce a few key principles and ideas for teaching the course, discuss access and equity in the field of Computer Science, and give you a chance to set goals and expectations for how to make the most out of this course.
What is AP CS Principles?
Learn about the new AP Computer Science Principles course, how to go through the AP Course Audit, specific details about the new AP examination, and get an overview of the CodeHS AP CSP curriculum.
How CodeHS Works
Tools and Resources for AP CS Principles
AP CS Principles is a brand new course, and we have developed several helpful tools and resources to help you teach this course. In this module, you’ll practice using these new tools and resources.
Programming with Karel Bootcamp
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.
Programming with Python Bootcamp
Introduces you to the basics of Python, including variables, user input, control structures, functions with parameters and return values, and basic graphics, how to send messages to objects.
Data Structures Bootcamp
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.
Debugging Strategies
Teaching Python
In this module we'll go over teaching the basics of programming with Tracy the Turtle. We will cover common misunderstandings, explain ways to teach these concepts in the classroom, and how to grade student programs.
Teaching a Blended Computer Science Class
Learn what leading a blended classroom with both online and offline activities looks like, and learn helpful ideas and best practices for incorporating online learning into a traditional classroom.
Course Wrap-Up

Offline Handouts