Computer Science Standards
Remove this criterion from the search
Add a Concept
Remove this criterion from the search
Algorithms & Programming
Remove this criterion from the search
Computing Systems
Remove this criterion from the search
Data & Analysis
Remove this criterion from the search
Impacts of Computing
Remove this criterion from the search
Networks & the Internet
Remove this criterion from the search
Collection, Visualization, & Transformation
Remove this criterion from the search
Cybersecurity
Remove this criterion from the search
Modularity
Remove this criterion from the search
Program Development
Remove this criterion from the search
Social Interactions
Remove this criterion from the search
Troubleshooting
Remove this criterion from the search
Variables
Results
Showing 1 - 10 of 19 Standards
Standard Identifier: K-2.AP.14
Grade Range:
K–2
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Creating Computational Artifacts, Communicating About Computing (5.1, 7.2)
Standard:
Develop plans that describe a program’s sequence of events, goals, and expected outcomes.
Descriptive Statement:
Creating a plan for what a program will do clarifies the steps that will be needed to create the program and can be used to check if a program runs as expected. Students create a planning document to illustrate their program's sequence of events, goals, and expected outcomes of what their program will do. Planning documents could include a story map, a storyboard, or a sequential graphic organizer, to illustrate their program's sequence of events, goals, and expected outcomes of what their program will do. Students at this level may complete the planning process with help from the teacher. For example, students could create a storyboard or timeline that represents a family's history, leading to their current location of residence. Students could then create a plan for a program that animates the story of family locations. (HSS 2.1.1) (CA CCSS for ELA/Literacy W.K.3, W.1.3, W.2.3)
Develop plans that describe a program’s sequence of events, goals, and expected outcomes.
Descriptive Statement:
Creating a plan for what a program will do clarifies the steps that will be needed to create the program and can be used to check if a program runs as expected. Students create a planning document to illustrate their program's sequence of events, goals, and expected outcomes of what their program will do. Planning documents could include a story map, a storyboard, or a sequential graphic organizer, to illustrate their program's sequence of events, goals, and expected outcomes of what their program will do. Students at this level may complete the planning process with help from the teacher. For example, students could create a storyboard or timeline that represents a family's history, leading to their current location of residence. Students could then create a plan for a program that animates the story of family locations. (HSS 2.1.1) (CA CCSS for ELA/Literacy W.K.3, W.1.3, W.2.3)
Standard Identifier: 3-5.AP.11
Grade Range:
3–5
Concept:
Algorithms & Programming
Subconcept:
Variables
Practice(s):
Creating Computational Artifacts (5.2)
Standard:
Create programs that use variables to store and modify data.
Descriptive Statement:
Variables are used to store and modify data. Students use variables in programs they create. At this level, students may need guidance in identifying when to create variables (i.e., performing the abstraction). For example, students could create a game to represent predators and prey in an ecosystem. They could declare a "score" variable, assign it to 0 at the start of the game, and add 1 (increment) the score each time the predator captures its prey. They could also declare a second "numberOfLives" variable, assign it to 3 at the start of the game, and subtract 1 (decrement) each time a prey is captured. They could program the game to end when "numberOfLives" equals 0. (CA NGSS: 5-LS2-1) (CA CCSS for Mathematics 5.OA.3) Alternatively, when students create programs to draw regular polygons, they could use variables to store the line size, line color, and/or side length. Students can extend learning by creatively combining a variety of polygons to create digital artwork, comparing and contrasting this to another work of art made by the use of different art tools and media, such as watercolor or tempera paints. (CA CCSS for Mathematics 3.G.1) (VAPA Visual Arts 3.1.4)
Create programs that use variables to store and modify data.
Descriptive Statement:
Variables are used to store and modify data. Students use variables in programs they create. At this level, students may need guidance in identifying when to create variables (i.e., performing the abstraction). For example, students could create a game to represent predators and prey in an ecosystem. They could declare a "score" variable, assign it to 0 at the start of the game, and add 1 (increment) the score each time the predator captures its prey. They could also declare a second "numberOfLives" variable, assign it to 3 at the start of the game, and subtract 1 (decrement) each time a prey is captured. They could program the game to end when "numberOfLives" equals 0. (CA NGSS: 5-LS2-1) (CA CCSS for Mathematics 5.OA.3) Alternatively, when students create programs to draw regular polygons, they could use variables to store the line size, line color, and/or side length. Students can extend learning by creatively combining a variety of polygons to create digital artwork, comparing and contrasting this to another work of art made by the use of different art tools and media, such as watercolor or tempera paints. (CA CCSS for Mathematics 3.G.1) (VAPA Visual Arts 3.1.4)
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.AP.15
Grade Range:
3–5
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Fostering an Inclusive Computing Culture, Creating Computational Artifacts (1.1, 5.1)
Standard:
Use an iterative process to plan and develop a program by considering the perspectives and preferences of others.
Descriptive Statement:
Planning is an important part of the iterative process of program development. Students gain a basic understanding of the importance and process of planning before beginning to write code for a program. They plan the development of a program by outlining key features, time and resource constraints, and user expectations. Students should document the plan as, for example, a storyboard, flowchart, pseudocode, or story map. For example, students could collaborate with a partner to plan and develop a program that graphs a function. They could iteratively modify the program based on feedback from diverse users, such as students who are color blind and may have trouble differentiating lines on a graph based on the color. (CA CCSS for Mathematics 5.G.1, 5.G.2) Alternatively, students could plan as a team to develop a program to display experimental data. They could implement the program in stages, generating basic displays first and then soliciting feedback from others on how easy it is to interpret (e.g., are labels clear and readable?, are lines thick enough?, are titles understandable?). Students could iteratively improve their display to make it more readable and to better support the communication of the finding of the experiment. (NGSS.3-5-ETS1-1, 3-5-ETS1-2, 3-5-ETS1-3)
Use an iterative process to plan and develop a program by considering the perspectives and preferences of others.
Descriptive Statement:
Planning is an important part of the iterative process of program development. Students gain a basic understanding of the importance and process of planning before beginning to write code for a program. They plan the development of a program by outlining key features, time and resource constraints, and user expectations. Students should document the plan as, for example, a storyboard, flowchart, pseudocode, or story map. For example, students could collaborate with a partner to plan and develop a program that graphs a function. They could iteratively modify the program based on feedback from diverse users, such as students who are color blind and may have trouble differentiating lines on a graph based on the color. (CA CCSS for Mathematics 5.G.1, 5.G.2) Alternatively, students could plan as a team to develop a program to display experimental data. They could implement the program in stages, generating basic displays first and then soliciting feedback from others on how easy it is to interpret (e.g., are labels clear and readable?, are lines thick enough?, are titles understandable?). Students could iteratively improve their display to make it more readable and to better support the communication of the finding of the experiment. (NGSS.3-5-ETS1-1, 3-5-ETS1-2, 3-5-ETS1-3)
Standard Identifier: 3-5.AP.16
Grade Range:
3–5
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Creating Computational Artifacts, Communicating About Computing (5.2, 7.3)
Standard:
Observe intellectual property rights and give appropriate attribution when creating, remixing, or combining programs.
Descriptive Statement:
Intellectual property rights can vary by country, but copyright laws give the creator of a work a set of rights and prevents others from copying the work and using it in ways that they may not like. Students consider common licenses that place limitations or restrictions on the use of others' work, such as images and music downloaded from the Internet. When incorporating the work of others, students attribute the work. At this level, students could give attribution by including credits or links directly in their programs, code comments, or separate project pages. For example, when making a program to model the life cycle of a butterfly, students could modify and reuse an existing program that describes the life cycle of a frog. Based on their research, students could identify and use Creative Commons-licensed or public domain images and sounds of caterpillars and butterflies. Students give attribution by properly citing the source of the original piece as necessary. (CA NGSS: 3-LS-1-1) (CA CCSS for ELA/Literacy W.3.8, W.4.8, W.5.8) Alternatively, when creating a program explaining the structure of the United States goverment, students find Creative Commons-licensed or public domain images to represent the three branches of government and attribute ownership of the images appropriately. If students find and incorporate an audio file of a group playing part of the national anthem, they appropriately give attribution on the project page. (HSS.3.4.4)
Observe intellectual property rights and give appropriate attribution when creating, remixing, or combining programs.
Descriptive Statement:
Intellectual property rights can vary by country, but copyright laws give the creator of a work a set of rights and prevents others from copying the work and using it in ways that they may not like. Students consider common licenses that place limitations or restrictions on the use of others' work, such as images and music downloaded from the Internet. When incorporating the work of others, students attribute the work. At this level, students could give attribution by including credits or links directly in their programs, code comments, or separate project pages. For example, when making a program to model the life cycle of a butterfly, students could modify and reuse an existing program that describes the life cycle of a frog. Based on their research, students could identify and use Creative Commons-licensed or public domain images and sounds of caterpillars and butterflies. Students give attribution by properly citing the source of the original piece as necessary. (CA NGSS: 3-LS-1-1) (CA CCSS for ELA/Literacy W.3.8, W.4.8, W.5.8) Alternatively, when creating a program explaining the structure of the United States goverment, students find Creative Commons-licensed or public domain images to represent the three branches of government and attribute ownership of the images appropriately. If students find and incorporate an audio file of a group playing part of the national anthem, they appropriately give attribution on the project page. (HSS.3.4.4)
Standard Identifier: 6-8.AP.11
Grade Range:
6–8
Concept:
Algorithms & Programming
Subconcept:
Variables
Practice(s):
Creating Computational Artifacts (5.1, 5.2)
Standard:
Create clearly named variables that store data, and perform operations on their contents.
Descriptive Statement:
A variable is a container for data, and the name used for accessing the variable is called the identifier. Students declare, initialize, and update variables for storing different types of program data (e.g., text, integers) using names and naming conventions (e.g. camel case) that clearly convey the purpose of the variable, facilitate debugging, and improve readability. For example, students could program a quiz game with a score variable (e.g. quizScore) that is initially set to zero and increases by increments of one each time the user answers a quiz question correctly and decreases by increments of one each time a user answers a quiz question incorrectly, resulting in a score that is either a positive or negative integer. (CA CCSS for Mathematics 6.NS.5) Alternatively, students could write a program that prompts the user for their name, stores the user's response in a variable (e.g. userName), and uses this variable to greet the user by name.
Create clearly named variables that store data, and perform operations on their contents.
Descriptive Statement:
A variable is a container for data, and the name used for accessing the variable is called the identifier. Students declare, initialize, and update variables for storing different types of program data (e.g., text, integers) using names and naming conventions (e.g. camel case) that clearly convey the purpose of the variable, facilitate debugging, and improve readability. For example, students could program a quiz game with a score variable (e.g. quizScore) that is initially set to zero and increases by increments of one each time the user answers a quiz question correctly and decreases by increments of one each time a user answers a quiz question incorrectly, resulting in a score that is either a positive or negative integer. (CA CCSS for Mathematics 6.NS.5) Alternatively, students could write a program that prompts the user for their name, stores the user's response in a variable (e.g. userName), and uses this variable to greet the user by name.
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.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)
Standard Identifier: 6-8.IC.22
Grade Range:
6–8
Concept:
Impacts of Computing
Subconcept:
Social Interactions
Practice(s):
Collaborating Around Computing, Creating Computational Artifacts (2.4, 5.2)
Standard:
Collaborate with many contributors when creating a computational artifact.
Descriptive Statement:
Users have diverse sets of experiences, needs, and wants. These need to be understood and integrated into the design of computational artifacts. Students use applications that enable crowdsourcing to gather services, ideas, or content from a large group of people. At this level, crowdsourcing can be done at the local level (e.g., classroom, school, or neighborhood) and/or global level (e.g., age-appropriate online communities). For example, a group of students could use electronic surveys to solicit input from their neighborhood regarding an important social or political issue. They could collaborate with a community artist to combine animations and create a digital community collage informing the public about various points of view regarding the topic. (VAPA Visual Art 8.5.2, 8.5.4)
Collaborate with many contributors when creating a computational artifact.
Descriptive Statement:
Users have diverse sets of experiences, needs, and wants. These need to be understood and integrated into the design of computational artifacts. Students use applications that enable crowdsourcing to gather services, ideas, or content from a large group of people. At this level, crowdsourcing can be done at the local level (e.g., classroom, school, or neighborhood) and/or global level (e.g., age-appropriate online communities). For example, a group of students could use electronic surveys to solicit input from their neighborhood regarding an important social or political issue. They could collaborate with a community artist to combine animations and create a digital community collage informing the public about various points of view regarding the topic. (VAPA Visual Art 8.5.2, 8.5.4)
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.).
Showing 1 - 10 of 19 Standards
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881