Computer Science Standards
Results
Showing 1 - 10 of 10 Standards
Standard Identifier: K-2.AP.10
Grade Range:
K–2
Concept:
Algorithms & Programming
Subconcept:
Algorithms
Practice(s):
Recognizing and Defining Computational Problems, Developing and Using Abstractions (3.2, 4.4)
Standard:
Model daily processes by creating and following algorithms to complete tasks.
Descriptive Statement:
Algorithms are sequences of instructions that describe how to complete a specific task. Students create algorithms that reflect simple life tasks inside and outside of the classroom. For example, students could create algorithms to represent daily routines for getting ready for school, transitioning through center rotations, eating lunch, and putting away art materials. Students could then write a narrative sequence of events. (CA CCSS for ELA/Literacy W.K.3, W.1.3, W.2.3) Alternatively, students could create a game or a dance with a specific set of movements to reach an intentional goal or objective. (P.E K.2, 1.2, 2.2) Additionally, students could create a map of their neighborhood and give step-by-step directions of how they get to school. (HSS.K.4, 1.2, 2.2)
Model daily processes by creating and following algorithms to complete tasks.
Descriptive Statement:
Algorithms are sequences of instructions that describe how to complete a specific task. Students create algorithms that reflect simple life tasks inside and outside of the classroom. For example, students could create algorithms to represent daily routines for getting ready for school, transitioning through center rotations, eating lunch, and putting away art materials. Students could then write a narrative sequence of events. (CA CCSS for ELA/Literacy W.K.3, W.1.3, W.2.3) Alternatively, students could create a game or a dance with a specific set of movements to reach an intentional goal or objective. (P.E K.2, 1.2, 2.2) Additionally, students could create a map of their neighborhood and give step-by-step directions of how they get to school. (HSS.K.4, 1.2, 2.2)
Standard Identifier: K-2.AP.13
Grade Range:
K–2
Concept:
Algorithms & Programming
Subconcept:
Modularity
Practice(s):
Recognizing and Defining Computational Problems (3.2)
Standard:
Decompose the steps needed to solve a problem into a sequence of instructions.
Descriptive Statement:
Decomposition is the act of breaking down tasks into simpler tasks. For example, students could break down the steps needed to make a peanut butter and jelly sandwich, to brush their teeth, to draw a shape, to move a character across the screen, or to solve a level of a coding app. In a visual programming environment, students could break down the steps needed to draw a shape. (CA CCSS for Mathematics K.G.5, 1.G.1, 2.G.1) Alternatively, students could decompose the planning of a birthday party into tasks such as: 1) Decide when and where it should be, 2) List friends and family to invite, 3) Send the invitations, 4) Bake a cake, 5) Decorate, etc.
Decompose the steps needed to solve a problem into a sequence of instructions.
Descriptive Statement:
Decomposition is the act of breaking down tasks into simpler tasks. For example, students could break down the steps needed to make a peanut butter and jelly sandwich, to brush their teeth, to draw a shape, to move a character across the screen, or to solve a level of a coding app. In a visual programming environment, students could break down the steps needed to draw a shape. (CA CCSS for Mathematics K.G.5, 1.G.1, 2.G.1) Alternatively, students could decompose the planning of a birthday party into tasks such as: 1) Decide when and where it should be, 2) List friends and family to invite, 3) Send the invitations, 4) Bake a cake, 5) Decorate, etc.
Standard Identifier: 3-5.AP.10
Grade Range:
3–5
Concept:
Algorithms & Programming
Subconcept:
Algorithms
Practice(s):
Recognizing and Defining Computational Problems, Testing and Refining Computational Artifacts (3.3, 6.3)
Standard:
Compare and refine multiple algorithms for the same task and determine which is the most appropriate.
Descriptive Statement:
Different algorithms can achieve the same result, though sometimes one algorithm might be more appropriate for a specific solution. Students examine different ways to solve the same task and decide which would be the better solution for the specific scenario. For example, students could use a map and create multiple algorithms to model the early land and sea routes to and from European settlements in California. They could then compare and refine their algorithms to reflect faster travel times, shorter distances, or avoid specific characteristics, such as mountains, deserts, ocean currents, and wind patterns. (HSS.4.2.2) Alternatively, students could identify multiple algorithms for decomposing a fraction into a sum of fractions with the same denominator and record each decomposition with an equation (e.g., 2 1/8 = 1 + 1 + 1/8 = 8/8 + 8/8 + 1/8). Students could then select the most efficient algorithm (e.g., fewest number of steps). (CA CCSS for Mathematics 4.NF.3b) Additionally, students could compare algorithms that describe how to get ready for school and modify them for supporting different goals including having time to care for a pet, being able to talk with a friend before classes start, or taking a longer route to school to accompany a younger sibling to their school first. Students could then write an opinion piece, justifying with reasons their selected algorithm is most appropriate. (CA CCSS for ELA/Literacy W.3.1, W.4.1, W.5.1)
Compare and refine multiple algorithms for the same task and determine which is the most appropriate.
Descriptive Statement:
Different algorithms can achieve the same result, though sometimes one algorithm might be more appropriate for a specific solution. Students examine different ways to solve the same task and decide which would be the better solution for the specific scenario. For example, students could use a map and create multiple algorithms to model the early land and sea routes to and from European settlements in California. They could then compare and refine their algorithms to reflect faster travel times, shorter distances, or avoid specific characteristics, such as mountains, deserts, ocean currents, and wind patterns. (HSS.4.2.2) Alternatively, students could identify multiple algorithms for decomposing a fraction into a sum of fractions with the same denominator and record each decomposition with an equation (e.g., 2 1/8 = 1 + 1 + 1/8 = 8/8 + 8/8 + 1/8). Students could then select the most efficient algorithm (e.g., fewest number of steps). (CA CCSS for Mathematics 4.NF.3b) Additionally, students could compare algorithms that describe how to get ready for school and modify them for supporting different goals including having time to care for a pet, being able to talk with a friend before classes start, or taking a longer route to school to accompany a younger sibling to their school first. Students could then write an opinion piece, justifying with reasons their selected algorithm is most appropriate. (CA CCSS for ELA/Literacy W.3.1, W.4.1, W.5.1)
Standard Identifier: 3-5.AP.13
Grade Range:
3–5
Concept:
Algorithms & Programming
Subconcept:
Modularity
Practice(s):
Recognizing and Defining Computational Problems (3.2)
Standard:
Decompose problems into smaller, manageable tasks which may themselves be decomposed.
Descriptive Statement:
Decomposition is the act of breaking down tasks into simpler tasks. This manages complexity in the problem solving and program development process. For example, students could create an animation to represent a story they have written. Students write a story and then break it down into different scenes. For each scene, they would select a background, place characters, and program actions in that scene. (CA CCSS for ELA/Literacy W.3.3, W.4.3, W.5.3) Alternatively, students could create a program to allow classmates to present data collected in an experiment. For example, if students collected rain gauge data once per week for 3 months, students could break down the program tasks: 1) ask the user to input 12 weeks' worth of data, 2) process the data (e.g., add the first four entries to calculate the rain amount for month 1, convert to metric system measurements), and 3) direct the creation or resizing of objects (e.g., one rectangular chart bar for each month) to represent the total number of rainfall for that month. (CA NGSS: 3-ETS-1-2) (CA CCSS for Mathematics 3.MD.2)
Decompose problems into smaller, manageable tasks which may themselves be decomposed.
Descriptive Statement:
Decomposition is the act of breaking down tasks into simpler tasks. This manages complexity in the problem solving and program development process. For example, students could create an animation to represent a story they have written. Students write a story and then break it down into different scenes. For each scene, they would select a background, place characters, and program actions in that scene. (CA CCSS for ELA/Literacy W.3.3, W.4.3, W.5.3) Alternatively, students could create a program to allow classmates to present data collected in an experiment. For example, if students collected rain gauge data once per week for 3 months, students could break down the program tasks: 1) ask the user to input 12 weeks' worth of data, 2) process the data (e.g., add the first four entries to calculate the rain amount for month 1, convert to metric system measurements), and 3) direct the creation or resizing of objects (e.g., one rectangular chart bar for each month) to represent the total number of rainfall for that month. (CA NGSS: 3-ETS-1-2) (CA CCSS for Mathematics 3.MD.2)
Standard Identifier: 6-8.AP.13
Grade Range:
6–8
Concept:
Algorithms & Programming
Subconcept:
Modularity
Practice(s):
Recognizing and Defining Computational Problems (3.2)
Standard:
Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.
Descriptive Statement:
Decomposition facilitates program development by allowing students to focus on one piece at a time (e.g., getting input from the user, processing the data, and displaying the result to the user). Decomposition also enables different students to work on different parts at the same time. Students break down (decompose) problems into subproblems, which can be further broken down to smaller parts. Students could create an arcade game, with a title screen, a game screen, and a win/lose screen with an option to play the game again. To do this, students need to identify subproblems that accompany each screen (e.g., selecting an avatar goes in the title screen, events for controlling character action and scoring goes in the game screen, and displaying final and high score and asking whether to play again goes in the win/lose screen). Alternatively, students could decompose the problem of calculating and displaying class grades. Subproblems might include: accept input for students grades on various assignments, check for invalid grade entries, calculate per assignment averages, calculate per student averages, and display histograms of student scores for each assignment. (CA CCSS for Mathematics 6.RP.3c, 6.SP.4, 6.SP.5)
Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.
Descriptive Statement:
Decomposition facilitates program development by allowing students to focus on one piece at a time (e.g., getting input from the user, processing the data, and displaying the result to the user). Decomposition also enables different students to work on different parts at the same time. Students break down (decompose) problems into subproblems, which can be further broken down to smaller parts. Students could create an arcade game, with a title screen, a game screen, and a win/lose screen with an option to play the game again. To do this, students need to identify subproblems that accompany each screen (e.g., selecting an avatar goes in the title screen, events for controlling character action and scoring goes in the game screen, and displaying final and high score and asking whether to play again goes in the win/lose screen). Alternatively, students could decompose the problem of calculating and displaying class grades. Subproblems might include: accept input for students grades on various assignments, check for invalid grade entries, calculate per assignment averages, calculate per student averages, and display histograms of student scores for each assignment. (CA CCSS for Mathematics 6.RP.3c, 6.SP.4, 6.SP.5)
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.
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-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.
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.
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.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.
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.
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881