Computer Science Standards
Results
Showing 1 - 10 of 16 Standards
Standard Identifier: K-2.AP.12
Grade Range:
K–2
Concept:
Algorithms & Programming
Subconcept:
Control
Practice(s):
Creating Computational Artifacts (5.2)
Standard:
Create programs with sequences of commands and simple loops, to express ideas or address a problem.
Descriptive Statement:
People create programs by composing sequences of commands that specify the precise order in which instructions should be executed. Loops enable programs to repeat a sequence of commands multiple times. For example, students could follow simple movements in response to oral instructions. Students could then create a simple sequence of movement commands in response to a given problem (e.g., In how many ways can you travel from point A to point B?) and represent it as a computer program, using loops to repeat commands. (VAPA Dance K.1.4, 1.2.3, 1.2.5, 1.2.8, 2.2.1, 2.2.2, 2.2.3) Alternatively, on a mat with many different CVC words, students could program robots to move to words with a similar vowel sound. Students could look for multiple ways to solve the problem and simplify their solution by incorporating loops. (CA CCSS for ELA/Literacy RF.K.2.D, RF.1.2.C)
Create programs with sequences of commands and simple loops, to express ideas or address a problem.
Descriptive Statement:
People create programs by composing sequences of commands that specify the precise order in which instructions should be executed. Loops enable programs to repeat a sequence of commands multiple times. For example, students could follow simple movements in response to oral instructions. Students could then create a simple sequence of movement commands in response to a given problem (e.g., In how many ways can you travel from point A to point B?) and represent it as a computer program, using loops to repeat commands. (VAPA Dance K.1.4, 1.2.3, 1.2.5, 1.2.8, 2.2.1, 2.2.2, 2.2.3) Alternatively, on a mat with many different CVC words, students could program robots to move to words with a similar vowel sound. Students could look for multiple ways to solve the problem and simplify their solution by incorporating loops. (CA CCSS for ELA/Literacy RF.K.2.D, RF.1.2.C)
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.12
Grade Range:
3–5
Concept:
Algorithms & Programming
Subconcept:
Control
Practice(s):
Creating Computational Artifacts (5.2)
Standard:
Create programs that include events, loops, and conditionals.
Descriptive Statement:
Control structures specify the order (sequence) in which instructions are executed within a program and can be combined to support the creation of more complex programs. Events allow portions of a program to run based on a specific action. Conditionals allow for the execution of a portion of code in a program when a certain condition is true. Loops allow for the repetition of a sequence of code multiple times. For example, students could program an interactive map of the United States of America. They could use events to initiate a question when the user clicks on a state and conditionals to check whether the user input is correct. They could use loops to repeat the question until the user answers correctly or to control the length of a "congratulations" scenario that plays after a correct answer. (HSS.5.9) Alternatively, students could write a math fluency game that asks products of two one-digit numbers and then uses a conditional to check whether or not the answer that was entered is correct. They could use a loop to repeatedly ask another question. They could use events to allow the user to click on a green button to play again or a red button to end the game. (CA CCSS for Mathematics 3.OA.7) Additionally, students could create a program as a role-playing game based on a literary work. Loops could be used to animate a character's movement. When reaching a decision point in the story, an event could initiate the user to type a response. A conditional could change the setting or have the story play out differently based on the user input. (CA CCSS for ELA/Literacy RL.5.3)
Create programs that include events, loops, and conditionals.
Descriptive Statement:
Control structures specify the order (sequence) in which instructions are executed within a program and can be combined to support the creation of more complex programs. Events allow portions of a program to run based on a specific action. Conditionals allow for the execution of a portion of code in a program when a certain condition is true. Loops allow for the repetition of a sequence of code multiple times. For example, students could program an interactive map of the United States of America. They could use events to initiate a question when the user clicks on a state and conditionals to check whether the user input is correct. They could use loops to repeat the question until the user answers correctly or to control the length of a "congratulations" scenario that plays after a correct answer. (HSS.5.9) Alternatively, students could write a math fluency game that asks products of two one-digit numbers and then uses a conditional to check whether or not the answer that was entered is correct. They could use a loop to repeatedly ask another question. They could use events to allow the user to click on a green button to play again or a red button to end the game. (CA CCSS for Mathematics 3.OA.7) Additionally, students could create a program as a role-playing game based on a literary work. Loops could be used to animate a character's movement. When reaching a decision point in the story, an event could initiate the user to type a response. A conditional could change the setting or have the story play out differently based on the user input. (CA CCSS for ELA/Literacy RL.5.3)
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: 3-5.AP.14
Grade Range:
3–5
Concept:
Algorithms & Programming
Subconcept:
Modularity
Practice(s):
Developing and Using Abstractions, Creating Computational Artifacts (4.2, 5.3)
Standard:
Create programs by incorporating smaller portions of existing programs, to develop something new or add more advanced features.
Descriptive Statement:
Programs can be broken down into smaller parts, which can be incorporated into new or existing programs. Students incorporate predefined functions into their original designs. At this level, students do not need to understand all of the underlying implementation details of the abstractions that they use. For example, students could use code from a ping pong animation to make a ball bounce in a new basketball game. They could also incorporate code from a single-player basketball game to create a two-player game with slightly different rules. Alternatively, students could remix an animated story and add their own conclusion and/or additional dialogue. (CA CCSS for ELA/Literacy W.3.3.B, W.3.3.D, W.4.3.B, W.4.3.E, W.5.3.B, W.5.3.E) Additionally, when creating a game that occurs on the moon or planets, students could incorporate and modify code that simulates gravity on Earth. They could modify the strength of the gravitational force based on the mass of the planet or moon. (CA NGSS: 5-PS2-1)
Create programs by incorporating smaller portions of existing programs, to develop something new or add more advanced features.
Descriptive Statement:
Programs can be broken down into smaller parts, which can be incorporated into new or existing programs. Students incorporate predefined functions into their original designs. At this level, students do not need to understand all of the underlying implementation details of the abstractions that they use. For example, students could use code from a ping pong animation to make a ball bounce in a new basketball game. They could also incorporate code from a single-player basketball game to create a two-player game with slightly different rules. Alternatively, students could remix an animated story and add their own conclusion and/or additional dialogue. (CA CCSS for ELA/Literacy W.3.3.B, W.3.3.D, W.4.3.B, W.4.3.E, W.5.3.B, W.5.3.E) Additionally, when creating a game that occurs on the moon or planets, students could incorporate and modify code that simulates gravity on Earth. They could modify the strength of the gravitational force based on the mass of the planet or moon. (CA NGSS: 5-PS2-1)
Standard Identifier: 6-8.AP.12
Grade Range:
6–8
Concept:
Algorithms & Programming
Subconcept:
Control
Practice(s):
Creating Computational Artifacts (5.1, 5.2)
Standard:
Design and iteratively develop programs that combine control structures and use compound conditions.
Descriptive Statement:
Control structures can be combined in many ways. Nested loops are loops placed within loops, and nested conditionals allow the result of one conditional to lead to another. Compound conditions combine two or more conditions in a logical relationship (e.g., using AND, OR, and NOT). Students appropriately use control structures to perform repetitive and selection tasks. For example, when programming an interactive story, students could use a compound conditional within a loop to unlock a door only if a character has a key AND is touching the door. (CA CCSS for ELA/Literacy W.6.3, W.7.3, W.8.3) Alternatively, students could use compound conditionals when writing a program to test whether two points lie along the line defined by a particular linear function. (CA CCSS for Mathematics 8.EE.7) Additionally, students could use nested loops to program a character to do the "chicken dance" by opening and closing the beak, flapping the wings, shaking the hips, and clapping four times each; this dance "chorus" is then repeated several times in its entirety.
Design and iteratively develop programs that combine control structures and use compound conditions.
Descriptive Statement:
Control structures can be combined in many ways. Nested loops are loops placed within loops, and nested conditionals allow the result of one conditional to lead to another. Compound conditions combine two or more conditions in a logical relationship (e.g., using AND, OR, and NOT). Students appropriately use control structures to perform repetitive and selection tasks. For example, when programming an interactive story, students could use a compound conditional within a loop to unlock a door only if a character has a key AND is touching the door. (CA CCSS for ELA/Literacy W.6.3, W.7.3, W.8.3) Alternatively, students could use compound conditionals when writing a program to test whether two points lie along the line defined by a particular linear function. (CA CCSS for Mathematics 8.EE.7) Additionally, students could use nested loops to program a character to do the "chicken dance" by opening and closing the beak, flapping the wings, shaking the hips, and clapping four times each; this dance "chorus" is then repeated several times in its entirety.
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: 6-8.AP.14
Grade Range:
6–8
Concept:
Algorithms & Programming
Subconcept:
Modularity
Practice(s):
Developing and Using Abstractions (4.1, 4.3)
Standard:
Create procedures with parameters to organize code and make it easier to reuse.
Descriptive Statement:
Procedures support modularity in developing programs. Parameters can provide greater flexibility, reusability, and efficient use of resources. Students create procedures and/or functions that are used multiple times within a program to repeat groups of instructions. They generalize the procedures and/or functions by defining parameters that generate different outputs for a wide range of inputs. For example, students could create a procedure to draw a circle which involves many instructions, but all of them can be invoked with one instruction, such as “drawCircle.” By adding a radius parameter, students can easily draw circles of different sizes. (CA CCSS for Mathematics 7.G.4) Alternatively, calculating the area of a regular polygon requires multiple steps. Students could write a function that accepts the number and length of the sides as parameters and then calculates the area of the polygon. This function can then be re-used inside any program to calculate the area of a regular polygon. (CA CCSS for Mathematics 6.G.1)
Create procedures with parameters to organize code and make it easier to reuse.
Descriptive Statement:
Procedures support modularity in developing programs. Parameters can provide greater flexibility, reusability, and efficient use of resources. Students create procedures and/or functions that are used multiple times within a program to repeat groups of instructions. They generalize the procedures and/or functions by defining parameters that generate different outputs for a wide range of inputs. For example, students could create a procedure to draw a circle which involves many instructions, but all of them can be invoked with one instruction, such as “drawCircle.” By adding a radius parameter, students can easily draw circles of different sizes. (CA CCSS for Mathematics 7.G.4) Alternatively, calculating the area of a regular polygon requires multiple steps. Students could write a function that accepts the number and length of the sides as parameters and then calculates the area of the polygon. This function can then be re-used inside any program to calculate the area of a regular polygon. (CA CCSS for Mathematics 6.G.1)
Standard Identifier: 9-12.AP.14
Grade Range:
9–12
Concept:
Algorithms & Programming
Subconcept:
Control
Practice(s):
Creating Computational Artifacts (5.2)
Standard:
Justify the selection of specific control structures by identifying tradeoffs associated with implementation, readability, and performance.
Descriptive Statement:
The selection of control structures in a given programming language impacts readability and performance. Readability refers to how clear the program is to other programmers and can be improved through documentation. Control structures at this level may include, for example, conditional statements, loops, event handlers, and recursion. Students justify control structure selection and tradeoffs in the process of creating their own computational artifacts. The discussion of performance is limited to a theoretical understanding of execution time and storage requirements; a quantitative analysis is not expected. For example, students could compare the readability and program performance of iterative and recursive implementations of procedures that calculate the Fibonacci sequence. Alternatively, students could compare the readability and performance tradeoffs of multiple if statements versus a nested if statement.
Justify the selection of specific control structures by identifying tradeoffs associated with implementation, readability, and performance.
Descriptive Statement:
The selection of control structures in a given programming language impacts readability and performance. Readability refers to how clear the program is to other programmers and can be improved through documentation. Control structures at this level may include, for example, conditional statements, loops, event handlers, and recursion. Students justify control structure selection and tradeoffs in the process of creating their own computational artifacts. The discussion of performance is limited to a theoretical understanding of execution time and storage requirements; a quantitative analysis is not expected. For example, students could compare the readability and program performance of iterative and recursive implementations of procedures that calculate the Fibonacci sequence. Alternatively, students could compare the readability and performance tradeoffs of multiple if statements versus a nested if statement.
Standard Identifier: 9-12.AP.15
Grade Range:
9–12
Concept:
Algorithms & Programming
Subconcept:
Control
Practice(s):
Creating Computational Artifacts (5.1, 5.2, 5.3)
Standard:
Iteratively design and develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
Descriptive Statement:
In this context, relevant computational artifacts can include programs, mobile apps, or web apps. Events can be user-initiated, such as a button press, or system-initiated, such as a timer firing. For example, students might create a tool for drawing on a canvas by first implementing a button to set the color of the pen. Alternatively, students might create a game where many events control instructions executed (e.g., when a score climbs above a threshold, a congratulatory sound is played; when a user clicks on an object, the object is loaded into a basket; when a user clicks on an arrow key, the player object is moved around the screen).
Iteratively design and develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
Descriptive Statement:
In this context, relevant computational artifacts can include programs, mobile apps, or web apps. Events can be user-initiated, such as a button press, or system-initiated, such as a timer firing. For example, students might create a tool for drawing on a canvas by first implementing a button to set the color of the pen. Alternatively, students might create a game where many events control instructions executed (e.g., when a score climbs above a threshold, a congratulatory sound is played; when a user clicks on an object, the object is loaded into a basket; when a user clicks on an arrow key, the player object is moved around the screen).
Showing 1 - 10 of 16 Standards
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881