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.
Binary
Base Ten Number System
Base Two Number System
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
Students practice representing decimal numbers using the binary system. They convert back and forth between binary and decimal.
Binary Conversion
Converting from Decimal to BInary
Converting from binary to Decimal
3A-DA-09, DAT-1.A.2, DAT-1.C.4, DAT-1.C.5
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.
Bits and Bytes
Binary Patterns
3A-DA-09, DAT-1.A.2, DAT-1.A.3, DAT-1.A.4, DAT-1.C.4, DAT-1.C.5
Students learn how bytes are grouped as the numbers increase. They explore the different byte requirements for different file types and sizes.
Naming Conventions for Large Bytes
Storage Requirements
3A-DA-09, DAT-1.A.4, DAT-1.C.4, DAT-1.C.5
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.
Overflow
Roundoff
DAT-1.A.2, DAT-1.B.1, DAT-1.B.2, DAT-1.B.3
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.
Using a Key to Represent Anything with Binary
ASCII Table
Unicode
3A-CS-01, 3A-DA-09, DAT-1.A.2, DAT-1.A.6, DAT-1.A.7
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.
Bitmaps
Simple Pixel Images
Hexadecimal Values
3A-DA-09, DAT-1.A.2
Students transfer what they know about representing images with binary to representing videos with binary.
Representing Video with Binary
3A-DA-09
Students learn about analog data and explore options for representing complex information with binary. They learn ways to more accurately represent analog data.
Analog Data
Sound Wave Representation
3A-DA-09, DAT-1.A.2, DAT-1.A.8, DAT-1.A.9, DAT-1.A.10
Students are exposed to lossy vs lossless data compression techiques. They examine why data compression is important and where it's used.
Data Compression
Lossy Compression
Lossless Compression
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
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.
Lossless Text Compression
Compression Ability of Text
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
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.
Lossless Image Compression
Compression Ability of Images
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
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.
Lossy Image Compression
Absolute Threshold of Human Perception
Shade vs Color
Lossy Audio File Compression
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
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.
Computer Anatomy
Abstraction
3A-CS-01, 3A-CS-02, CRD-2.D.1, DAT-1.A.5
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.
Transistors
Inputs vs Outputs
Hardware vs Software
Abstraction
3A-CS-01, 3A-CS-02
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.
Troubleshooting Techniques
Hardware Problems vs Software Problems
3A-CS-03, 3B-CS-01, 3B-CS-02
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.
HTML
CSS
JavaScript
Python
Which Language Should I Learn?
3B-AP-24, CRD-2.A.1, CRD-2.A.2
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.
Error Types
Color Scheme
Debugging Strategies
CRD-2.I.1, CRD-2.I.2, CRD-2.I.3, CRD-2.I.4, CRD-2.I.5
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.
Algorithms
Sequencing
Selection
Iteration
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
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.
Flowcharts
AAP-2.A.2, 3B-AP-13
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.
Algorithm Puzzle
Sequencing
Students practice adding events to their algorithms as they navigate through the puzzle. These events manipulate the environment of the puzzle.
Algorithm Puzzle
Sequencing
Events
Students are introduced to variables and how they can be used in their algorithms. They practice using variables in different places of their algorithms.
Algorithm Puzzle
Sequencing
Selection
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.
Algorithm Puzzle
Sequencing
Selection
3A-AP-15, 3B-AP-13
Students will learn how to use loops in their puzzle algorithms. They will explore where loops are useful and where they are not.
Algorithm Puzzle
Sequencing
Iteration
3B-AP-13, 3A-AP-15
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.
Multiple Conditions in Logic
AND
OR
NOT
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
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.
Python Basics
Print Statement
Pseudocode
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
Students learn how to create and use variables in the Python language. They learn proper naming conventions for variables and how to print them.
Variables
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
Students explore what an input is in the Python programming language and how it compares to an output. They practice creating inputs and outputs.
Inputs
Outputs
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
Students learn what a comment is and how to add them into their code for documentation.
Syntax
Comments
Documentation
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
Students learn the different variable types and how to create them. They explore strings, integers and booleans.
Strings
Integers
Booleans
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
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.
Integers
Floats
3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1
Students learn how to convert between data types in Python and why this is important. They practice all kinds of conversions between data thpes.
Data Type Conversion
3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1
Students learn what concatenation is and how to use it in the Python language. They practice different examples of concatenation in their programs.
Concatenation
Concatenating an Integer
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
Students learn how to do different math calculations in the Python language. Student practice executing different math problems using the Python terminal.
Python Math
Order of Operations
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
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.
Modulus
Order of Operations
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
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.
Strings
Multiline Strings
3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.E.1, AAP-1.C.4
Students discover some of the ways to manipulate strings in their programs. They practice using string methods to change the strings in their programs.
Lower and Upper Methods
Replace Method
3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21
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.
Indexing
Slicing
Reverse
Split
Length
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
Students learn ways to analyze strings in their programs. They practice executing different string analysis techniques.
Checking Strings
3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21, CRD-2.D.2, CRD-2.E.1
Students learn how to customize their code by adding if statements. They practice creating if statements in their programs.
If Statements
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
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.
If Statements
Conditionals
AND
OR
NOT
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
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.
If Statements
Else If Statements
Conditionals
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
Students learn what a list is in Python and how they are useful. They practice creating lists in their programs.
Lists
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
Students learn how to access different items wherever they appear in their Python lists. They practice accessing specific items in lists.
Lists
Accessing Items in Lists
Indexing
Check if an Item Appears in a List
The Split Method
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
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.
Rounding
Range
Step
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
Students learn how to add items into specific places in Python lists. They practice adding different data types into their lists.
Adding to Lists
Combining Lists
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
Students learn how to take items out of lists in specific places in Python. Students move through exercises to practice removing items from lists.
Removing from Lists
Returning an Item from a List
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
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.
Range
Step
Sort
Length
Replacement
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
Students learn about recursion as they practice building for loops into their programs. They practice putting code inside the for loop and leveraging range.
Range
For Loop
3A-AP-15, 3A-CS-01, 3A-AP-13, 3A-AP-16, 3B-AP-19, 3B-AP-21
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.
While Loop
Infinite Loop
Increment
Decrement
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
Students learn what a function is and how it is useful in Python code. They practice building functions and choosing where to call them.
Functions
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, , ,
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.
Functions
Parameters
Procedural Abstraction
Break Down Big Problems
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
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.
Functions
Multiple Parameters
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
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.
Random
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
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.
Existing Algorithms
Ethics of Using Algorithms
CRD-2.E.1
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.
Python
Collaboration
Software Development Life Cycle
Feedback
Code Review
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
Students learn what a network is and different ways computers are connected. They explore copper vs optic cables and the advantages of each.
Networks
Copper Wire
Optic Cables
Underwater Cables
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
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.
Topologies
3A-NI-04, 3B-NI-03
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.
IP Addresses
Domain Names
URL
3B-NI-03
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.
Data Routes
Redundancy
3B-NI-03, CSN-1.A.5, CSN-1.A.6, CSN-1.B.5
Students learn how information is grouped into packets and then transported through the internet. They discuss different protocols that make internet communication possible.
Packets
Protocols
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
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.
Internet Hardware
3A-NI-04, 3B-NI-03
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.
Bandwidth
Scalability
3A-NI-04, 3B-NI-03, CSN-1.A.7, CSN-1.A.8, CSN-1.B.6, CSN-1.B.7
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.
WIFI
Radio Waves
Data for Phones
The Cloud
World Wide Web vs The Internet
3B-NI-03
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.
Internet Redundancy
Undersea Cables
Internet Vulnerabilities
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
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.
Social Impacts
Psychological Impacts
"Going Viral"
Influence and Information Access
Attention Economy
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
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.
Search Engines Benefits and Drawbacks
Examples of Search Engines
Narrowing Your Search
Finding Reliable Websites
Cookies
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.
Linear Search
Binary Search
AAP-2.O.5, AAP-2.P.1, AAP-2.P.2, AAP-2.P.3
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.
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
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.
The Traveling Salesman
Undecidable Problems
AAP-4.A.2, AAP-4.A.8, AAP-4.A.9, AAP-4.B.1, AAP-4.B.2, AAP-4.B.3
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.
Sequential Computing
Parallel Computing
Speed Up
Distributed Computing
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
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.
Data
Challenges for Data Processing
Data Structures
Large Data Sets
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
Students explore the different kinds of metadata and discover what each is commonly used for. They identify the different between data and metadata.
Structural Metadata
Administrative Metadata
Descriptive Metadata
3A-DA-10, DAT-2.B.1, DAT-2.B.2, DAT-2.B.3, DAT-2.B.4, DAT-2.B.5
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.
Simulation
Build a Simulation
Bias in Simulations
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
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.
3B-AP-08
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.
Outside Libraries
API
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
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.
Passwords
Password Strategies
Geometric & Biometric Passwords
Password Organization
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
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.
Brute Force
Malware
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
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.
Cyber Awareness
Security Measures
IOC-2.B.11, 3A-NI-06, 3A-NI-07, 3A-NI-08, 3B-NI-04, 3B-AP-18
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.
Personally Identifiable Information
Cookies
Regulations
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
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.
Copyright
Public Domain
Creative Commons
Open Source
Open Access
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
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.
Biological vs Computer Viruses
Types of Viruses
How to Avoid Viruses
3A-NI-05, 3A-NI-06, 3A-NI-07, 3A-NI-08, 3B-NI-04, 3B-AP-18, IOC-2.B.8
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.
Rogue Access Points
Active vs Passive Access
VPN
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
Students will learn different encryption techniques and the advantages of each. They will learn about Symmetric and Assymetric Key Encryption.
Symmetric Key Encryption
Asymmetric Key Encryption
3A-NI-06, 3A-NI-07, 3A-NI-08, 3B-NI-04, 3B-AP-18, IOC-2.B.5, IOC-2.B.6
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.
Unintended Effects of Innovations
Advances in Other Fields
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
Students will explore different political and ethical issues that come up alongside different computer innovations. They will discuss the presence of bias in innovations.
Social and Political Impacts of Innovations
Bias
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
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.
Collaboration
Crowdfunding
3A-IC-24, IOC-2.A.2, IOC-2.A.3
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.
Global Digital Divide
Geographic Digital Divide
Socioeconomic Digital Divide
Digital Literacy Divide
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
Students will discuss the importance of accessibility in generating computing innovations. Students analyze the presence of bias and how that might inadvertently affect accessibility.
Different Populations
Bias
Making Programs Accessible
3A-AP-21, 3A-IC-25, CRD-2.F.2, 3A-AP-21
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.
Identifying Patterns in Data
Visualizing Data
Correlations
Data Collection
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
Students will use this lesson to review many concepts in preparation for the AP Exam.
All Topics Relating to the AP Test