Computer Science Standards
Results
Showing 21 - 26 of 26 Standards
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.
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.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.
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.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.
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.26
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Communicating About Computing (7.2)
Standard:
Compare multiple programming languages, and discuss how their features make them suitable for solving different types of problems.
Descriptive Statement:
Particular problems may be more effectively solved using some programming languages than other programming languages. Students provide a rationale for why a specific programming language is better suited for a solving a particular class of problem. For example, students could explain how a language with a large library base can make developing a web application easier. Alternatively, students could explain how languages that support particular programming paradigms (e.g., object-oriented or functional) can make implementation more aligned with design choices. Additionally, students could discuss how languages that implement garbage collection are good for simplicity of memory management, but may result in poor performance characteristics.
Compare multiple programming languages, and discuss how their features make them suitable for solving different types of problems.
Descriptive Statement:
Particular problems may be more effectively solved using some programming languages than other programming languages. Students provide a rationale for why a specific programming language is better suited for a solving a particular class of problem. For example, students could explain how a language with a large library base can make developing a web application easier. Alternatively, students could explain how languages that support particular programming paradigms (e.g., object-oriented or functional) can make implementation more aligned with design choices. Additionally, students could discuss how languages that implement garbage collection are good for simplicity of memory management, but may result in poor performance characteristics.
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).
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.IC.28
Grade Range:
9–12 Specialty
Concept:
Impacts of Computing
Subconcept:
Culture
Practice(s):
Communicating About Computing (7.2)
Standard:
Evaluate how computational innovations that have revolutionized aspects of our culture might evolve.
Descriptive Statement:
It is important to be able to evaluate current technologies and innovations and their potential for future impact on society. Students describe how a given computational innovation might change in the future and impacts these evolutions could have on society, economy, or culture. For example, students could consider ways in which computers may support education (or healthcare) in the future, or how developments in virtual reality might impact arts and entertainment. Alternatively, students could consider how autonomous vehicles will affect individuals' car ownership and car use habits as well as industries that employ human drivers (e.g., trucking, taxi service).
Evaluate how computational innovations that have revolutionized aspects of our culture might evolve.
Descriptive Statement:
It is important to be able to evaluate current technologies and innovations and their potential for future impact on society. Students describe how a given computational innovation might change in the future and impacts these evolutions could have on society, economy, or culture. For example, students could consider ways in which computers may support education (or healthcare) in the future, or how developments in virtual reality might impact arts and entertainment. Alternatively, students could consider how autonomous vehicles will affect individuals' car ownership and car use habits as well as industries that employ human drivers (e.g., trucking, taxi service).
Showing 21 - 26 of 26 Standards
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881