Skip to main content
California Department of Education Logo

Computer Science Standards




Results


Showing 1 - 10 of 15 Standards

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.

Standard Identifier: K-2.AP.16

Grade Range: K–2
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Testing and Refining Computational Artifacts (6.2)

Standard:
Debug errors in an algorithm or program that includes sequences and simple loops.

Descriptive Statement:
Algorithms or programs may not always work correctly. Students use various strategies, such as changing the sequence of the steps, following the algorithm in a step-by-step manner, or trial and error to fix problems in algorithms and programs. For example, when given images placed in a random order, students could give step-by-step commands to direct a robot, or a student playing a robot, to navigate to the images in the correct sequence. Examples of images include storyboard cards from a familiar story (CA CCSS for ELA/Literacy RL.K.2, RL.1.2, RL.2.2) and locations of the sun at different times of the day (CA NGSS: 1-ESS1-1). Alternatively, students could "program" the teacher or another classmate by giving precise instructions to make a peanut butter and jelly sandwich or navigate around the classroom. When the teacher or classmate doesn't respond as intended, students correct their commands. Additionally, students could receive a partially completed soundboard program that has a variety of animals programmed to play a corresponding sound when the user touches them. Students correct any sounds that don't match the animal (e.g., if the cat moos, students change the moo sound to meow).

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)

Standard Identifier: 3-5.AP.17

Grade Range: 3–5
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Testing and Refining Computational Artifacts (6.2)

Standard:
Test and debug a program or algorithm to ensure it accomplishes the intended task.

Descriptive Statement:
Programs do not always run properly. Students need to understand how to test and make necessary corrections to their programs to ensure they run properly. Students successfully identify and fix errors in (debug) their programs and programs created by others. Debugging strategies at this level may include testing to determine the first place the solution is in error and fixing accordingly, leaving "breadcrumbs" in a program, and soliciting assistance from peers and online resources. For example, when students are developing a program to control the movement of a robot in a confined space, students test various inputs that control movement of the robot to make sure it behaves as intended (e.g., if an input would cause the robot to move past a wall of the confined space, it should not move at all). (CA NGSS: 3-5-ETS1-3) Additionally, students could test and debug an algorithm by tracing the inputs and outputs on a whiteboard. When noticing "bugs" (errors), students could identify what was supposed to happen and step through the algorithm to locate and then correct the error.

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)

Standard Identifier: 6-8.AP.17

Grade Range: 6–8
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Testing and Refining Computational Artifacts (6.1)

Standard:
Systematically test and refine programs using a range of test cases.

Descriptive Statement:
Use cases and test cases are created to evaluate whether programs function as intended. At this level, students develop use cases and test cases with teacher guidance. Testing should become a deliberate process that is more iterative, systematic, and proactive than at lower levels. For example, students test programs by considering potential errors, such as what will happen if a user enters invalid input (e.g., negative numbers and 0 instead of positive numbers). Alternatively, in an interactive program, students could test that the character cannot move off of the screen in any direction, cannot move through walls, and can interact with other characters. They then adjust character behavior as needed.

Standard Identifier: 6-8.DA.9

Grade Range: 6–8
Concept: Data & Analysis
Subconcept: Inference & Models
Practice(s): Developing and Using Abstractions, Testing and Refining Computational Artifacts (4.4, 6.1)

Standard:
Test and analyze the effects of changing variables while using computational models.

Descriptive Statement:
Variables within a computational model may be changed, in order to alter a computer simulation or to more accurately represent how various data is related. Students interact with a given model, make changes to identified model variables, and observe and reflect upon the results. For example, students could test a program that makes a robot move on a track by making changes to variables (e.g., height and angle of track, size and mass of the robot) and discussing how these changes affect how far the robot travels. (CA NGSS: MS-PS2-2) Alternatively, students could test a game simulation and change variables (e.g., skill of simulated players, nature of opening moves) and analyze how these changes affect who wins the game. (CA NGSS: MS-ETS1-3) Additionally, students could modify a model for predicting the likely color of the next pick from a bag of colored candy and analyze the effects of changing variables representing the common color ratios in a typical bag of candy. (CA CCSS for Mathematics 7.SP.7, 8.SP.4)

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.

Standard Identifier: 9-12.AP.20

Grade Range: 9–12
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Testing and Refining Computational Artifacts (6.3)

Standard:
Iteratively evaluate and refine a computational artifact to enhance its performance, reliability, usability, and accessibility.

Descriptive Statement:
Evaluation and refinement of computational artifacts involves measuring, testing, debugging, and responding to the changing needs and expectations of users. Aspects that can be evaluated include correctness, performance, reliability, usability, and accessibility. For example, after witnessing common errors with user input in a computational artifact, students could refine the artifact to validate user input and provide an error message if invalid data is provided. Alternatively, students could observe a robot in a variety of lighting conditions to determine whether the code controlling a light sensor should be modified to make it less sensitive. Additionally, students could also incorporate feedback from a variety of end users to help guide the size and placement of menus and buttons in a user interface.

Standard Identifier: 9-12.DA.11

Grade Range: 9–12
Concept: Data & Analysis
Subconcept: Inference & Models
Practice(s): Developing and Using Abstractions, Testing and Refining Computational Artifacts (4.4, 6.3)

Standard:
Refine computational models to better represent the relationships among different elements of data collected from a phenomenon or process.

Descriptive Statement:
Computational models are used to make predictions about processes or phenomena based on selected data and features. They allow people to investigate the relationships among different variables to understand a system. Predictions are tested to validate models. Students evaluate these models against real-world observations. For example, students could use a population model that allows them to speculate about interactions among different species, evaluate the model based on data gathered from nature, and then refine the model to reflect more complex and realistic interactions.

Showing 1 - 10 of 15 Standards


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