AP Computer Science Principles is an introductory college-level computing course that introduces students to the breadth of the field of computer science. Students learn to design and evaluate solutions and apply computer science to solve problems through the development of algorithms and programs. They incorporate abstraction into programs and use data to discover new knowledge. Students also explain how computing innovations and computing systems—including the internet—work, explore their potential impacts, and contribute to a computing culture that is collaborative and ethical.

APCSP.1 Binary

Learning Outcomes:

Students learn the basics of computer communication. They explore what the zeroes and ones mean in binary and how they are represented. They begin to understand how a base two number system works.

Topics covered:

Binary

Base Ten Number System

Base Two Number System

Standard alignment:

3A-DA-09, DAT-1.A.2, DAT-1.C.1, DAT-1.C.2, DAT-1.C.3, DAT-1.C.4, DAT-1.C.5

APCSP.2 Representing Numbers with Binary

Learning Outcomes:

Students practice representing decimal numbers using the binary system. They convert back and forth between binary and decimal.

Topics covered:

Binary Conversion

Converting from Decimal to BInary

Converting from binary to Decimal

Standard alignment:

3A-DA-09, DAT-1.A.2, DAT-1.C.4, DAT-1.C.5

APCSP.3 Bits and Bytes

Learning Outcomes:

Students learn what a bit is and what it represents. They learn about larger groupings of bits and bytes and how that relates to binary. They explore patterns that start to emerge in binary counting.

Topics covered:

Bits and Bytes

Binary Patterns

Standard alignment:

3A-DA-09, DAT-1.A.2, DAT-1.A.3, DAT-1.A.4, DAT-1.C.4, DAT-1.C.5

APCSP.4 Bigger Bytes

Learning Outcomes:

Students learn how bytes are grouped as the numbers increase. They explore the different byte requirements for different file types and sizes.

Topics covered:

Naming Conventions for Large Bytes

Storage Requirements

Standard alignment:

3A-DA-09, DAT-1.A.4, DAT-1.C.4, DAT-1.C.5

APCSP.5 Number Limitations, Overflow, Roundoff

Learning Outcomes:

Students explore different limitations of computers and what happens if a computer encounters information it cannot calculate. They learn to recognize errors that come up when a computer reaches its limitations.

Topics covered:

Overflow

Roundoff

Standard alignment:

DAT-1.A.2, DAT-1.B.1, DAT-1.B.2, DAT-1.B.3

APCSP.6 Representing Text with Binary

Learning Outcomes:

Students learn how binary notation is converted into letters and text as they explore how anything can be represented as long as they have a key. Students examine the need for Unicode to replace the ASCII table in order to include people from all backgrounds.

Topics covered:

Using a Key to Represent Anything with Binary

ASCII Table

Unicode

Standard alignment:

3A-CS-01, 3A-DA-09, DAT-1.A.2, DAT-1.A.6, DAT-1.A.7

APCSP.7 Representing Images with Binary

Learning Outcomes:

Students discover how images are represented with binary. They review how any color can be represented as long as they include a key. They learn about hexadecimal values and how they can be combined into images.

Topics covered:

Bitmaps

Simple Pixel Images

Hexadecimal Values

Standard alignment:

3A-DA-09, DAT-1.A.2

APCSP.8 Representing Video with Binary

Learning Outcomes:

Students transfer what they know about representing images with binary to representing videos with binary.

Topics covered:

Representing Video with Binary

Standard alignment:

3A-DA-09

APCSP.9 Representing Sound with Binary

Learning Outcomes:

Students learn about analog data and explore options for representing complex information with binary. They learn ways to more accurately represent analog data.

Topics covered:

Analog Data

Sound Wave Representation

Standard alignment:

3A-DA-09, DAT-1.A.2, DAT-1.A.8, DAT-1.A.9, DAT-1.A.10

APCSP.10 Data Compression Overview

Learning Outcomes:

Students are exposed to lossy vs lossless data compression techiques. They examine why data compression is important and where it's used.

Topics covered:

Data Compression

Lossy Compression

Lossless Compression

Standard alignment:

3A-DA-10, DAT-1.D.1, DAT-1.D.2, DAT-1.D.3, DAT-1.D.4, DAT-1.D.5, DAT-1.D.6, DAT-1.D.7, DAT-1.D.8

APCSP.11 Lossless Data Compression

Learning Outcomes:

Students practice different techniques used to compress data without losing any information. They participate in exercises to compress different data samples. They explore what makes something easy or hard to compress.

Topics covered:

Lossless Text Compression

Compression Ability of Text

Standard alignment:

3A-DA-10, DAT-1.D.1, DAT-1.D.2, DAT-1.D.3, DAT-1.D.4, DAT-1.D.5, DAT-1.D.6, DAT-1.D.7, DAT-1.D.8

APCSP.12 Lossless Image Compression

Learning Outcomes:

Students extend what they know abgout lossless data compression to images. They practice compressing simple pixel representations and discover what makes an image easy or hard to compress.

Topics covered:

Lossless Image Compression

Compression Ability of Images

Standard alignment:

