Skip to main content
California Department of Education Logo

Computer Science Standards




Results


Showing 21 - 30 of 31 Standards

Standard Identifier: 9-12.IC.29

Grade Range: 9–12
Concept: Impacts of Computing
Subconcept: Safety, Law, & Ethics
Practice(s): Communicating About Computing (7.2)

Standard:
Explain the privacy concerns related to the collection and generation of data through automated processes.

Descriptive Statement:
Data can be collected and aggregated across millions of people, even when they are not actively engaging with or physically near the data collection devices. Students recognize automated and non-evident collection of information and the privacy concerns they raise for individuals. For example, students could explain the impact on an individual when a social media site's security settings allows for mining of account information even when the user is not online. Alternatively, students could discuss the impact on individuals of using surveillance video in a store to track customers. Additionally, students could discuss how road traffic can be monitored to change signals in real time to improve road efficiency without drivers being aware and discuss policies for retaining data that identifies drivers' cars and their behaviors.

Standard Identifier: 9-12.IC.30

Grade Range: 9–12
Concept: Impacts of Computing
Subconcept: Safety, Law, & Ethics
Practice(s): Communicating About Computing (7.2)

Standard:
Evaluate the social and economic implications of privacy in the context of safety, law, or ethics.

Descriptive Statement:
Laws govern many aspects of computing, such as privacy, data, property, information, and identity. International differences in laws and ethics have implications for computing. Students make and justify claims about potential and/or actual privacy implications of policies, laws, or ethics and consider the associated tradeoffs, focusing on society and the economy. For example, students could explore the case of companies tracking online shopping behaviors in order to decide which products to target to consumers. Students could evaluate the ethical and legal dilemmas of collecting such data without consumer knowledge in order to profit companies. Alternatively, students could evaluate the implications of net neutrality laws on society's access to information and on the impacts to businesses of varying sizes.

Standard Identifier: 9-12S.AP.10

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

Standard:
Describe how artificial intelligence drives many software and physical systems.

Descriptive Statement:
Artificial intelligence is a sub-discipline of computer science that enables computers to solve problems previously handled by biological systems. There are many applications of artificial intelligence, including computer vision and speech recognition. Students research and explain how artificial intelligence has been employed in a given system. Students are not expected to implement an artificially intelligent system in order to meet this standard. For example, students could observe an artificially intelligent system and notice where its behavior is not human-like, such as when a character in a videogame makes a mistake that a human is unlikely to make, or when a computer easily beats even the best human players at a given game. Alternatively, students could interact with a search engine asking various questions, and after reading articles on the topic, they could explain how the computer is able to respond to queries.

Standard Identifier: 9-12S.AP.11

Grade Range: 9–12 Specialty
Concept: Algorithms & Programming
Subconcept: Algorithms
Practice(s): Recognizing and Defining Computational Problems, Creating Computational Artifacts (3.1, 5.3)

Standard:
Implement an algorithm that uses artificial intelligence to overcome a simple challenge.

Descriptive Statement:
Artificial intelligence algorithms allow a computer to perceive and move in the world, use knowledge, and engage in problem solving. Students create a computational artifact that is able to carry out a simple task commonly performed by living organisms. Students do not need to realistically simulate human behavior or solve a complex problem in order to meet this standard. For example, students could implement an algorithm for playing tic-tac-toe that would select an appropriate location for the next move. Alternatively, students could implement an algorithm that allows a solar-powered robot to move to a sunny location when its batteries are low.

Standard Identifier: 9-12S.AP.12

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

Standard:
Implement searching and sorting algorithms to solve computational problems.

Descriptive Statement:
One of the core uses of computers is to store, organize, and retrieve information when working with large amounts of data. Students create computational artifacts that use searching and/or sorting algorithms to retrieve, organize, or store information. Students do not need to select their algorithm based on efficiency. For example, students could write a script to sequence their classmates in order from youngest to oldest. Alternatively, students could write a program to find certain words within a text and report their location.

Standard Identifier: 9-12S.AP.13

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

Standard:
Evaluate algorithms in terms of their efficiency.

Descriptive Statement:
Algorithms that perform the same task can be implemented in different ways, which take different amounts of time to run on a given input set. Algorithms are commonly evaluated using asymptotic analysis (i.e., “Big O”) which involves exploration of behavior when the input set grows very large. Students classify algorithms by the most common time classes (e.g., log n, linear, n log n, and quadratic or higher). For example, students could read a given algorithm, identify the control constructs, and in conjunction with input size, identify the efficiency class of the algorithm.

Standard Identifier: 9-12S.AP.14

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

Standard:
Compare and contrast fundamental data structures and their uses.

Descriptive Statement:
Data structures are designed to provide different ways of storing and manipulating data sets to optimize various aspects of storage or runtime performance. Choice of data structures is made based on expected data characteristics and expected program functions. Students = compare and contrast how basic functions (e.g.., insertion, deletion, and modification) would differ for common data structures including lists, arrays, stacks, and queues. For example, students could draw a diagram of how different data structures change when items are added, deleted, or modified. They could explain tradeoffs in storage and efficiency issues. Alternatively, when presented with a description of a program and the functions it would be most likely to be running, students could list pros and cons for a specific data structure use in that scenario.

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.

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

Showing 21 - 30 of 31 Standards


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