Skip to main content
California Department of Education Logo

Computer Science Standards




Results


Showing 11 - 20 of 29 Standards

Standard Identifier: 3-5.NI.6

Grade Range: 3–5
Concept: Networks & the Internet
Subconcept: Cybersecurity
Practice(s): Developing and Using Abstractions (4.4)

Standard:
Create patterns to protect information from unauthorized access.

Descriptive Statement:
Encryption is the process of converting information or data into a code, especially to prevent unauthorized access. At this level, students use patterns as a code for encryption, to protect information. Patterns should be decodable to the party for whom the message is intended, but difficult or impossible for those with unauthorized access. For example, students could create encrypted messages via flashing a flashlight in Morse code. Other students could decode this established language even if it wasn't meant for them. To model the idea of protecting data, students should create their own variations on or changes to Morse code. This ensures that when a member of that group flashes a message only other members of their group can decode it, even if other students in the room can see it. (CA NGSS: 4-PS4-3) Alternatively, students could engage in a CS Unplugged activity that models public key encryption: One student puts a paper containing a written secret in a box, locks it with a padlock, and hands the box to a second student. Student 2 puts on a second padlock and hands it back. Student 1 removes her lock and hands the box to student 2 again. Student 2 removes his lock, opens the box, and has access to the secret that student 1 sent him. Because the box always contained at least one lock while in transit, an outside party never had the opportunity to see the message and it is protected.

Standard Identifier: 6-8.AP.11

Grade Range: 6–8
Concept: Algorithms & Programming
Subconcept: Variables
Practice(s): Creating Computational Artifacts (5.1, 5.2)

Standard:
Create clearly named variables that store data, and perform operations on their contents.

Descriptive Statement:
A variable is a container for data, and the name used for accessing the variable is called the identifier. Students declare, initialize, and update variables for storing different types of program data (e.g., text, integers) using names and naming conventions (e.g. camel case) that clearly convey the purpose of the variable, facilitate debugging, and improve readability. For example, students could program a quiz game with a score variable (e.g. quizScore) that is initially set to zero and increases by increments of one each time the user answers a quiz question correctly and decreases by increments of one each time a user answers a quiz question incorrectly, resulting in a score that is either a positive or negative integer. (CA CCSS for Mathematics 6.NS.5) Alternatively, students could write a program that prompts the user for their name, stores the user's response in a variable (e.g. userName), and uses this variable to greet the user by name.

Standard Identifier: 6-8.AP.13

Grade Range: 6–8
Concept: Algorithms & Programming
Subconcept: Modularity
Practice(s): Recognizing and Defining Computational Problems (3.2)

Standard:
Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.

Descriptive Statement:
Decomposition facilitates program development by allowing students to focus on one piece at a time (e.g., getting input from the user, processing the data, and displaying the result to the user). Decomposition also enables different students to work on different parts at the same time. Students break down (decompose) problems into subproblems, which can be further broken down to smaller parts. Students could create an arcade game, with a title screen, a game screen, and a win/lose screen with an option to play the game again. To do this, students need to identify subproblems that accompany each screen (e.g., selecting an avatar goes in the title screen, events for controlling character action and scoring goes in the game screen, and displaying final and high score and asking whether to play again goes in the win/lose screen). Alternatively, students could decompose the problem of calculating and displaying class grades. Subproblems might include: accept input for students grades on various assignments, check for invalid grade entries, calculate per assignment averages, calculate per student averages, and display histograms of student scores for each assignment. (CA CCSS for Mathematics 6.RP.3c, 6.SP.4, 6.SP.5)

Standard Identifier: 6-8.AP.14

Grade Range: 6–8
Concept: Algorithms & Programming
Subconcept: Modularity
Practice(s): Developing and Using Abstractions (4.1, 4.3)

Standard:
Create procedures with parameters to organize code and make it easier to reuse.

Descriptive Statement:
Procedures support modularity in developing programs. Parameters can provide greater flexibility, reusability, and efficient use of resources. Students create procedures and/or functions that are used multiple times within a program to repeat groups of instructions. They generalize the procedures and/or functions by defining parameters that generate different outputs for a wide range of inputs. For example, students could create a procedure to draw a circle which involves many instructions, but all of them can be invoked with one instruction, such as “drawCircle.” By adding a radius parameter, students can easily draw circles of different sizes. (CA CCSS for Mathematics 7.G.4) Alternatively, calculating the area of a regular polygon requires multiple steps. Students could write a function that accepts the number and length of the sides as parameters and then calculates the area of the polygon. This function can then be re-used inside any program to calculate the area of a regular polygon. (CA CCSS for Mathematics 6.G.1)

Standard Identifier: 6-8.CS.3

Grade Range: 6–8
Concept: Computing Systems
Subconcept: Troubleshooting
Practice(s): Testing and Refining Computational Artifacts (6.2)

Standard:
Systematically apply troubleshooting strategies to identify and resolve hardware and software problems in computing systems.