3A-DA-10, DAT-1.D.1, DAT-1.D.2, DAT-1.D.3, DAT-1.D.4, DAT-1.D.5, DAT-1.D.6, DAT-1.D.7, DAT-1.D.8

APCSP.13 Lossy Compression

Learning Outcomes:

Students explore how lossy data compression works and examine what files look like that have been compressed with lossy techniques. Students explore parts of data that can be taken out that won't be noticed.

Topics covered:

Lossy Image Compression

Absolute Threshold of Human Perception

Shade vs Color

Lossy Audio File Compression

Standard alignment:

3A-DA-10, DAT-1.D.1, DAT-1.D.2, DAT-1.D.3, DAT-1.D.4, DAT-1.D.5, DAT-1.D.6, DAT-1.D.7, DAT-1.D.8

APCSP.14 Computer Parts and Pieces

Learning Outcomes:

Students learn about the basic components that make up a computer and the role each component plays to contribute. Students explore the difference between inputs and outputs and learn to recognize each in their places.

Topics covered:

Computer Anatomy

Abstraction

Standard alignment:

3A-CS-01, 3A-CS-02, CRD-2.D.1, DAT-1.A.5

APCSP.15 From Electricity to a Bit

Learning Outcomes:

Students follow the journey of a piece of electricity as it moves between computers and is tranformed into a bit and used as information. They examine the difference between hardware and software and to recognize each in their capacities.

Topics covered:

Transistors

Inputs vs Outputs

Hardware vs Software

Abstraction

Standard alignment:

3A-CS-01, 3A-CS-02

APCSP.16 Troubleshooting

Learning Outcomes:

Students will learn some basic troubleshooting techniques and apply them to various examples of common issues with computers. They will practice distinguishing hardware and software problems and what first steps to take towards teasing out a solution.

Topics covered:

Troubleshooting Techniques

Hardware Problems vs Software Problems

Standard alignment:

3A-CS-03, 3B-CS-01, 3B-CS-02

APCSP.17 Programming Languages

Learning Outcomes:

Students explore different programming languages, where they are used, and what each language is best at. They will examine Python, JavaScript, HTML, and CSS and identify where each is most commonly used.

Topics covered:

HTML

CSS

JavaScript

Python

Which Language Should I Learn?

Standard alignment:

3B-AP-24, CRD-2.A.1, CRD-2.A.2

APCSP.18 Debugging

Learning Outcomes:

Students learn about the different kinds of bugs that appear and how to categorize them into different error types. They learn to recognize the color scheme in the code editor and practice different debugging strategies.

Topics covered:

Error Types

Color Scheme

Debugging Strategies

Standard alignment:

CRD-2.I.1, CRD-2.I.2, CRD-2.I.3, CRD-2.I.4, CRD-2.I.5

APCSP.19 Introduction to Algorithms

Learning Outcomes:

Students are introduced to the concept of an algorithm and examine the different components that make up an algorithm. They will explore iteration, sequencing, and selection as they work to create their own algorithms.

Topics covered:

Algorithms

Sequencing

Selection

Iteration

Standard alignment:

AAP-2.A.1, AAP-2.A.3, AAP-2.A.4, AAP-2.B.1, AAP-2.B.2, AAP-2.B.6, AAP-2.G.1, AAP-2.L.1, AAP-2.L.2, AAP-2.L.5, AAP-2.M.1

APCSP.20 Visualizing Algorithms

Learning Outcomes:

Students will learn how to represent algorithms visually using a flowchart. They will learn the different parts of the flowchart and what they represent. They will practice building flowcharts for different algorithms.

Topics covered:

Flowcharts

Standard alignment:

AAP-2.A.2, 3B-AP-13

APCSP.21 Algorithms and Computer Programming

Learning Outcomes:

Students will practice building algorithms to navigate through a series of puzzles. They will practice applying correct sequencing to the puzzle to see its effect on the algorithm.

Topics covered:

Algorithm Puzzle

Sequencing

Standard alignment:

APCSP.22 Events in Programming

Learning Outcomes:

Students practice adding events to their algorithms as they navigate through the puzzle. These events manipulate the environment of the puzzle.

Topics covered:

Algorithm Puzzle

Sequencing

Events

Standard alignment:

APCSP.23 Variables in Programming

Learning Outcomes:

Students are introduced to variables and how they can be used in their algorithms. They practice using variables in different places of their algorithms.

Topics covered:

Algorithm Puzzle

Sequencing

Selection

Standard alignment:

APCSP.24 Conditionals

Learning Outcomes:

Students will learn how to add conditional statements to their puzzles in order to further customize their algorithms. They will explore how conditionals can be useful to simplify code.

Topics covered:

Algorithm Puzzle

Sequencing

Selection

Standard alignment:

3A-AP-15, 3B-AP-13

APCSP.25 Loops in Programming

Learning Outcomes:

Students will learn how to use loops in their puzzle algorithms. They will explore where loops are useful and where they are not.

Topics covered:

Algorithm Puzzle

Sequencing

Iteration

Standard alignment:

3B-AP-13, 3A-AP-15

APCSP.26 Logical Thinking

