Skip to main content
California Department of Education Logo

Computer Science Standards




Results


Showing 11 - 19 of 19 Standards

Standard Identifier: 9-12.CS.1

Grade Range: 9–12
Concept: Computing Systems
Subconcept: Devices
Practice(s): Developing and Using Abstractions (4.1)

Standard:
Describe ways in which abstractions hide the underlying implementation details of computing systems to simplify user experiences.

Descriptive Statement:
An abstraction is a representation of an idea or phenomenon that hides details irrelevant to the question at hand. Computing systems, both stand alone and embedded in products, are often integrated with other systems to simplify user experiences. For example, students could identify geolocation hardware embedded in a smartphone and describe how this simplifies the users experience since the user does not have to enter her own location on the phone. Alternatively, students might select an embedded device such as a car stereo, identify the types of data (e.g., radio station presets, volume level) and procedures (e.g., increase volume, store/recall saved station, mute) it includes, and explain how the implementation details are hidden from the user.

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-12S.AP.21

Grade Range: 9–12 Specialty
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Testing and Refining Computational Artifacts (6.2)

Standard:
Identify and fix security issues that might compromise computer programs.

Descriptive Statement:
Some common forms of security issues arise from specific programming languages, platforms, or program implementation choices. Students read a given a piece of code that contains a common security vulnerability, explain the code's intended function or purpose, provide and explain examples of how a specific input could exploit that vulnerability (e.g., the program accessing data or performing in unintended ways), and implement a change in the code to mitigate this vulnerability. For example, students could review code that takes a date as input, recognize that the code doesn't check for appropriate last days of the month, and modify the code to do that. Alternatively, students could review code that supports entry of patient data (e.g., height and weight) and doesn't prompt users to double check unreasonable values (e.g., height at 6 feet and weight at 20 pounds).

Standard Identifier: 9-12S.AP.22

Grade Range: 9–12 Specialty
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Testing and Refining Computational Artifacts (6.1)

Standard:
Develop and use a series of test cases to verify that a program performs according to its design specifications.

Descriptive Statement:
Testing software is a critically important process. The ability of students to identify a set of important test cases communicates their understanding of the design specifications and potential issues due to implementation choices. Students select and apply their own test cases to cover both general behavior and the edge cases which show behavior at boundary conditions. For example, for a program that is supposed to accept test scores in the range of [0,100], students could develop appropriate tests (e.g, a negative value, 0, 100, and a value above 100). Alternatively, students developing an app to allow users to create and store calendar appointments could develop and use a series of test cases for various scenarios including checking for correct dates, flagging for user confirmation when a calendar event is very long, checking for correct email address format for invitees, and checking for appropriate screen display as users go through the process of adding, editing, and deleting events.

Standard Identifier: 9-12S.AP.23

Grade Range: 9–12 Specialty
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Developing and Using Abstractions, Creating Computational Artifacts (4.2, 5.3)

Standard:
Modify an existing program to add additional functionality and discuss intended and unintended implications.

Descriptive Statement:
Modularity and code reuse is key in modern software. However, when code is modified, the programmer should consider relevant situations in which this code might be used in other places. Students create and document modifications to existing programs that enhance functionality, and then identify, document, and correct unintended consequences. For example, students could take an existing a procedure that calculates the average of a set of numbers and returns an integer (which lacks precision) and modify it to return a floating-point number instead. The student would explain how the change might impact multiple scenarios.

Standard Identifier: 9-12S.AP.24

Grade Range: 9–12 Specialty
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Testing and Refining Computational Artifacts (6.3)

Standard:
Evaluate key qualities of a program through a process such as a code review.

Descriptive Statement:
Code reviews are a common software industry practice and valuable for developing technical communication skills. Key qualities of code include correctness, usability, readability, efficiency, and scalability. Students walk through code they created and explain how it works. Additionally, they follow along when someone else is explaining their code and ask appropriate questions. For example, students could present their code to a group or visually inspect code in pairs. Alternatively, in response to another student's presentation, students could provide feedback including comments on correctness of the code, comments on how code interacts with code that calls it, and design and documentation features.

Standard Identifier: 9-12S.CS.1

Grade Range: 9–12 Specialty
Concept: Computing Systems
Subconcept: Devices
Practice(s): Developing and Using Abstractions, Communicating About Computing (4.4, 7.2)

Standard:
Illustrate ways computing systems implement logic through hardware components.

Descriptive Statement:
Computing systems use processors (e.g., a central processing unit or CPU) to execute program instructions. Processors are composed of components that implement the logical or computational operations required by the instructions. AND, OR, and NOT are examples of logic gates. Adders are examples of higher-leveled circuits built using low-level logic gates. Students illustrate how modern computing devices are made up of smaller and simpler components which implement the logic underlying the functionality of a computer processor. At this level, knowledge of how logic gates are constructed is not expected. For example, students could construct truth tables, draw logic circuit diagrams, or use an online logic circuit simulator. Students could explore the interaction of the CPU, RAM, and I/O by labeling a diagram of the von Neumann architecture. Alternatively, students could design higher-level circuits using low-level logic gates (e.g., adders).

Standard Identifier: 9-12S.DA.9

Grade Range: 9–12 Specialty
Concept: Data & Analysis
Subconcept: Inference & Models
Practice(s): Developing and Using Abstractions (4.4)

Standard:
Evaluate the ability of models and simulations to test and support the refinement of hypotheses.

Descriptive Statement:
A model could be implemented as a diagram or a program that represents key properties of a physical or other system. A simulation is based on a model, and enables observation of the system as key properties change. Students explore, explain, and evaluate existing models and simulations, in order to support the refinement of hypotheses about how the systems work. At this level, the ability to accurately and completely model and simulate complex systems is not expected. For example, a computer model of ants following a path created by other ants who found food explains the trail-like travel patterns of the insect. Students could evaluate if the output of the model fits well with their hypothesis that ants navigate the world through the use of pheromones. They could explain how the computer model supports this hypothesis and how it might leave out certain aspects of ant behavior and whether these are important to understanding ant travel behavior. Alternatively, students could hypothesize how different ground characteristics (e.g., soil type, thickness of sediment above bedrock) relate to the severity of shaking at the surface during an earthquake. They could add or modify input about ground characteristics into an earthquake simulator, observe the changed simulation output, and then evaluate their hypotheses.

Showing 11 - 19 of 19 Standards


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