AP Computer Science Principles

What is CS Principles?

Computer Science Principles introduces students to the foundational concepts of computer science and challenges them to explore how computing and technology can impact the world. More than a traditional introduction to programming, it is a rigorous, engaging, and approachable course that explores many of the foundational ideas of computing so all students understand how these concepts are transforming the world we live in.



We will be using Code.org curriculum for AP Computer Science Principles. Code.org is recognized by the College Board as an endorsed provider of curriculum for this course.

Class Calendar

Here you can find my calendar of teaching topics, homework assignments, exam dates, lesson videos, review materials and more.

Unit 1
Unit 2
Unit 3
Unit 4
Unit 5
Unit 1

Unit 1: The Internet

Chapter 1: Representing and Transmitting Information

1.1 Personal Innovations

1.2 Sending Binary Messages

1.3 Sending Binary Messages with the Internet Simulator

1.4 Number Systems

1.5 Binary Numbers

1.6 Sending Numbers

1.7 Sending Text


Chapter 2: Inventing the Internet

1.8 The Internet

1.9 The Need for Addressing

1.10 Routers and Redundancy

1.11 Packets and Making a Reliable Internet

1.12 The Need for DNS

1.13 HTTP and Abstraction

1.14 The Internet and Society

Unit 2

Unit 2: Digital Information

2.1 Bytes and File Sizes

2.2 Text Compression

2.3 Encoding B&W Images

2.4 Encoding Color Images

2.5 Lossy vs Lossless Compression

2.6 Format Showdown

Unit 3

Unit 3: Into to Programming

3.1 The Need for Programming Languages

3.2 The Need for Algorithms

3.3 Creativity in Algorithms

3.4 Using Simple Commands

3.5 Creating Functions

3.6 Functions and Top-Down Design

3.7 APIs and Function Parameters

3.8 Creating Functions with Parameters

3.9 Looping and Random Numbers

3.10 Design a Digital Scene


Unit 4

Unit 4: Big Data and Privacy

4.1 What is Big Data?

4.2 Finding Trends with Visualizations

4.3 Check Your Assumptions

4.4 Data Innovations

4.5 Identifying People with Data

4.6 The Cost of Free

4.7 Simple Encryption

4.8 Encryption with Keys and Passwords

4.9 Public Key Crypto

4.10 Cybercrime

Unit 5

Unit 5: Building Apps

Chapter 1: Event-Driven Programming

5.1 Buttons and Events

5.2 Multi-Screen Apps

5.3 Building an App: Multi-Screen App

5.4 Controlling Memory with Variables

5.5 Building and App: Clicker Game

5.6 User Input and Strings

5.7 “if” Statements Unplugged

5.8 Boolean Expressions and “If” Statements

5.9 “if-else-if” and Conditional Logic

5.10 Building and App: Color Sleuth


Chapter 2: Programming with Data Structures

5.11 While Loops

5.12 Loops and Simulations

5.13 Introduction to Arrays

5.14 Building and App: Image Scroller

5.15 Processing Arrays

5.16 Functions with Return Values

5.17 Building and App: Canvas Painter