Learning Outcomes:

Students will examine the fundamentals of logical thinking. They will explore what happens when multiple NOTs appear in the same statement and how the interact with AND and OR.

Topics covered:

Multiple Conditions in Logic

AND

OR

NOT

Standard alignment:

AAP-2.F.1, AAP-2.F.2, AAP-2.F.3, AAP-2.F.4, AAP-2.F.5, AAP-2.L.3, AAP-2.L.4

APCSP.27 Introduction to Python

Learning Outcomes:

Students are introduced to the foundations of Python. They will create a python file and create a print statement. They will learn about pseudocode and how it works on the AP test.

Topics covered:

Python Basics

Print Statement

Pseudocode

Standard alignment:

3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.B.1, CRD-2.B.2, CRD-2.B.4, CRD-2.B.5, CRD-2.E.1, CRD-2.F.4, CRD-2.F.5, CRD-2.J.1, CRD-2.J.3, DAT-1.A.1, AAP-2.A.2, AAP-2.L.1, AAP-2.L.2, AAP-2.L.5, AAP-2.M.1, AAP-3.A.9

APCSP.28 Variables

Learning Outcomes:

Students learn how to create and use variables in the Python language. They learn proper naming conventions for variables and how to print them.

Topics covered:

Variables

Standard alignment:

3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.E.1, DAT-1.A.5, AAP-1.A.1, AAP-1.A.2, AAP-1.B.1, AAP-1.B.2, AAP-1.B.3, AAP-1.D.1, AAP-1.D.2, CRD-2.F.4, CRD-2.F.5, CRD-2.J.1, CRD-2.J.3, DAT-1.A.1, AAP-2.A.2, AAP-2.L.1

APCSP.29 Input/Output

Learning Outcomes:

Students explore what an input is in the Python programming language and how it compares to an output. They practice creating inputs and outputs.

Topics covered:

Inputs

Outputs

Standard alignment:

3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.B.3, CRD-2.C.1, CRD-2.C.2, CRD-2.C.3, CRD-2.C.4, CRD-2.C.5, CRD-2.C.6, CRD-2.D.1, CRD-2.D.2, CRD-2.E.1, CRD-2.J.2, AAP-2.B.3, AAP-2.B.4

APCSP.30 Syntax & Comments

Learning Outcomes:

Students learn what a comment is and how to add them into their code for documentation.

Topics covered:

Syntax

Comments

Documentation

Standard alignment:

3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.E.1, CRD-2.G.1, CRD-2.G.2, CRD-2.G.3, CRD-2.G.4, CRD-2.G.5

APCSP.31 Variable Types

Learning Outcomes:

Students learn the different variable types and how to create them. They explore strings, integers and booleans.

Topics covered:

Strings

Integers

Booleans

Standard alignment:

3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.E.1, AAP-1.A.3, AAP-1.A.4, AAP-2.E.1

APCSP.32 Numbers

Learning Outcomes:

Students learn how numbers work in the Python language. They explore the difference between an integer and a float. They practice using numbers in their programs.

Topics covered:

Integers

Floats

Standard alignment:

3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1

APCSP.33 Converting

Learning Outcomes:

Students learn how to convert between data types in Python and why this is important. They practice all kinds of conversions between data thpes.

Topics covered:

Data Type Conversion

Standard alignment:

3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1

APCSP.34 Concatenation

Learning Outcomes:

Students learn what concatenation is and how to use it in the Python language. They practice different examples of concatenation in their programs.

Topics covered:

Concatenation

Concatenating an Integer

Standard alignment:

3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1, AAP-2.D.1, AAP-2.D.2

APCSP.35 Python Math

Learning Outcomes:

Students learn how to do different math calculations in the Python language. Student practice executing different math problems using the Python terminal.

Topics covered:

Python Math

Order of Operations

Standard alignment:

3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1, AAP-2.B.5, AAP-2.C.1, AAP-2.C.3

APCSP.36 Modulus

Learning Outcomes:

Students learn what the modulus is and how it's useful in the Python language. Studens practice recognizing what the modulus number means and how to use it in their programs.

Topics covered:

Modulus

Order of Operations

Standard alignment:

3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1, AAP-2.C.2

APCSP.37 Strings

Learning Outcomes:

Students dive deeper into the string data types as they explore different ways to create and analyze strings. Students practice creating all kinds of strings in their programs.

Topics covered:

Strings

Multiline Strings

Standard alignment:

3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.E.1, AAP-1.C.4

APCSP.38 String Methods

Learning Outcomes:

Students discover some of the ways to manipulate strings in their programs. They practice using string methods to change the strings in their programs.

Topics covered:

Lower and Upper Methods

Replace Method

Standard alignment:

3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21

APCSP.39 String Methods Continued

Learning Outcomes:

Students dive deeper into string methods as they learn more ways to manipulate strings. They practice all kinds of string methods in their programs to update, change, and review strings.

Topics covered:

Indexing

Slicing

Reverse

Split

Length

Standard alignment:

3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1, AAP-1.C.3

APCSP.40 Checking Strings

Learning Outcomes:

