Skip to main content
California Department of Education Logo

Computer Science Standards




Results


Showing 41 - 50 of 52 Standards

Standard Identifier: 9-12S.AP.17

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

Standard:
Construct solutions to problems using student-created components, such as procedures, modules, and/or objects.

Descriptive Statement:
Programmers often address complex tasks through design and decomposition using procedures and/or modules. In object-oriented programming languages, classes can support this decomposition. Students create a computational artifact that solves a problem through use of procedures, modules, and/or objects. This problem should be of sufficient complexity to benefit from decomposition and/or use of objects. For example, students could write a flashcard program in which each card is able to show both the question and answer and record user history. Alternatively, students could create a simulation of an ecosystem in which sprites carry out behaviors, such as consuming resources.

Standard Identifier: 9-12S.AP.18

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

Standard:
Demonstrate code reuse by creating programming solutions using libraries and APIs.

Descriptive Statement:
Code reuse is critical both for managing complexity in modern programs, but also in increasing programming efficiency and reliability by having programmers reuse code that has been highly vetted and tested. Software libraries allow developers to integrate common and often complex functionality without having to reimplement that functionality from scratch. Students identify, evaluate, and select appropriate application programming interfaces (APIs) from software libraries to use with a given language and operating system. They appropriately use resources such as technical documentation, online forums, and developer communities to learn about libraries and troubleshoot problems with APIs that they have chosen. For example, students could import charting and graphing modules to display data sets, adopt an online service that provides cloud storage and retrieval for a database used in a multiplayer game, or import location services into an app that identifies points of interest on a map. Libraries of APIs can be student-created or publicly available (e.g., common graphics libraries or map/navigation APIs).

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

Grade Range: 9–12 Specialty
Concept: Data & Analysis
Subconcept: Collection, Visualization, & Transformation
Practice(s): Developing and Using Abstractions, Communicating About Computing (4.1, 7.1)

Standard:
Use data analysis tools and techniques to identify patterns in data representing complex systems.

Descriptive Statement:
Data analysis tools can be useful for identifying patterns in large amounts of data in many different fields. Computers can help with the processing of extremely large sets of data making very complex systems manageable. Students use computational tools to analyze, summarize, and visualize a large set of data. For example, students could analyze a data set containing marathon times and determine how age, gender, weather, and course features correlate with running times. Alternatively, students could analyze a data set of social media interactions to identify the most influential users and visualize the intersections between different social groups.

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.

Standard Identifier: 9-12S.IC.27

Grade Range: 9–12 Specialty
Concept: Impacts of Computing
Subconcept: Culture
Practice(s): Fostering an Inclusive Computing Culture, Testing and Refining Computational Artifacts (1.2, 6.1)

Standard:
Evaluate computational artifacts with regard to improving their beneficial effects and reducing harmful effects on society.

Descriptive Statement:
People design computational artifacts to help make the lives of humans better. Students evaluate an artifact and comment on aspects of it which positively or negatively impact users and give ideas for reducing the possible negative impacts. For example, students could discuss how algorithms that screen job candidates' resumes can cut costs for companies (a beneficial effect) but introduce or amplify bias in the hiring process (a harmful effect). Alternatively, students could discuss how turn-by-turn navigation tools can help drivers avoid traffic and find alternate routes (a beneficial effect), but sometimes channel large amounts of traffic down small neighborhood streets (a harmful effect). Additionally, students could discuss how social media algorithms can help direct users' attention to interesting content (a beneficial effect), while simultaneously limiting users' exposure to information that contradicts pre-existing beliefs (a harmful effect).

Showing 41 - 50 of 52 Standards


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