Skip to main content
California Department of Education Logo

Computer Science Standards




Results


Showing 21 - 30 of 35 Standards

Standard Identifier: 9-12.AP.14

Grade Range: 9–12
Concept: Algorithms & Programming
Subconcept: Control
Practice(s): Creating Computational Artifacts (5.2)

Standard:
Justify the selection of specific control structures by identifying tradeoffs associated with implementation, readability, and performance.

Descriptive Statement:
The selection of control structures in a given programming language impacts readability and performance. Readability refers to how clear the program is to other programmers and can be improved through documentation. Control structures at this level may include, for example, conditional statements, loops, event handlers, and recursion. Students justify control structure selection and tradeoffs in the process of creating their own computational artifacts. The discussion of performance is limited to a theoretical understanding of execution time and storage requirements; a quantitative analysis is not expected. For example, students could compare the readability and program performance of iterative and recursive implementations of procedures that calculate the Fibonacci sequence. Alternatively, students could compare the readability and performance tradeoffs of multiple if statements versus a nested if statement.

Standard Identifier: 9-12.AP.15

Grade Range: 9–12
Concept: Algorithms & Programming
Subconcept: Control
Practice(s): Creating Computational Artifacts (5.1, 5.2, 5.3)

Standard:
Iteratively design and develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.

Descriptive Statement:
In this context, relevant computational artifacts can include programs, mobile apps, or web apps. Events can be user-initiated, such as a button press, or system-initiated, such as a timer firing. For example, students might create a tool for drawing on a canvas by first implementing a button to set the color of the pen. Alternatively, students might create a game where many events control instructions executed (e.g., when a score climbs above a threshold, a congratulatory sound is played; when a user clicks on an object, the object is loaded into a basket; when a user clicks on an arrow key, the player object is moved around the screen).

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.).

Standard Identifier: 9-12.CS.3

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

Standard:
Develop guidelines that convey systematic troubleshooting strategies that others can use to identify and fix errors.

Descriptive Statement:
Troubleshooting complex problems involves the use of multiple sources when researching, evaluating, and implementing potential solutions. Troubleshooting also relies on experience, such as when people recognize that a problem is similar to one they have seen before and adapt solutions that have worked in the past. For example, students could create a list of troubleshooting strategies to debug network connectivity problems such as checking hardware and software status and settings, rebooting devices, and checking security settings. Alternatively, students could create troubleshooting guidelines for help desk employees based on commonly observed problems (e.g., problems connecting a new device to the computer, problems printing from a computer to a network printer).

Standard Identifier: 9-12.DA.11

Grade Range: 9–12
Concept: Data & Analysis
Subconcept: Inference & Models
Practice(s): Developing and Using Abstractions, Testing and Refining Computational Artifacts (4.4, 6.3)

Standard:
Refine computational models to better represent the relationships among different elements of data collected from a phenomenon or process.

Descriptive Statement:
Computational models are used to make predictions about processes or phenomena based on selected data and features. They allow people to investigate the relationships among different variables to understand a system. Predictions are tested to validate models. Students evaluate these models against real-world observations. For example, students could use a population model that allows them to speculate about interactions among different species, evaluate the model based on data gathered from nature, and then refine the model to reflect more complex and realistic interactions.

Standard Identifier: 9-12.NI.6

Grade Range: 9–12
Concept: Networks & the Internet
Subconcept: Cybersecurity
Practice(s): Communicating About Computing (7.2)

Standard:
Compare and contrast security measures to address various security threats.

Descriptive Statement:
Network security depends on a combination of hardware, software, and practices that control access to data and systems. The needs of users and the sensitivity of data determine the level of security implemented. Potential security problems, such as denial-of-service attacks, ransomware, viruses, worms, spyware, and phishing, present threats to sensitive data. Students compare and contrast different types of security measures based on factors such as efficiency, feasibility, ethical impacts, usability, and security. At this level, students are not expected to develop or implement the security measures that they discuss. For example, students could review case studies or current events in which governments or organizations experienced data leaks or data loss as a result of these types of attacks. Students could provide an analysis of actual security measures taken comparing to other security measure which may have led to different outcomes. Alternatively, students might discuss computer security policies in place at the local level that present a tradeoff between usability and security, such as a web filter that prevents access to many educational sites but keeps the campus network safe.

Standard Identifier: 9-12.NI.7

Grade Range: 9–12
Concept: Networks & the Internet
Subconcept: Cybersecurity
Practice(s): Recognizing and Defining Computational Problems, Developing and Using Abstractions (3.3, 4.4)

Standard:
Compare and contrast cryptographic techniques to model the secure transmission of information.

Descriptive Statement:
Cryptography is a technique for transforming information on a computer in such a way that it becomes unreadable by anyone except authorized parties. Cryptography is useful for supporting secure communication of data across networks. Examples of cryptographic methods include hashing, symmetric encryption/decryption (private key), and assymmetric encryption/decryption (public key/private key). Students use software to encode and decode messages using cryptographic methods. Students compare the costs and benefits of using various cryptographic methods. At this level, students are not expected to perform the mathematical calculations associated with encryption and decryption. For example, students could compare and contrast multiple examples of symmetric cryptographic techiques. Alternatively, students could compare and contrast symmetric and asymmetric cryptographic techniques in which they apply for a given scenario.

Standard Identifier: 9-12S.AP.15

Grade Range: 9–12 Specialty
Concept: Algorithms & Programming
Subconcept: Control
Practice(s): Recognizing and Defining Computational Problems, Communicating About Computing (3.2, 7.2)

Standard:
Demonstrate the flow of execution of a recursive algorithm.

Descriptive Statement:
Recursion is a powerful problem-solving approach where the problem solution is built on solutions of smaller instances of the same problem. A base case, which returns a result without referencing itself, must be defined, otherwise infinite recursion will occur. Students represent a sequence of calls to a recursive algorithm and show how the process resolves to a solution. For example, students could draw a diagram to illustrate flow of execution by keeping track of parameter and returned values for each recursive call. Alternatively, students could create a video showing the passing of arguments as the recursive algorithm runs.

Standard Identifier: 9-12S.AP.16

Grade Range: 9–12 Specialty
Concept: Algorithms & Programming
Subconcept: Modularity
Practice(s): Recognizing and Defining Computational Problems, Developing and Using Abstractions (3.2, 4.2)

Standard:
Analyze a large-scale computational problem and identify generalizable patterns or problem components that can be applied to a solution.

Descriptive Statement:
As students encounter complex, real-world problems that span multiple disciplines or social systems, they need to be able to decompose problems and apply already developed code as part of their solutions. Students decompose complex problems into manageable subproblems that could potentially be solved with programs or procedures that can be reused or already exist. For example, in analyzing an Internet radio app, students could identify that users need to create an account and enter a password. They could identify a common application programming interface (API) for checking and displaying password strength. Additionally, students could recognize that the songs would need to be sorted by the time last played in order to display the most recently played songs and identify a common API for sorting dates from most to least recent. Alternatively, in analyzing the problem of tracking medical treatment in a hospital, students could recognize that patient records need to be stored in a database and identify a database solution to support quick access and modification of patient records. Additionally, they could recognize that records in the database need to be stored securely and could identify an encryption API to support the desired level of privacy.

Showing 21 - 30 of 35 Standards


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