Students learn ways to analyze strings in their programs. They practice executing different string analysis techniques.

Topics covered:

Checking Strings

Standard alignment:

3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1

APCSP.41 If Statements

Learning Outcomes:

Students learn how to customize their code by adding if statements. They practice creating if statements in their programs.

Topics covered:

If Statements

Standard alignment:

3A-AP-15, 3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1, AAP-2.H.1, AAP-2.H.2

APCSP.42 Conditionals

Learning Outcomes:

Students learn how to add different kinds of conditionals to their programs and how they are useful. They practice adding a variety of conditionals to their if statements.

Topics covered:

If Statements

Conditionals

AND

OR

NOT

Standard alignment:

3A-AP-15, 3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1, AAP-2.E.2, AAP-2.F.1, AAP-2.H.1, AAP-2.H.2

APCSP.43 Else If Statements

Learning Outcomes:

Students learn how to further compartmentalize their code by adding else if statements to their programs. They practice building if statements that include several else if statements.

Topics covered:

If Statements

Else If Statements

Conditionals

Standard alignment:

3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1, AAP-2.H.1, AAP-2.H.2 , AAP-2.H.3, AAP-2.I.1

APCSP.44 Lists

Learning Outcomes:

Students learn what a list is in Python and how they are useful. They practice creating lists in their programs.

Topics covered:

Lists

Standard alignment:

3A-AP-14, 3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.E.1, DAT-2.D.6, AAP-1.C.1, AAP-1.C.2, AAP-1.D.2, AAP-1.D.3, AAP-1.D.5, AAP-1.D.6, AAP-1.D.7, AAP-2.N.1, AAP-2.N.2

APCSP.45 Accessing Items in a List

Learning Outcomes:

Students learn how to access different items wherever they appear in their Python lists. They practice accessing specific items in lists.

Topics covered:

Lists

Accessing Items in Lists

Indexing

Check if an Item Appears in a List

The Split Method

Standard alignment:

3A-AP-14, 3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1, DAT-2.D.6, AAP-1.C.3, AAP-1.D.8, AAP-2.N.1, AAP-2.N.2

APCSP.46 Using Integers from a List

Learning Outcomes:

Students learn how to leverage integers that appear in a list in the Python language. They learn what the step is and how to use it while accessing list items.

Topics covered:

Rounding

Range

Step

Standard alignment:

3A-AP-14, 3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1, DAT-2.D.6, AAP-2.N.1, AAP-2.N.2

APCSP.47 Adding to Lists in Python

Learning Outcomes:

Students learn how to add items into specific places in Python lists. They practice adding different data types into their lists.

Topics covered:

Adding to Lists

Combining Lists

Standard alignment:

3A-AP-14, 3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1, DAT-2.D.6, AAP-2.N.1, AAP-2.N.2

APCSP.49 Removing from Lists in Python

Learning Outcomes:

Students learn how to take items out of lists in specific places in Python. Students move through exercises to practice removing items from lists.

Topics covered:

Removing from Lists

Returning an Item from a List

Standard alignment:

3A-AP-14, 3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1, DAT-2.D.6, AAP-2.N.1, AAP-2.N.2

APCSP.50 Lists Continued

Learning Outcomes:

Students dive deeper into specifics of what Python lists are capable of. Students practice manipulating lists in more particular ways as they implement length, step, and sort.

Topics covered:

Range

Step

Sort

Length

Replacement

Standard alignment:

APCSP.51 For Loops

Learning Outcomes:

Students learn about recursion as they practice building for loops into their programs. They practice putting code inside the for loop and leveraging range.

Topics covered:

Range

For Loop

Standard alignment:

3A-AP-15, 3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21

APCSP.52 While Loops

Learning Outcomes:

Students learn how a while loop is different from a for loop and where they are useful in programs. They practice building while loops and learn how to avoid infinite loops in their code.

Topics covered:

While Loop

Infinite Loop

Increment

Decrement

Standard alignment:

3A-AP-15, 3B-AP-13, 3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1, DAT-2.D.6, AAP-2.J.1, AAP-2.K.1, AAP-2.K.2, AAP-2.K.3, AAP-2.K.4, AAP-2.K.5

APCSP.53 Functions

Learning Outcomes:

Students learn what a function is and how it is useful in Python code. They practice building functions and choosing where to call them.

Topics covered:

Functions

Standard alignment:

3A-AP-15, 3A-AP-17, 3A-AP-18, 3B-AP-14, 3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1, AAP-3.A.1, AAP-3.A.2, AAP-3.A.4, AAP-3.A.5, AAP-3.A.6, AAP-3.A.7, AAP-3.A.8, , ,

APCSP.54 Function Parameters

Learning Outcomes:

Students learn how to further leverage functions in their programs by adding parameters. They practice calling their functions with parameters included and will come to recognize where the parameters appear in the function. They use this approach to break down big problems into smaller parts. They will also learn about procedural abstraction and how it appears in programs.

Topics covered:

Functions

Parameters

Procedural Abstraction

Break Down Big Problems

Standard alignment:

