Identify the advantages, disadvantages and unintended consequences of computing devices.
9.7 The Impact of the Internet
15.4 Final Project
CCP.2
Analyze the relationship between human and computer interactions to improve the device. For example, student A watches student B use a simple communication device. Student A updates the tool for improved use.
7.6 Test
15.3 Follow a step-by-step project
CCP.3
Identify and describe multiple considerations and tradeoffs when designing or selecting computing system, such as functionality, cost, size, speed, accessibility, and aesthetics.
CCP.4
Construct optimized models of computing systems.
CCP.5
Create structured processes to troubleshoot problems with computing systems.
2.6 Troubleshooting
CCP.6
Define protocols in relation to a set of rules.
9.3 Internet Addresses
9.4 DNS
9.6 Packets and Protocols
CCP.7
Construct protocols that can be used to share information between people or devices. For example: a binary communication protocol using lights.
8.3 Encoding Text with Binary
CCP.8
Compare the relative strengths and weaknesses of unique protocols considering security, speed, and reliability.
CCP.9
Create models of networks that include packets and domain name server (DNS).
9.4 DNS
9.5 Routing
9.6 Packets and Protocols
CCP.10
Identify steps to ensure security measures are in place to safeguard online information.
4.4 Privacy & Security
CCP.11
Create cyphers to encrypt data that can be transferred between users.
5.3 Basic Crypto Systems: Caesar Cipher
5.4 Basic Crypto Systems: Cracking Caesar
5.5 Basic Crypto Systems: Vigenere Cipher
CCP.12
Explain how encryption can be used to safeguard data that is sent across a network.
5.1 Cryptography, Cryptology, Cryptanalysis
5.2 History of Cryptography
CCP.13
Evaluate the accuracy and precision of various forms of data collection.
CCP.14
Identify and define the limiting factors to specific forms of data collection.
CCP.15
Describe how different formats of stored data represent tradeoffs between quality and size.
CCP.16
Represent data using different encoding schemes, such as binary, Unicode, Morse code, shorthand, studentcreated codes.
8.2 Number Systems
8.3 Encoding Text with Binary
8.4 Pixel Images
8.5 Hexadecimal
CCP.17
Explain the processes used to collect, transform, and analyze data to solve a problem using computational tools.
15.2 Explore a New Sensor
CCP.18
Revise variables and constants in computational models to more accurately reflect real-world systems. For example in an ecosystem model, introducing predators as a new variable.
CCP.19
Solicit and integrate peer feedback as appropriate to develop or refine a program.
7.6 Test
15.4 Final Project
CCP.20
Compare different algorithms that may be used to solve the same problem in terms of their speed, clarity, and size.
1.4 For Loops
1.8 Functions
1.10 Top Down Design
11.4 Functions in Karel
11.6 Top Down Design and Decomposition in Karel
11.9 For Loops
11.12 While Loops in Karel
11.14 More Karel Examples and Testing
11.16 Karel Challenges
CCP.21
Provide proper attribution when code is borrowed or built upon.
CCP.22
Interpret the flow of execution of algorithms and predict their outcomes.
1.4 For Loops
1.8 Functions
1.14 Using i in For Loops
1.15 Extended Loop Control
1.16 If Statements
1.17 If/ Else Statements
1.18 While Loops
1.19 Putting Together Control Structures
11.9 For Loops
11.11 If/Else Statements
11.12 While Loops in Karel
11.13 Control Structures Example
11.14 More Karel Examples and Testing
11.16 Karel Challenges
14.1 For Loops
14.2 While Loops
14.4 If/Else Statements
CCP.23
Design, develop, and present computational artifacts such as mobile applications that address social problems both independently and collaboratively
4.5 Project: Public Service Announcement
15.4 Final Project
CCP.24
Develop programs, both independently and collaboratively, that include sequences with nested loops and multiple branches. (Clarification: At this level, students may use block- based and/or text-based programming languages.)
1.19 Putting Together Control Structures
11.9 For Loops
11.11 If/Else Statements
11.12 While Loops in Karel
11.13 Control Structures Example
11.14 More Karel Examples and Testing
11.16 Karel Challenges
15.1 micro:bit Challenges
15.4 Final Project
CCP.25
Identify the purpose of variables in relation to programming
1.11 Variables
1.13 Parameters
3.4 Variables
11.9 For Loops
CCP.26
Create variables that represent different types of data and manipulate their values.
1.11 Variables
1.13 Parameters
3.4 Variables
14.3 Operators
CCP.27
Define and use procedures that hide the complexity of a task and can be reused to solve similar tasks. (Clarification: Students use and modify, but do not necessarily create, procedures with parameters.)
1.8 Functions
1.13 Parameters
11.4 Functions in Karel
11.8 Super Karel
11.14 More Karel Examples and Testing
11.16 Karel Challenges
14.5 Functions
CCP.28
Decompose a problem into parts and create solutions for each part.
1.10 Top Down Design
3.3 Comments & Pseudocode
11.6 Top Down Design and Decomposition in Karel
14.5 Functions
CCP.29
Use an iterative design process (e.g., define the problem, generate ideas, build, test, and improve solutions) to solve problems, both independently and collaboratively.
1.10 Top Down Design
3.3 Comments & Pseudocode
7.3 Define
7.5 Prototype
7.6 Test
15.4 Final Project
CCP.30
Analyze the positive and negative impacts of computing technology.
9.7 The Impact of the Internet
15.4 Final Project
CCP.31
Recognize there are tradeoffs in computing.
9.7 The Impact of the Internet
CCP.32
Explain how social interactions can allow for multiple viewpoints.