Computer Science Standards
Results
Showing 11 - 20 of 42 Standards
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.
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: 3-5.AP.18
Grade Range:
3–5
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Collaborating Around Computing (2.2)
Standard:
Perform different roles when collaborating with peers during the design, implementation, and review stages of program development.
Descriptive Statement:
Collaborative computing is the process of creating computational artifacts by working in pairs or on teams. It involves asking for the contributions and feedback of others. Effective collaboration can often lead to better outcomes than working independently. With teacher guidance, students take turns in different roles during program development, such as driver, navigator, notetaker, facilitator, and debugger, as they design and implement their program. For example, while taking on different roles during program development, students could create and maintain a journal about their experiences working collaboratively. (CA CCSS for ELA/Literacy W.3.10, W.4.10, W.5.10) (CA NGSS: 3-5-ETS1-2)
Perform different roles when collaborating with peers during the design, implementation, and review stages of program development.
Descriptive Statement:
Collaborative computing is the process of creating computational artifacts by working in pairs or on teams. It involves asking for the contributions and feedback of others. Effective collaboration can often lead to better outcomes than working independently. With teacher guidance, students take turns in different roles during program development, such as driver, navigator, notetaker, facilitator, and debugger, as they design and implement their program. For example, while taking on different roles during program development, students could create and maintain a journal about their experiences working collaboratively. (CA CCSS for ELA/Literacy W.3.10, W.4.10, W.5.10) (CA NGSS: 3-5-ETS1-2)
Standard Identifier: 3-5.AP.19
Grade Range:
3–5
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Communicating About Computing (7.2)
Standard:
Describe choices made during program development using code comments, presentations, and demonstrations.
Descriptive Statement:
People communicate about their code to help others understand and use their programs. Explaining one's design choices gives others a better understanding of one's work. Students may explain their step-by-step process of creating a program in a presentation or demonstration of their personal code journals. They describe how comments within code organize thought and process during the develpment of the program. For example, students could describe the decision to have the score in a game flash when it can be rounded to 100 by writing a comment in the code. (CA CCSS for Mathematics 3.NBT.1) Alternatively, students could present their overall program development experience and justify choices made by using storyboards, annotated images, videos, and/or journal entries. (CA CCSS for ELA/Literacy SL.3.4, SL.4.4, SL.5.4, SL.3.5, SL.4.5, SL.5.5) (CA NGSS: 3-5-ETS1-1, 3.5-ETS1-2, 3.5-ETS1-3)
Describe choices made during program development using code comments, presentations, and demonstrations.
Descriptive Statement:
People communicate about their code to help others understand and use their programs. Explaining one's design choices gives others a better understanding of one's work. Students may explain their step-by-step process of creating a program in a presentation or demonstration of their personal code journals. They describe how comments within code organize thought and process during the develpment of the program. For example, students could describe the decision to have the score in a game flash when it can be rounded to 100 by writing a comment in the code. (CA CCSS for Mathematics 3.NBT.1) Alternatively, students could present their overall program development experience and justify choices made by using storyboards, annotated images, videos, and/or journal entries. (CA CCSS for ELA/Literacy SL.3.4, SL.4.4, SL.5.4, SL.3.5, SL.4.5, SL.5.5) (CA NGSS: 3-5-ETS1-1, 3.5-ETS1-2, 3.5-ETS1-3)
Standard Identifier: 3-5.DA.9
Grade Range:
3–5
Concept:
Data & Analysis
Subconcept:
Inference & Models
Practice(s):
Communicating About Computing (7.1)
Standard:
Use data to highlight and/or propose relationships, predict outcomes, or communicate ideas.
Descriptive Statement:
The accuracy of data analysis is related to how the data is represented. Inferences or predictions based on data are less likely to be accurate if the data is insufficient, incomplete, or inaccurate or if the data is incorrect in some way. Additionally, people select aspects and subsets of data to be transformed, organized, and categorized. Students should be able to refer to data when communicating an idea, in order to highlight and/or propose relationships, predict outcomes, highlight different views and/or communicate insights and ideas. For example, students can be provided a scenario in which they are city managers who have a specific amount of funds to improve a city in California. Students can collect data of a city concerning land use, vegetation, wildlife, climate, population density, services and transportation (HSS.4.1.5) to determine and present what area needs to be focused on to improve a problem. Students can compare their data and planned use of funds with peers, clearly communicating or predict outcomes based on data collected. (CA CCCS for ELA/Literacy SL.3.1, SL.4.1, SL.5.1) Alternatively, students could record the temperature at noon each day to show that temperatures are higher in certain months of the year. If temperatures are not recorded on non-school days or are recorded incorrectly, the data would be incomplete and ideas being communicated could be inaccurate. Students may also record the day of the week on which the data was collected, but this would have no relevance to whether temperatures are higher or lower. In order to have sufficient and accurate data on which to communicate the idea, students might use data provided by a governmental weather agency. (CA NGSS: 3-ESS2-1)
Use data to highlight and/or propose relationships, predict outcomes, or communicate ideas.
Descriptive Statement:
The accuracy of data analysis is related to how the data is represented. Inferences or predictions based on data are less likely to be accurate if the data is insufficient, incomplete, or inaccurate or if the data is incorrect in some way. Additionally, people select aspects and subsets of data to be transformed, organized, and categorized. Students should be able to refer to data when communicating an idea, in order to highlight and/or propose relationships, predict outcomes, highlight different views and/or communicate insights and ideas. For example, students can be provided a scenario in which they are city managers who have a specific amount of funds to improve a city in California. Students can collect data of a city concerning land use, vegetation, wildlife, climate, population density, services and transportation (HSS.4.1.5) to determine and present what area needs to be focused on to improve a problem. Students can compare their data and planned use of funds with peers, clearly communicating or predict outcomes based on data collected. (CA CCCS for ELA/Literacy SL.3.1, SL.4.1, SL.5.1) Alternatively, students could record the temperature at noon each day to show that temperatures are higher in certain months of the year. If temperatures are not recorded on non-school days or are recorded incorrectly, the data would be incomplete and ideas being communicated could be inaccurate. Students may also record the day of the week on which the data was collected, but this would have no relevance to whether temperatures are higher or lower. In order to have sufficient and accurate data on which to communicate the idea, students might use data provided by a governmental weather agency. (CA NGSS: 3-ESS2-1)
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: 6-8.AP.15
Grade Range:
6–8
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Fostering an Inclusive Computing Culture, Collaborating Around Computing (1.1, 2.3)
Standard:
Seek and incorporate feedback from team members and users to refine a solution that meets user needs.
Descriptive Statement:
Development teams that employ user-centered design processes create solutions (e.g., programs and devices) that can have a large societal impact (e.g., an app that allows people with speech difficulties to allow a smartphone to clarify their speech). Students begin to seek diverse perspectives throughout the design process to improve their computational artifacts. Considerations of the end-user may include usability, accessibility, age-appropriate content, respectful language, user perspective, pronoun use, or color contrast. For example, if students are designing an app to teach their classmates about recycling, they could first interview or survey their classmates to learn what their classmates already know about recycling and why they do or do not recycle. After building a prototype of the app, the students could then test the app with a sample of their classmates to see if they learned anything from the app and if they had difficulty using the app (e.g., trouble reading or understanding text). After gathering interview data, students could refine the app to meet classmate needs. (CA NGSS: MS-ETS1-4)
Seek and incorporate feedback from team members and users to refine a solution that meets user needs.
Descriptive Statement:
Development teams that employ user-centered design processes create solutions (e.g., programs and devices) that can have a large societal impact (e.g., an app that allows people with speech difficulties to allow a smartphone to clarify their speech). Students begin to seek diverse perspectives throughout the design process to improve their computational artifacts. Considerations of the end-user may include usability, accessibility, age-appropriate content, respectful language, user perspective, pronoun use, or color contrast. For example, if students are designing an app to teach their classmates about recycling, they could first interview or survey their classmates to learn what their classmates already know about recycling and why they do or do not recycle. After building a prototype of the app, the students could then test the app with a sample of their classmates to see if they learned anything from the app and if they had difficulty using the app (e.g., trouble reading or understanding text). After gathering interview data, students could refine the app to meet classmate needs. (CA NGSS: MS-ETS1-4)
Standard Identifier: 6-8.AP.16
Grade Range:
6–8
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Developing and Using Abstractions, Creating Computational Artifacts, Communicating About Computing (4.2, 5.2, 7.3)
Standard:
Incorporate existing code, media, and libraries into original programs, and give attribution.
Descriptive Statement:
Building on the work of others enables students to produce more interesting and powerful creations. Students use portions of code, algorithms, digital media, and/or data created by others in their own programs and websites. They give attribution to the original creators to acknowledge their contributions. For example, when creating a side-scrolling game, students may incorporate portions of code that create a realistic jump movement from another person's game, and they may also import Creative Commons-licensed images to use in the background. Alternatively, when creating a website to demonstrate their knowledge of historical figures from the Civil War, students may use a professionally-designed template and public domain images of historical figures. (HSS.8.10.5) Additionally, students could import libraries and connect to web application program interfaces (APIs) to make their own programming processes more efficient and reduce the number of bugs (e.g., to check whether the user input is a valid date, to input the current temperature from another city).
Incorporate existing code, media, and libraries into original programs, and give attribution.
Descriptive Statement:
Building on the work of others enables students to produce more interesting and powerful creations. Students use portions of code, algorithms, digital media, and/or data created by others in their own programs and websites. They give attribution to the original creators to acknowledge their contributions. For example, when creating a side-scrolling game, students may incorporate portions of code that create a realistic jump movement from another person's game, and they may also import Creative Commons-licensed images to use in the background. Alternatively, when creating a website to demonstrate their knowledge of historical figures from the Civil War, students may use a professionally-designed template and public domain images of historical figures. (HSS.8.10.5) Additionally, students could import libraries and connect to web application program interfaces (APIs) to make their own programming processes more efficient and reduce the number of bugs (e.g., to check whether the user input is a valid date, to input the current temperature from another city).
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.
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.AP.18
Grade Range:
6–8
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Collaborating Around Computing, Creating Computational Artifacts (2.2, 5.1)
Standard:
Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.
Descriptive Statement:
Collaboration is a common and crucial practice in programming development. Often, many individuals and groups work on the interdependent parts of a project together. Students assume pre-defined roles within their teams and manage the project workflow using structured timelines. With teacher guidance, they begin to create collective goals, expectations, and equitable workloads. For example, students could decompose the design stage of a game into planning the storyboard, flowchart, and different parts of the game mechanics. They can then distribute tasks and roles among members of the team and assign deadlines. Alternatively, students could work as a team to develop a storyboard for an animation representing a written narrative, and then program the scenes individually. (CA CCSS for ELA/Literacy W.6.3, W.7.3, W.8.3)
Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.
Descriptive Statement:
Collaboration is a common and crucial practice in programming development. Often, many individuals and groups work on the interdependent parts of a project together. Students assume pre-defined roles within their teams and manage the project workflow using structured timelines. With teacher guidance, they begin to create collective goals, expectations, and equitable workloads. For example, students could decompose the design stage of a game into planning the storyboard, flowchart, and different parts of the game mechanics. They can then distribute tasks and roles among members of the team and assign deadlines. Alternatively, students could work as a team to develop a storyboard for an animation representing a written narrative, and then program the scenes individually. (CA CCSS for ELA/Literacy W.6.3, W.7.3, W.8.3)
Showing 11 - 20 of 42 Standards
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881