3A-AP-15, 3A-AP-17, 3A-AP-18, 3B-AP-14, 3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1, AAP-3.A.1, AAP-3.A.2, AAP-3.A.3, AAP-3.A.4, AAP-3.A.5, AAP-3.A.6, AAP-3.A.7, AAP-3.A.8, AAP-3.B.1, AAP-3.B.2

APCSP.55 Multiple Parameters

Learning Outcomes:

Students will further their understanding of parameters in Python functions as they learn how to add multiple parameters. They will practice using several parameters in different functions.

Topics covered:

Functions

Multiple Parameters

Standard alignment:

3A-AP-15, 3A-AP-17, 3A-AP-18, 3B-AP-14, 3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1, AAP-3.A.1, AAP-3.A.2, AAP-3.A.3, AAP-3.A.4, AAP-3.A.5, AAP-3.A.6, AAP-3.A.7, AAP-3.A.8, AAP-3.C.1, AAP-3.C.2

APCSP.56 Random

Learning Outcomes:

Students will learn how to bring random numbers into their programs and how that can be useful. They will practice adding random elements totheir programs.

Topics covered:

Random

Standard alignment:

3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, 3A-AP-17, 3B-AP-09, CRD-2.E.1, AAP-3.E.1, AAP-3.E.2

APCSP.57 Building on Existing Algorithms

Learning Outcomes:

Students will discover how to leverage existing algorithms to streamline their own projects. They will analyze the ethics involved in using previously written code for their own purposes.

Topics covered:

Existing Algorithms

Ethics of Using Algorithms

Standard alignment:

CRD-2.E.1

APCSP.58 Group Project

Learning Outcomes:

Students will bring everything they've learned from the Python language into a group project. Collaborating with classmates, they will assure their code is compatable with the group. They will practice communicating in a team environment and managing a project with the software development life cycle. They will practice giving and recieving feedback, documenting their code, and presenting their project at the end.

Topics covered:

Python

Collaboration

Software Development Life Cycle

Feedback

Code Review

Standard alignment:

3A-AP-19, 3A-AP-22, 3A-AP-23, 3A-IC-27, 3B-AP-17, 3B-AP-20, 3B-AP-23, CRD-2.D.2, CRD-2.E.1, CRD-2.E.2, CRD-2.E.3, CRD-2.E.4, CRD-2.F.1, CRD-2.F.2, CRD-2.F.3, CRD-2.F.6, CRD-2.F.7

APCSP.59 Intro to the Internet

Learning Outcomes:

Students learn what a network is and different ways computers are connected. They explore copper vs optic cables and the advantages of each.

Topics covered:

Networks

Copper Wire

Optic Cables

Underwater Cables

Standard alignment:

3A-NI-04, 3B-NI-03, CSN-1.A.1, CSN-1.A.2, CSN-1.A.3, CSN-1.A.4, CSN-1.B.1, CSN-1.B.2

APCSP.60 Network Topologies

Learning Outcomes:

Students explore different network topologies and analyze how each might be have pros and cons. They examine the security of different topologies and what might make a network insecure.

Topics covered:

Topologies

Standard alignment:

3A-NI-04, 3B-NI-03

APCSP.61 Addressing

Learning Outcomes:

Students learn about IP addresses and how they work within the Domain Name System. Students learn the relationship between IP addresses, domain names, and URLs.

Topics covered:

IP Addresses

Domain Names

URL

Standard alignment:

3B-NI-03

APCSP.62 Network Routes

Learning Outcomes:

Students learn about the behavior of information as it is routed through the internet. They explore different routing options and discuss how it affects the information. They learn about redundancy and what makes something redundant.

Topics covered:

Data Routes

Redundancy

Standard alignment:

3B-NI-03, CSN-1.A.5, CSN-1.A.6, CSN-1.B.5

APCSP.63 Packets and Protocols

Learning Outcomes:

Students learn how information is grouped into packets and then transported through the internet. They discuss different protocols that make internet communication possible.

Topics covered:

Packets

Protocols

Standard alignment:

3B-NI-03, CSN-1.B.1, CSN-1.B.3, CSN-1.B.4, CSN-1.C.1, CSN-1.C.2, CSN-1.C.3, CSN-1.C.4, CSN-1.D.1, CSN-1.D.2, CSN-1.D.3

APCSP.64 Network Parts and Pieces

Learning Outcomes:

Students learn the different hardware components that are needed for the internet to work. Students learn to identify each component and what role it plays in the internet as a whole.

Topics covered:

Internet Hardware

Standard alignment:

3A-NI-04, 3B-NI-03

APCSP.65 Bandwidth and Scalability

Learning Outcomes:

Students will learn about bandwidth and explore what activities require larger amounts of bandwidth to run. They will discuss scalability and identify what makes the internet scalable.

Topics covered:

Bandwidth

Scalability

Standard alignment:

3A-NI-04, 3B-NI-03, CSN-1.A.7, CSN-1.A.8, CSN-1.B.6, CSN-1.B.7

APCSP.66 WIFI

Learning Outcomes:

Students learn more specifics behind what wifi is and what makes it work. They will explore challenges with wifi and how information might be disrupted. They will discuss the Cloud and what is is vs what it isn't.

