Computer Science Standards
Results
Showing 1 - 10 of 12 Standards
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).
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: K-2.IC.18
Grade Range:
K–2
Concept:
Impacts of Computing
Subconcept:
Culture
Practice(s):
Recognizing and Defining Computational Problems (3.1)
Standard:
Compare how people lived and worked before and after the adoption of new computing technologies.
Descriptive Statement:
Computing technologies have changed the way people live and work. Students describe the positive and negative impacts of these changes. For example, as a class, students could create a timeline that includes advancements in computing technologies. Each student could then choose an advancement from the timeline and make a graphic organizer noting how people's lives were different before and after its introduction into society. Student responses could include: In the past, if students wanted to read about a topic, they needed access to a library to find a book about it. Today, students can view and read information on the Internet about a topic or they can download e-books about it directly to a device. Such information may be available in more than one language and could be read to a student, allowing for great accessibility. (HSS.K.6.3) Alternatively, students could retell or dramatize stories, myths, and fairy tales from two distinct time periods before and after a particular computing technology had been introduced. For example, the setting of one story could take place before smartphones had been invented, while a second setting could take place with smartphones in use by characters in the story. Students could note the positive and negative aspects of smartphones on the daily lives of the characters in the story. (VAPA Theatre Arts K.3.1, K.3.2, 1.2.2, 2.3.2) (CA CCSS for ELA/Literacy RL.K.2, RL.K.9, RL.1., RL.1.9, RL.2.2, RL.2.9)
Compare how people lived and worked before and after the adoption of new computing technologies.
Descriptive Statement:
Computing technologies have changed the way people live and work. Students describe the positive and negative impacts of these changes. For example, as a class, students could create a timeline that includes advancements in computing technologies. Each student could then choose an advancement from the timeline and make a graphic organizer noting how people's lives were different before and after its introduction into society. Student responses could include: In the past, if students wanted to read about a topic, they needed access to a library to find a book about it. Today, students can view and read information on the Internet about a topic or they can download e-books about it directly to a device. Such information may be available in more than one language and could be read to a student, allowing for great accessibility. (HSS.K.6.3) Alternatively, students could retell or dramatize stories, myths, and fairy tales from two distinct time periods before and after a particular computing technology had been introduced. For example, the setting of one story could take place before smartphones had been invented, while a second setting could take place with smartphones in use by characters in the story. Students could note the positive and negative aspects of smartphones on the daily lives of the characters in the story. (VAPA Theatre Arts K.3.1, K.3.2, 1.2.2, 2.3.2) (CA CCSS for ELA/Literacy RL.K.2, RL.K.9, RL.1., RL.1.9, RL.2.2, RL.2.9)
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.IC.20
Grade Range:
3–5
Concept:
Impacts of Computing
Subconcept:
Culture
Practice(s):
Recognizing and Defining Computational Problems (3.1)
Standard:
Discuss computing technologies that have changed the world, and express how those technologies influence, and are influenced by, cultural practices.
Descriptive Statement:
New computing technologies are created and existing technologies are modified for many reasons, including to increase their benefits, decrease their risks, and meet societal needs. Students, with guidance from their teacher, discuss topics that relate to the history of computing technologies and changes in the world due to these technologies. Topics could be based on current news content, such as robotics, wireless Internet, mobile computing devices, GPS systems, wearable computing, and how social media has influenced social and political changes. For example, students could conduct research in computing technologies that impact daily life such as self-driving cars. They engage in a collaborative discussion describing impacts of these advancements (e.g., self-driving cars could reduce crashes and decrease traffic, but there is a cost barrier to purchasing them). (CA CCSS for ELA/Literacy W.3.7, W.4.7, W.5.7, SL.3.1, SL.4.1, SL.5.1) Alternatively, students could discuss how technological advancements affected the entertainment industry and then compare and contrast the impacts on audiences. For instance, people with access to high-speed Internet may be able to choose to utilize streaming media (which may cost less than traditional media options), but those in rural areas may not have the same access and be able to reap those benefits. (VAPA Theatre Arts 4.3.2, 4.4.2)
Discuss computing technologies that have changed the world, and express how those technologies influence, and are influenced by, cultural practices.
Descriptive Statement:
New computing technologies are created and existing technologies are modified for many reasons, including to increase their benefits, decrease their risks, and meet societal needs. Students, with guidance from their teacher, discuss topics that relate to the history of computing technologies and changes in the world due to these technologies. Topics could be based on current news content, such as robotics, wireless Internet, mobile computing devices, GPS systems, wearable computing, and how social media has influenced social and political changes. For example, students could conduct research in computing technologies that impact daily life such as self-driving cars. They engage in a collaborative discussion describing impacts of these advancements (e.g., self-driving cars could reduce crashes and decrease traffic, but there is a cost barrier to purchasing them). (CA CCSS for ELA/Literacy W.3.7, W.4.7, W.5.7, SL.3.1, SL.4.1, SL.5.1) Alternatively, students could discuss how technological advancements affected the entertainment industry and then compare and contrast the impacts on audiences. For instance, people with access to high-speed Internet may be able to choose to utilize streaming media (which may cost less than traditional media options), but those in rural areas may not have the same access and be able to reap those benefits. (VAPA Theatre Arts 4.3.2, 4.4.2)
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: 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.
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.IC.23
Grade Range:
9–12
Concept:
Impacts of Computing
Subconcept:
Culture
Practice(s):
Fostering an Inclusive Computing Culture, Recognizing and Defining Computational Problems (1.2, 3.1)
Standard:
Evaluate the ways computing impacts personal, ethical, social, economic, and cultural practices.
Descriptive Statement:
Computing may improve, harm, or maintain practices. An understanding of how equity deficits, such as minimal exposure to computing, access to education, and training opportunities, are related to larger, systemic problems in society enables students to create more meaningful artifacts. Students illustrate the positive, negative, and/or neutral impacts of computing. For example, students could evaluate the accessibility of a product for a broad group of end users, such as people who lack access to broadband or who have various disabilities. Students could identify potential bias during the design process and evaluate approaches to maximize accessibility in product design. Alternatively, students could evaluate the impact of social media on cultural, economic, and social practices around the world.
Evaluate the ways computing impacts personal, ethical, social, economic, and cultural practices.
Descriptive Statement:
Computing may improve, harm, or maintain practices. An understanding of how equity deficits, such as minimal exposure to computing, access to education, and training opportunities, are related to larger, systemic problems in society enables students to create more meaningful artifacts. Students illustrate the positive, negative, and/or neutral impacts of computing. For example, students could evaluate the accessibility of a product for a broad group of end users, such as people who lack access to broadband or who have various disabilities. Students could identify potential bias during the design process and evaluate approaches to maximize accessibility in product design. Alternatively, students could evaluate the impact of social media on cultural, economic, and social practices around the world.
Standard Identifier: 9-12.IC.25
Grade Range:
9–12
Concept:
Impacts of Computing
Subconcept:
Culture
Practice(s):
Recognizing and Defining Computational Problems (3.1)
Standard:
Demonstrate ways a given algorithm applies to problems across disciplines.
Descriptive Statement:
Students identify how a given algorithm can be applied to real-world problems in different disciplines. For example, students could demonstrate how a randomization algorithm can be used to select participants for a clinical medical trial or to select a flash card to display on a vocabulary quiz. Alternatively, students could demonstrate how searching and sorting algorithms are needed to organize records in manufacturing settings, or to support doctors queries of patient records, or to help governments manage support services they provide to their citizens.
Demonstrate ways a given algorithm applies to problems across disciplines.
Descriptive Statement:
Students identify how a given algorithm can be applied to real-world problems in different disciplines. For example, students could demonstrate how a randomization algorithm can be used to select participants for a clinical medical trial or to select a flash card to display on a vocabulary quiz. Alternatively, students could demonstrate how searching and sorting algorithms are needed to organize records in manufacturing settings, or to support doctors queries of patient records, or to help governments manage support services they provide to their citizens.
Standard Identifier: 9-12S.AP.21
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Testing and Refining Computational Artifacts (6.2)
Standard:
Identify and fix security issues that might compromise computer programs.
Descriptive Statement:
Some common forms of security issues arise from specific programming languages, platforms, or program implementation choices. Students read a given a piece of code that contains a common security vulnerability, explain the code's intended function or purpose, provide and explain examples of how a specific input could exploit that vulnerability (e.g., the program accessing data or performing in unintended ways), and implement a change in the code to mitigate this vulnerability. For example, students could review code that takes a date as input, recognize that the code doesn't check for appropriate last days of the month, and modify the code to do that. Alternatively, students could review code that supports entry of patient data (e.g., height and weight) and doesn't prompt users to double check unreasonable values (e.g., height at 6 feet and weight at 20 pounds).
Identify and fix security issues that might compromise computer programs.
Descriptive Statement:
Some common forms of security issues arise from specific programming languages, platforms, or program implementation choices. Students read a given a piece of code that contains a common security vulnerability, explain the code's intended function or purpose, provide and explain examples of how a specific input could exploit that vulnerability (e.g., the program accessing data or performing in unintended ways), and implement a change in the code to mitigate this vulnerability. For example, students could review code that takes a date as input, recognize that the code doesn't check for appropriate last days of the month, and modify the code to do that. Alternatively, students could review code that supports entry of patient data (e.g., height and weight) and doesn't prompt users to double check unreasonable values (e.g., height at 6 feet and weight at 20 pounds).
Standard Identifier: 9-12S.AP.22
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Testing and Refining Computational Artifacts (6.1)
Standard:
Develop and use a series of test cases to verify that a program performs according to its design specifications.
Descriptive Statement:
Testing software is a critically important process. The ability of students to identify a set of important test cases communicates their understanding of the design specifications and potential issues due to implementation choices. Students select and apply their own test cases to cover both general behavior and the edge cases which show behavior at boundary conditions. For example, for a program that is supposed to accept test scores in the range of [0,100], students could develop appropriate tests (e.g, a negative value, 0, 100, and a value above 100). Alternatively, students developing an app to allow users to create and store calendar appointments could develop and use a series of test cases for various scenarios including checking for correct dates, flagging for user confirmation when a calendar event is very long, checking for correct email address format for invitees, and checking for appropriate screen display as users go through the process of adding, editing, and deleting events.
Develop and use a series of test cases to verify that a program performs according to its design specifications.
Descriptive Statement:
Testing software is a critically important process. The ability of students to identify a set of important test cases communicates their understanding of the design specifications and potential issues due to implementation choices. Students select and apply their own test cases to cover both general behavior and the edge cases which show behavior at boundary conditions. For example, for a program that is supposed to accept test scores in the range of [0,100], students could develop appropriate tests (e.g, a negative value, 0, 100, and a value above 100). Alternatively, students developing an app to allow users to create and store calendar appointments could develop and use a series of test cases for various scenarios including checking for correct dates, flagging for user confirmation when a calendar event is very long, checking for correct email address format for invitees, and checking for appropriate screen display as users go through the process of adding, editing, and deleting events.
Showing 1 - 10 of 12 Standards
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881