Computer Science Standards
Results
Showing 1 - 10 of 12 Standards
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: 3-5.IC.21
Grade Range:
3–5
Concept:
Impacts of Computing
Subconcept:
Culture
Practice(s):
Fostering an Inclusive Computing Culture (1.2)
Standard:
Propose ways to improve the accessibility and usability of technology products for the diverse needs and wants of users.
Descriptive Statement:
The development and modification of computing technology is driven by people’s needs and wants and can affect groups differently. Students anticipate the needs and wants of diverse end users and propose ways to improve access and usability of technology, with consideration of potential perspectives of users with different backgrounds, ability levels, points of view, and disabilities. For example, students could research a wide variety of disabilities that would limit the use of traditional computational tools for the creation of multimedia artifacts, including digital images, songs, and videos. Students could then brainstorm and propose new software that would allow students that are limited by the disabilities to create similar artifacts in new ways (e.g., graphical display of music for the deaf, the sonification of images for visually impaired students, voice input for those that are unable to use traditional input like the mouse and the keyboard). (CA CCSS for ELA/Literacy W.3.7, W.4.7, W.5.7) Alternatively, as they anticipate unique user needs, students may consider using both speech and text to convey information in a game. They may also wish to vary the types of programs they create, knowing that not everyone shares their own tastes. (CA NGSS: 3-5-ETS1-1, 3-5-ETS1-2, 3-5-ETS1-3)
Propose ways to improve the accessibility and usability of technology products for the diverse needs and wants of users.
Descriptive Statement:
The development and modification of computing technology is driven by people’s needs and wants and can affect groups differently. Students anticipate the needs and wants of diverse end users and propose ways to improve access and usability of technology, with consideration of potential perspectives of users with different backgrounds, ability levels, points of view, and disabilities. For example, students could research a wide variety of disabilities that would limit the use of traditional computational tools for the creation of multimedia artifacts, including digital images, songs, and videos. Students could then brainstorm and propose new software that would allow students that are limited by the disabilities to create similar artifacts in new ways (e.g., graphical display of music for the deaf, the sonification of images for visually impaired students, voice input for those that are unable to use traditional input like the mouse and the keyboard). (CA CCSS for ELA/Literacy W.3.7, W.4.7, W.5.7) Alternatively, as they anticipate unique user needs, students may consider using both speech and text to convey information in a game. They may also wish to vary the types of programs they create, knowing that not everyone shares their own tastes. (CA NGSS: 3-5-ETS1-1, 3-5-ETS1-2, 3-5-ETS1-3)
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.IC.21
Grade Range:
6–8
Concept:
Impacts of Computing
Subconcept:
Culture
Practice(s):
Fostering an Inclusive Computing Culture (1.2)
Standard:
Discuss issues of bias and accessibility in the design of existing technologies.
Descriptive Statement:
Computing technologies should support users of many backgrounds and abilities. In order to maximize accessiblity, these differences need to be addressed by examining diverse populations. With the teacher's guidance, students test and discuss the usability of various technology tools, such as apps, games, and devices. For example, students could discuss the impacts of facial recognition software that works better for lighter skin tones and recognize that the software was likely developed with a homogeneous testing group. Students could then discuss how accessibility could be improved by sampling a more diverse population. (CA CCSS for ELA/Literacy SL.6.1, SL.7.1, SL.8.1)
Discuss issues of bias and accessibility in the design of existing technologies.
Descriptive Statement:
Computing technologies should support users of many backgrounds and abilities. In order to maximize accessiblity, these differences need to be addressed by examining diverse populations. With the teacher's guidance, students test and discuss the usability of various technology tools, such as apps, games, and devices. For example, students could discuss the impacts of facial recognition software that works better for lighter skin tones and recognize that the software was likely developed with a homogeneous testing group. Students could then discuss how accessibility could be improved by sampling a more diverse population. (CA CCSS for ELA/Literacy SL.6.1, SL.7.1, SL.8.1)
Standard Identifier: 9-12.AP.17
Grade Range:
9–12
Concept:
Algorithms & Programming
Subconcept:
Modularity
Practice(s):
Developing and Using Abstractions, Creating Computational Artifacts (4.3, 5.2)
Standard:
Create computational artifacts using modular design.
Descriptive Statement:
Computational artifacts are created by combining and modifying existing computational artifacts and/or by developing new artifacts. To reduce complexity, large programs can be designed as systems of interacting modules, each with a specific role, coordinating for a common overall purpose. Students should create computational artifacts with interacting procedures, modules, and/or libraries. For example, students could incorporate a physics library into an animation of bouncing balls. Alternatively, students could integrate open-source JavaScript libraries to expand the functionality of a web application. Additionally, students could create their own game to teach Spanish vocabulary words using their own modular design (e.g., including methods to: control scoring, manage wordlists, manage access to different game levels, take input from the user, etc.).
Create computational artifacts using modular design.
Descriptive Statement:
Computational artifacts are created by combining and modifying existing computational artifacts and/or by developing new artifacts. To reduce complexity, large programs can be designed as systems of interacting modules, each with a specific role, coordinating for a common overall purpose. Students should create computational artifacts with interacting procedures, modules, and/or libraries. For example, students could incorporate a physics library into an animation of bouncing balls. Alternatively, students could integrate open-source JavaScript libraries to expand the functionality of a web application. Additionally, students could create their own game to teach Spanish vocabulary words using their own modular design (e.g., including methods to: control scoring, manage wordlists, manage access to different game levels, take input from the user, etc.).
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.24
Grade Range:
9–12
Concept:
Impacts of Computing
Subconcept:
Culture
Practice(s):
Fostering an Inclusive Computing Culture (1.2)
Standard:
Identify impacts of bias and equity deficit on design and implementation of computational artifacts and apply appropriate processes for evaluating issues of bias.
Descriptive Statement:
Biases could include incorrect assumptions developers have made about their users, including minimal exposure to computing, access to education, and training opportunities. Students identify and use strategies to test and refine computational artifacts with the goal of reducing bias and equity deficits and increasing universal access. For example, students could use a spreadsheet to chart various forms of equity deficits, and identify solutions in existing software. Students could use and refine the spreadsheet solutions to create a strategy for methodically testing software specifically for bias and equity.
Identify impacts of bias and equity deficit on design and implementation of computational artifacts and apply appropriate processes for evaluating issues of bias.
Descriptive Statement:
Biases could include incorrect assumptions developers have made about their users, including minimal exposure to computing, access to education, and training opportunities. Students identify and use strategies to test and refine computational artifacts with the goal of reducing bias and equity deficits and increasing universal access. For example, students could use a spreadsheet to chart various forms of equity deficits, and identify solutions in existing software. Students could use and refine the spreadsheet solutions to create a strategy for methodically testing software specifically for bias and equity.
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.
Standard Identifier: 9-12S.AP.17
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Modularity
Practice(s):
Developing and Using Abstractions, Creating Computational Artifacts (4.3, 5.2)
Standard:
Construct solutions to problems using student-created components, such as procedures, modules, and/or objects.
Descriptive Statement:
Programmers often address complex tasks through design and decomposition using procedures and/or modules. In object-oriented programming languages, classes can support this decomposition. Students create a computational artifact that solves a problem through use of procedures, modules, and/or objects. This problem should be of sufficient complexity to benefit from decomposition and/or use of objects. For example, students could write a flashcard program in which each card is able to show both the question and answer and record user history. Alternatively, students could create a simulation of an ecosystem in which sprites carry out behaviors, such as consuming resources.
Construct solutions to problems using student-created components, such as procedures, modules, and/or objects.
Descriptive Statement:
Programmers often address complex tasks through design and decomposition using procedures and/or modules. In object-oriented programming languages, classes can support this decomposition. Students create a computational artifact that solves a problem through use of procedures, modules, and/or objects. This problem should be of sufficient complexity to benefit from decomposition and/or use of objects. For example, students could write a flashcard program in which each card is able to show both the question and answer and record user history. Alternatively, students could create a simulation of an ecosystem in which sprites carry out behaviors, such as consuming resources.
Standard Identifier: 9-12S.AP.18
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Modularity
Practice(s):
Developing and Using Abstractions, Creating Computational Artifacts, Testing and Refining Computational Artifacts (4.2, 5.3, 6.2)
Standard:
Demonstrate code reuse by creating programming solutions using libraries and APIs.
Descriptive Statement:
Code reuse is critical both for managing complexity in modern programs, but also in increasing programming efficiency and reliability by having programmers reuse code that has been highly vetted and tested. Software libraries allow developers to integrate common and often complex functionality without having to reimplement that functionality from scratch. Students identify, evaluate, and select appropriate application programming interfaces (APIs) from software libraries to use with a given language and operating system. They appropriately use resources such as technical documentation, online forums, and developer communities to learn about libraries and troubleshoot problems with APIs that they have chosen. For example, students could import charting and graphing modules to display data sets, adopt an online service that provides cloud storage and retrieval for a database used in a multiplayer game, or import location services into an app that identifies points of interest on a map. Libraries of APIs can be student-created or publicly available (e.g., common graphics libraries or map/navigation APIs).
Demonstrate code reuse by creating programming solutions using libraries and APIs.
Descriptive Statement:
Code reuse is critical both for managing complexity in modern programs, but also in increasing programming efficiency and reliability by having programmers reuse code that has been highly vetted and tested. Software libraries allow developers to integrate common and often complex functionality without having to reimplement that functionality from scratch. Students identify, evaluate, and select appropriate application programming interfaces (APIs) from software libraries to use with a given language and operating system. They appropriately use resources such as technical documentation, online forums, and developer communities to learn about libraries and troubleshoot problems with APIs that they have chosen. For example, students could import charting and graphing modules to display data sets, adopt an online service that provides cloud storage and retrieval for a database used in a multiplayer game, or import location services into an app that identifies points of interest on a map. Libraries of APIs can be student-created or publicly available (e.g., common graphics libraries or map/navigation APIs).
Showing 1 - 10 of 12 Standards
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881