Topics covered:

WIFI

Radio Waves

Data for Phones

The Cloud

World Wide Web vs The Internet

Standard alignment:

3B-NI-03

APCSP.67 Redundancy and Internet Stability

Learning Outcomes:

Students learn what it means for technology to be redundant and will discover why the internet is so stable. They'll explore the ways that the internet is resilient to problems.

Topics covered:

Internet Redundancy

Undersea Cables

Internet Vulnerabilities

Standard alignment:

3B-NI-03, CSN-1.E.1, CSN-1.E.2, CSN-1.E.3, CSN-1.E.4, CSN-1.E.5, CSN-1.E.6, CSN-1.E.7

APCSP.68 Impacts of the Internet

Learning Outcomes:

Students will explore the different ways the internet has impacted society. They will discuss what advantages and disadvantages are in society because of the internet. They will examine impacts on topics such as psychology, economy, social, and work culture.

Topics covered:

Social Impacts

Psychological Impacts

"Going Viral"

Influence and Information Access

Attention Economy

Standard alignment:

3A-IC-29, 3A-IC-30, 3B-IC-26, 3B-IC-27, 3B-IC-28, IOC-2.A.6, IOC-1.A.4, IOC-1.A.5, IOC-1.B.2, IOC-1.B.5, IOC-2.A.11, IOC-2.A.13

APCSP.69 Search Engines

Learning Outcomes:

Students will analyze the benefits and drawbacks from using different kinds of search engines. They will practice identifying webpages that are reliable and will practice narrowing their searches to find specific information. They will learn what cookies are and how they can be good and bad.

Topics covered:

Search Engines Benefits and Drawbacks

Examples of Search Engines

Narrowing Your Search

Finding Reliable Websites

Cookies

Standard alignment:

APCSP.70 Linear Search vs Binary Search

Learning Outcomes:

Students will learn how to conduct a search using linear and binary search techniques. They will analyze which technique will be more efficient for given situations.

Topics covered:

Linear Search

Binary Search

Standard alignment:

AAP-2.O.5, AAP-2.P.1, AAP-2.P.2, AAP-2.P.3

APCSP.71 Testing an Algorithm

Learning Outcomes:

Students will learn about empirical analysis techniques to test their algorithms. They will algorithmic efficiency and practice categorizing run times.They will analyze the run times for constant, linear, logarithmic, and exponential efficiencies. They will practice identifying which efficiencies run in an acceptable amount of time and which do not.

Topics covered:

No items found.

Standard alignment:

3B-AP-11, 3B-AP-21, AAP-4.A.1, AAP-4.A.3, AAP-4.A.4, AAP-4.A.5, AAP-4.A.6, AAP-4.A.7

APCSP.72 Highly Complex or Difficult Problems

Learning Outcomes:

Students explore different problems that computer programs have a difficult time analyzing. They will discover different heuristics for narrowing down acceptable answers. They will discuss difficult problems such as the halting problem and traveling salesman challenges.

Topics covered:

The Traveling Salesman

Undecidable Problems

Standard alignment:

AAP-4.A.2, AAP-4.A.8, AAP-4.A.9, AAP-4.B.1, AAP-4.B.2, AAP-4.B.3

APCSP.73 Sequential and Parallel Computing

Learning Outcomes:

Students learn the difference between sequential and parallel computing. They identify areas that they cross over and distinguish which would be faster in given situations. They analyze how the computing style affects speed. They also discuss distributied computing.

Topics covered:

Sequential Computing

Parallel Computing

Speed Up

Distributed Computing

Standard alignment:

CSN-2.A.1, CSN-2.A.2, CSN-2.A.3, CSN-2.A.4, CSN-2.A.5, CSN-2.A.6, CSN-2.A.7, CSN-2.B.1, CSN-2.B.2, CSN-2.B.3, CSN-2.B.4, CSN-2.B.5

APCSP.74 Data Structures

Learning Outcomes:

Students discuss the different challenges facing data processing and explore different data structures that may help. They learn about what it takes to assess large data sets and how that affects scalability of programs.

Topics covered:

Data

Challenges for Data Processing

Data Structures

Large Data Sets

Standard alignment:

3A-DA-10, 3B-AP-12, DAT-2.C.1, DAT-2.C.2, DAT-2.C.3, DAT-2.C.4, DAT-2.C.5, DAT-2.C.6, DAT-2.C.7, DAT-2.C.8, DAT-2.E.2, DAT-2.E.3

APCSP.75 MetaData

Learning Outcomes:

Students explore the different kinds of metadata and discover what each is commonly used for. They identify the different between data and metadata.

Topics covered:

Structural Metadata

Administrative Metadata

Descriptive Metadata

Standard alignment:

3A-DA-10, DAT-2.B.1, DAT-2.B.2, DAT-2.B.3, DAT-2.B.4, DAT-2.B.5

APCSP.76 Simulations

Learning Outcomes:

Students play around with random and how it can help generate simulations. They discuss when a simulation might help save resources. They will analyze the pros and cons of a simulated environment.