Descriptive Statement:
When problems occur within computing systems, it is important to take a structured, step-by-step approach to effectively solve the problem and ensure that potential solutions are not overlooked. Examples of troubleshooting strategies include following a troubleshooting flow diagram, making changes to software to see if hardware will work, checking connections and settings, and swapping in working components. Since a computing device may interact with interconnected devices within a system, problems may not be due to the specific computing device itself but to devices connected to it. For example, students could work through a checklist of solutions for connectivity problems in a lab of computers connected wirelessly or through physical cables. They could also search for technical information online and engage in technical reading to create troubleshooting documents that they then apply. (CA CCSS for ELA/Literacy RST.6-8.10) Alternatively, students could explore and utilize operating system tools to reset a computer's default language to English. Additionally, students could swap out an externally-controlled sensor giving fluctuating readings with a new sensor to check whether there is a hardware problem.

Standard Identifier: 6-8.NI.5

Grade Range: 6–8
Concept: Networks & the Internet
Subconcept: Cybersecurity
Practice(s): Recognizing and Defining Computational Problems (3.1, 3.3)

Standard:
Explain potential security threats and security measures to mitigate threats.

Descriptive Statement:
Cybersecurity is an important field of study and it is valuable for students to understand the need for protecting sensitive data. Students identify multiple methods for protecting data and articulate the value and appropriateness for each method. Students are not expected to implement or explain the implementation of such technologies. For example, students could explain the importance of keeping passwords hidden, setting secure router administrator passwords, erasing a storage device before it is reused, and using firewalls to restrict access to private networks. Alternatively, students could explain the importance of two-factor authentication and HTTPS connections to ensure secure data transmission.

Standard Identifier: 6-8.NI.6

Grade Range: 6–8
Concept: Networks & the Internet
Subconcept: Cybersecurity
Practice(s): Developing and Using Abstractions (4.4)

Standard:
Apply multiple methods of information protection to model the secure transmission of information.

Descriptive Statement:
Digital information is protected using a variety of cryptographic techniques. Cryptography is essential to many models of cybersecurity. At its core, cryptography has a mathematical foundation. Cryptographic encryption can be as simple as letter substitution or as complicated as modern methods used to secure networks and the Internet. Students encode and decode messages using encryption methods, and explore different levels of complexity used to hide or secure information. For example, students could identify methods of secret communication used during the Revolutionary War (e.g., ciphers, secret codes, invisible ink, hidden letters) and then secure their own methods such as substitution ciphers or steganography (i.e., hiding messages inside a picture or other data) to compose a message from either the Continental Army or British Army. (HSS.8.1) Alternatively, students could explore functions and inverse functions for encryption and decryption and consider functions that are complex enough to keep data secure from their peers. (CA CCSS for Mathematics 8.F.1)

Standard Identifier: 9-12.AP.13

Grade Range: 9–12
Concept: Algorithms & Programming
Subconcept: Variables
Practice(s): Developing and Using Abstractions (4.1)

Standard:
Create more generalized computational solutions using collections instead of repeatedly using simple variables.

Descriptive Statement:
Computers can automate repetitive tasks with algorithms that use collections to simplify and generalize computational problems. Students identify common features in multiple segments of code and substitute a single segment that uses collections (i.e., arrays, sets, lists) to account for the differences. For example, students could take a program that inputs students' scores into multiple variables and modify it to read these scores into a single array of scores. Alternatively, instead of writing one procedure to find averages of student scores and another to find averages of student absences, students could write a single general average procedure to support both tasks.

Standard Identifier: 9-12.AP.16

Grade Range: 9–12
Concept: Algorithms & Programming
Subconcept: Modularity
Practice(s): Recognizing and Defining Computational Problems (3.2)

Standard:
Decompose problems into smaller subproblems through systematic analysis, using constructs such as procedures, modules, and/or classes.

Descriptive Statement:
Decomposition enables solutions to complex problems to be designed and implemented as more manageable subproblems. Students decompose a given problem into subproblems that can be solved using existing functionalities, or new functionalities that they design and implement. For example, students could design a program for supporting soccer coaches in analyzing their teams' statistics. They decompose the problem in terms of managing input, analysis, and output. They decompose the data organization by designing what data will be stored per player, per game, and per team. Team players may be stored as a collection. Data per team player may include: number of shots, misses, saves, assists, penalty kicks, blocks, and corner kicks. Students design methods for supporting various statistical analyses and display options. Students design output formats for individual players or coaches.

Standard Identifier: 9-12.AP.17

Grade Range: 9–12
Concept: Algorithms & Programming
Subconcept: Modularity
Practice(s): Developing and Using Abstractions, Creating Computational Artifacts (4.3, 5.2)

Standard:
Create computational artifacts using modular design.

Descriptive Statement:
Computational artifacts are created by combining and modifying existing computational artifacts and/or by developing new artifacts. To reduce complexity, large programs can be designed as systems of interacting modules, each with a specific role, coordinating for a common overall purpose. Students should create computational artifacts with interacting procedures, modules, and/or libraries. For example, students could incorporate a physics library into an animation of bouncing balls. Alternatively, students could integrate open-source JavaScript libraries to expand the functionality of a web application. Additionally, students could create their own game to teach Spanish vocabulary words using their own modular design (e.g., including methods to: control scoring, manage wordlists, manage access to different game levels, take input from the user, etc.).

Showing 11 - 20 of 29 Standards


Questions: Curriculum Frameworks and Instructional Resources Division | CFIRD@cde.ca.gov | 916-319-0881