Topics covered:

Simulation

Build a Simulation

Bias in Simulations

Standard alignment:

3A-AP-17, 3B-DA-07, AAP-3.F.1, AAP-3.F.2, AAP-3.F.3, AAP-3.F.4, AAP-3.F.5, AAP-3.F.6, AAP-3.F.7, AAP-3.F.8

APCSP.77 AI, Machine Learning, & Automation

Learning Outcomes:

Students will explore the world of artificial intelligence and how it relates to machine learning. They will discuss the ethics and concerns behind pursing further AI and will identify potential dangers. They will analyze the presence of automation in the world around them and how it could affect the job market.

Topics covered:

No items found.

Standard alignment:

3B-AP-08

APCSP.78 Outside Libraries

Learning Outcomes:

Students will discover outside libraries that they could bring into their programs. They will practice importing aspects of libraries to help their programs. They will discuss what an API is and how it is helpful.

Topics covered:

Outside Libraries

API

Standard alignment:

3A-AP-20, 3B-AP-16, CRD-2.H.1, CRD-2.H.2, AAP-3.D.1, AAP-3.D.2, AAP-3.D.3, AAP-3.D.4, AAP-3.D.5

APCSP.79 Passwords

Learning Outcomes:

Students will analyze what makes a strong and a weak password and will practice creating strong passwords. They will discuss a variety of password techniques to address geometric and biometric passwords. They will review ways to organize and protect their passwords.

Topics covered:

Passwords

Password Strategies

Geometric & Biometric Passwords

Password Organization

Standard alignment:

3A-NI-05, 3A-NI-06, 3A-NI-07, 3A-NI-08, 3B-NI-04, 3B-AP-18, IOC-2.B.1, IOC-2.B.2, IOC-2.B.3, IOC-2.B.4

APCSP.80 Types of Threat

Learning Outcomes:

Students will learn the different kinds of threat that are becoming more and more common. They will learn how to recognize threats and possible actions to take to protect and prevent future threats.

Topics covered:

Brute Force

Malware

Standard alignment:

3A-NI-05, 3A-NI-06, 3A-NI-07, 3A-NI-08, 3B-NI-04, 3B-AP-18, IOC-2.A.12, IOC-2.B.7, IOC-2.B.8, IOC-2.B.9, IOC-2.B.10, IOC-2.C.1, IOC-2.C.2, IOC-2.C.5, IOC-2.C.6, IOC-2.C.7

APCSP.81 Posture

Learning Outcomes:

Students will learn what it means to have a strong security posture. They will reflect on how their current posture is and strategies to strengthen their own sense of security.

Topics covered:

Cyber Awareness

Security Measures

Standard alignment:

IOC-2.B.11, 3A-NI-06, 3A-NI-07, 3A-NI-08, 3B-NI-04, 3B-AP-18

APCSP.82 Personal Data

Learning Outcomes:

Students will discover the amount of personal data that they make available online with even simple actions. They will explore their personal feelings around their personal data and discuss possible regulations that could help control access to personal data.

Topics covered:

Personally Identifiable Information

Cookies

Regulations

Standard alignment:

3A-NI-06, 3A-NI-07, 3A-NI-08, 3A-IC-29, 3A-IC-30, 3B-NI-04, 3B-AP-18, 3B-IC-26, 3B-IC-27, 3B-IC-28, IOC-2.A.1, IOC-2.A.2, IOC-2.A.3, IOC-2.A.4, IOC-2.A.5, IOC-2.A.6, IOC-2.A.7, IOC-2.A.8, IOC-2.A.9, IOC-2.A.10, IOC-2.A.14

APCSP.83 Copyright

Learning Outcomes:

Students analyze the copyright system and how it differs from open access, open source, and the creative commons. Students discover ways they could use various resources online.

Topics covered:

Copyright

Public Domain

Creative Commons

Open Source

Open Access

Standard alignment:

3A-AP-20, 3A-IC-28, 3B-NI-04, 3B-AP-18, CRD-2.H.1, CRD-2.H.2, IOC-1.F.1, IOC-1.F.2, IOC-1.F.4, IOC-1.F.5, IOC-1.F.6, IOC-1.F.7, IOC-1.F.11

APCSP.84 Computer Viruses

Learning Outcomes:

Students will explore different kinds of viruses and how they affect their computers. They discuss different ways to protect against viruses and practice strategies to safeguard themselves.

Topics covered:

Biological vs Computer Viruses

Types of Viruses

How to Avoid Viruses

Standard alignment:

3A-NI-05, 3A-NI-06, 3A-NI-07, 3A-NI-08, 3B-NI-04, 3B-AP-18, IOC-2.B.8

APCSP.85 Rogue Access Points

Learning Outcomes:

Students will learn what a rogue access point is and how to protect themselves against rogue access point attacks. They will distinguish between active and passive access.

Topics covered:

Rogue Access Points

Active vs Passive Access

VPN

Standard alignment:

3A-NI-05, 3A-NI-06, 3A-NI-07, 3A-NI-08, 3B-NI-04, 3B-AP-18, IOC-2.A.5, IOC-2.C.3, IOC-2.C.4

APCSP.86 Encryption

Learning Outcomes:

Students will learn different encryption techniques and the advantages of each. They will learn about Symmetric and Assymetric Key Encryption.

Topics covered:

Symmetric Key Encryption

Asymmetric Key Encryption

Standard alignment:

3A-NI-06, 3A-NI-07, 3A-NI-08, 3B-NI-04, 3B-AP-18, IOC-2.B.5, IOC-2.B.6

APCSP.87 Computer Innovations

Learning Outcomes:

Students will discuss how computer innovations have affected the world as we know it. They will analyze how computer advances help different career fields. They will discuss how innovations can often have unintended effects. They will learn how it's the responsibility of the programmer to try and anticipate and mitigat possible other uses.

Topics covered:

Unintended Effects of Innovations

Advances in Other Fields

Standard alignment:

3A-IC-24, 3A-IC-26, 3A-IC-27, 3B-IC-25, 3B-IC-26, 3B-IC-27, 3B-IC-28, CRD-2.F.2, CRD-2.F.6, IOC-1.A.1, IOC-1.A.2, IOC-1.A.3, IOC-1.A.4, IOC-1.A.5, IOC-1.B.1, IOC-1.B.2, IOC-1.B.3, IOC-1.B.4, IOC-1.B.5, IOC-1.B.6, IOC-1.D.1

APCSP.88 Legal and Ethical Concerns in Innovations

Learning Outcomes:

Students will explore different political and ethical issues that come up alongside different computer innovations. They will discuss the presence of bias in innovations.

Topics covered:

Social and Political Impacts of Innovations

Bias

Standard alignment:

3A-IC-24, 3A-IC-25, 3A-IC-30, 3B-IC-25, 3B-IC-26, 3B-IC-27, 3B-IC-28, IOC-1.D.1, IOC-1.D.2, IOC-1.D.3, IOC-1.F.9, IOC-1.F.8, IOC-1.F.11

APCSP.89 Crowdsourcing

Learning Outcomes:

Students will explore different methods of leveraging community by crowdsourcing. They will discuss ways to further science, fund projects, get travel advice, and research information from crowdsourcing.

Topics covered:

Collaboration

Crowdfunding

Standard alignment:

3A-IC-24, IOC-2.A.2, IOC-2.A.3

APCSP.90 The Digital Divide

Learning Outcomes:

Students will explore different factors contributing to the Digital Divide. They will discuss ways that we can possible narrow this divide and allow more people from more circumstances to get access to technology.

Topics covered:

Global Digital Divide

Geographic Digital Divide

Socioeconomic Digital Divide

Digital Literacy Divide

Standard alignment:

3A-IC-24, IOC-1.C.1, IOC-1.C.2, IOC-1.C.3, IOC-1.C.4, IOC-1.C.5, IOC-1.F.10

APCSP.91 Accessibility

Learning Outcomes:

Students will discuss the importance of accessibility in generating computing innovations. Students analyze the presence of bias and how that might inadvertently affect accessibility.

Topics covered:

Different Populations

Bias

Making Programs Accessible

Standard alignment:

3A-AP-21, 3A-IC-25, CRD-2.F.2, 3A-AP-21

APCSP.92 Data

Learning Outcomes:

Students will practice identifying patterns in different data sets. They will review that correlation is not necessarily causation. They will discuss different challenges that surround data collection.

Topics covered:

Identifying Patterns in Data

Visualizing Data

Correlations

Data Collection

Standard alignment:

3A-DA-10, 3A-DA-11, 3A-DA-12, 3B-DA-05, 3B-DA-06, 3B-AP-15, DAT-2.A.1, DAT-2.A.2, DAT-2.A.3, DAT-2.A.4, DAT-2.D.1, DAT-2.D.2, DAT-2.D.3, DAT-2.D.4, DAT-2.D.6, DAT-2.E.1, DAT-2.E.4, DAT-2.E.5

APCSP.93 Exam Review

Learning Outcomes:

Students will use this lesson to review many concepts in preparation for the AP Exam.

Topics covered:

All Topics Relating to the AP Test

Standard alignment:

Download the **2022 Skill Struck Standards Alignment + Correlation Guide ** to view a general list of our standard alignments, or find your state's specific alignment below:

General Standard Alignment

2022 Skill Struck Standards Alignment + Correlation GuideAlabama

Alabama Course of Study Digital Literacy and CS Standards + Skill Struck AlignmentCalifornia

Florida

Florida Introduction to Computer Science 1 + Skill Struck AlignmentFlorida Introduction to Computer Science 2 + Skill Struck Alignment

Maryland

Maryland K-12 CS Standards + Skill Struck AlignmentNorth Carolina

North Carolina K-12 CS Standards + Skill Struck AlignmentTexas

TEKs Technology Applications K-8 Standards + Skill Struck AlignmentTEKs Skills for CTE + Skill Struck Alignment

Utah

Virginia

Virginia K-12 CS Standards + Skill Struck AlignmentWashington

Washington K-12 CS State Learning Standards + Skill Struck Alignment