Computer Science Standards
Remove this criterion from the search
Algorithms
Remove this criterion from the search
Collection, Visualization, & Transformation
Remove this criterion from the search
Control
Remove this criterion from the search
Devices
Remove this criterion from the search
Inference & Models
Remove this criterion from the search
Network Communication & Organization
Remove this criterion from the search
Program Development
Results
Showing 31 - 40 of 64 Standards
Standard Identifier: 6-8.DA.9
Grade Range:
6–8
Concept:
Data & Analysis
Subconcept:
Inference & Models
Practice(s):
Developing and Using Abstractions, Testing and Refining Computational Artifacts (4.4, 6.1)
Standard:
Test and analyze the effects of changing variables while using computational models.
Descriptive Statement:
Variables within a computational model may be changed, in order to alter a computer simulation or to more accurately represent how various data is related. Students interact with a given model, make changes to identified model variables, and observe and reflect upon the results. For example, students could test a program that makes a robot move on a track by making changes to variables (e.g., height and angle of track, size and mass of the robot) and discussing how these changes affect how far the robot travels. (CA NGSS: MS-PS2-2) Alternatively, students could test a game simulation and change variables (e.g., skill of simulated players, nature of opening moves) and analyze how these changes affect who wins the game. (CA NGSS: MS-ETS1-3) Additionally, students could modify a model for predicting the likely color of the next pick from a bag of colored candy and analyze the effects of changing variables representing the common color ratios in a typical bag of candy. (CA CCSS for Mathematics 7.SP.7, 8.SP.4)
Test and analyze the effects of changing variables while using computational models.
Descriptive Statement:
Variables within a computational model may be changed, in order to alter a computer simulation or to more accurately represent how various data is related. Students interact with a given model, make changes to identified model variables, and observe and reflect upon the results. For example, students could test a program that makes a robot move on a track by making changes to variables (e.g., height and angle of track, size and mass of the robot) and discussing how these changes affect how far the robot travels. (CA NGSS: MS-PS2-2) Alternatively, students could test a game simulation and change variables (e.g., skill of simulated players, nature of opening moves) and analyze how these changes affect who wins the game. (CA NGSS: MS-ETS1-3) Additionally, students could modify a model for predicting the likely color of the next pick from a bag of colored candy and analyze the effects of changing variables representing the common color ratios in a typical bag of candy. (CA CCSS for Mathematics 7.SP.7, 8.SP.4)
Standard Identifier: 6-8.NI.4
Grade Range:
6–8
Concept:
Networks & the Internet
Subconcept:
Network Communication & Organization
Practice(s):
Developing and Using Abstractions (4.4)
Standard:
Model the role of protocols in transmitting data across networks and the Internet.
Descriptive Statement:
Protocols are rules that define how messages between computers are sent. They determine how quickly and securely information is transmitted across networks, as well as how to handle errors in transmission. Students model how data is sent using protocols to choose the fastest path and to deal with missing information. Knowledge of the details of how specific protocols work is not expected. The priority at this grade level is understanding the purpose of protocols and how they enable efficient and errorless communication. For example, students could devise a plan for sending data representing a textual message and devise a plan for resending lost information. Alternatively, students could devise a plan for sending data to represent a picture, and devise a plan for interpreting the image when pieces of the data are missing. Additionally, students could model the speed of sending messages by Bluetooth, Wi-Fi, or cellular networks and describe ways errors in data transmission can be detected and dealt with.
Model the role of protocols in transmitting data across networks and the Internet.
Descriptive Statement:
Protocols are rules that define how messages between computers are sent. They determine how quickly and securely information is transmitted across networks, as well as how to handle errors in transmission. Students model how data is sent using protocols to choose the fastest path and to deal with missing information. Knowledge of the details of how specific protocols work is not expected. The priority at this grade level is understanding the purpose of protocols and how they enable efficient and errorless communication. For example, students could devise a plan for sending data representing a textual message and devise a plan for resending lost information. Alternatively, students could devise a plan for sending data to represent a picture, and devise a plan for interpreting the image when pieces of the data are missing. Additionally, students could model the speed of sending messages by Bluetooth, Wi-Fi, or cellular networks and describe ways errors in data transmission can be detected and dealt with.
Standard Identifier: 9-12.AP.12
Grade Range:
9–12
Concept:
Algorithms & Programming
Subconcept:
Algorithms
Practice(s):
Developing and Using Abstractions, Creating Computational Artifacts (4.2, 5.1)
Standard:
Design algorithms to solve computational problems using a combination of original and existing algorithms.
Descriptive Statement:
Knowledge of common algorithms improves how people develop software, secure data, and store information. Some algorithms may be easier to implement in a particular programming language, work faster, require less memory to store data, and be applicable in a wider variety of situations than other algorithms. Algorithms used to search and sort data are common in a variety of software applications. For example, students could design an algorithm to calculate and display various sports statistics and use common sorting or mathematical algorithms (e.g., average) in the design of the overall algorithm. Alternatively, students could design an algorithm to implement a game and use existing randomization algorithms to place pieces randomly in starting positions or to control the "roll" of a dice or selection of a "card" from a deck.
Design algorithms to solve computational problems using a combination of original and existing algorithms.
Descriptive Statement:
Knowledge of common algorithms improves how people develop software, secure data, and store information. Some algorithms may be easier to implement in a particular programming language, work faster, require less memory to store data, and be applicable in a wider variety of situations than other algorithms. Algorithms used to search and sort data are common in a variety of software applications. For example, students could design an algorithm to calculate and display various sports statistics and use common sorting or mathematical algorithms (e.g., average) in the design of the overall algorithm. Alternatively, students could design an algorithm to implement a game and use existing randomization algorithms to place pieces randomly in starting positions or to control the "roll" of a dice or selection of a "card" from a deck.
Standard Identifier: 9-12.AP.14
Grade Range:
9–12
Concept:
Algorithms & Programming
Subconcept:
Control
Practice(s):
Creating Computational Artifacts (5.2)
Standard:
Justify the selection of specific control structures by identifying tradeoffs associated with implementation, readability, and performance.
Descriptive Statement:
The selection of control structures in a given programming language impacts readability and performance. Readability refers to how clear the program is to other programmers and can be improved through documentation. Control structures at this level may include, for example, conditional statements, loops, event handlers, and recursion. Students justify control structure selection and tradeoffs in the process of creating their own computational artifacts. The discussion of performance is limited to a theoretical understanding of execution time and storage requirements; a quantitative analysis is not expected. For example, students could compare the readability and program performance of iterative and recursive implementations of procedures that calculate the Fibonacci sequence. Alternatively, students could compare the readability and performance tradeoffs of multiple if statements versus a nested if statement.
Justify the selection of specific control structures by identifying tradeoffs associated with implementation, readability, and performance.
Descriptive Statement:
The selection of control structures in a given programming language impacts readability and performance. Readability refers to how clear the program is to other programmers and can be improved through documentation. Control structures at this level may include, for example, conditional statements, loops, event handlers, and recursion. Students justify control structure selection and tradeoffs in the process of creating their own computational artifacts. The discussion of performance is limited to a theoretical understanding of execution time and storage requirements; a quantitative analysis is not expected. For example, students could compare the readability and program performance of iterative and recursive implementations of procedures that calculate the Fibonacci sequence. Alternatively, students could compare the readability and performance tradeoffs of multiple if statements versus a nested if statement.
Standard Identifier: 9-12.AP.15
Grade Range:
9–12
Concept:
Algorithms & Programming
Subconcept:
Control
Practice(s):
Creating Computational Artifacts (5.1, 5.2, 5.3)
Standard:
Iteratively design and develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
Descriptive Statement:
In this context, relevant computational artifacts can include programs, mobile apps, or web apps. Events can be user-initiated, such as a button press, or system-initiated, such as a timer firing. For example, students might create a tool for drawing on a canvas by first implementing a button to set the color of the pen. Alternatively, students might create a game where many events control instructions executed (e.g., when a score climbs above a threshold, a congratulatory sound is played; when a user clicks on an object, the object is loaded into a basket; when a user clicks on an arrow key, the player object is moved around the screen).
Iteratively design and develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
Descriptive Statement:
In this context, relevant computational artifacts can include programs, mobile apps, or web apps. Events can be user-initiated, such as a button press, or system-initiated, such as a timer firing. For example, students might create a tool for drawing on a canvas by first implementing a button to set the color of the pen. Alternatively, students might create a game where many events control instructions executed (e.g., when a score climbs above a threshold, a congratulatory sound is played; when a user clicks on an object, the object is loaded into a basket; when a user clicks on an arrow key, the player object is moved around the screen).
Standard Identifier: 9-12.AP.18
Grade Range:
9–12
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Fostering an Inclusive Computing Culture, Creating Computational Artifacts (1.1, 5.1)
Standard:
Systematically design programs for broad audiences by incorporating feedback from users.
Descriptive Statement:
Programmers use a systematic design and review process to meet the needs of a broad audience. The process includes planning to meet user needs, developing software for broad audiences, testing users from a cross-section of the audience, and refining designs based on feedback. For example, students could create a user satisfaction survey and brainstorm distribution methods to collect feedback about a mobile application. After collecting feedback from a diverse audience, students could incorporate feedback into their product design. Alternatively, while developing an e-textiles project with human touch sensors, students could collect data from peers and identify design changes needed to improve usability by users of different needs.
Systematically design programs for broad audiences by incorporating feedback from users.
Descriptive Statement:
Programmers use a systematic design and review process to meet the needs of a broad audience. The process includes planning to meet user needs, developing software for broad audiences, testing users from a cross-section of the audience, and refining designs based on feedback. For example, students could create a user satisfaction survey and brainstorm distribution methods to collect feedback about a mobile application. After collecting feedback from a diverse audience, students could incorporate feedback into their product design. Alternatively, while developing an e-textiles project with human touch sensors, students could collect data from peers and identify design changes needed to improve usability by users of different needs.
Standard Identifier: 9-12.AP.19
Grade Range:
9–12
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Communicating About Computing (7.3)
Standard:
Explain the limitations of licenses that restrict use of computational artifacts when using resources such as libraries.
Descriptive Statement:
Software licenses include copyright, freeware, and open-source licensing schemes. Licenses are used to protect the intellectual property of the author while also defining accessibility of the code. Students consider licensing implications for their own work, especially when incorporating libraries and other resources. For example, students might consider two software libraries that address a similar need, justifying their choice of one over the other. The choice could be based upon least restrictive licensing or further protections for their own intellectual property.
Explain the limitations of licenses that restrict use of computational artifacts when using resources such as libraries.
Descriptive Statement:
Software licenses include copyright, freeware, and open-source licensing schemes. Licenses are used to protect the intellectual property of the author while also defining accessibility of the code. Students consider licensing implications for their own work, especially when incorporating libraries and other resources. For example, students might consider two software libraries that address a similar need, justifying their choice of one over the other. The choice could be based upon least restrictive licensing or further protections for their own intellectual property.
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.AP.21
Grade Range:
9–12
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Collaborating Around Computing (2.4)
Standard:
Design and develop computational artifacts working in team roles using collaborative tools.
Descriptive Statement:
Collaborative tools can be as complex as a source code version control system or as simple as a collaborative word processor. Team roles in pair programming are driver and navigator but students can take on more specialized roles in larger teams. Teachers or students should choose resources that aid collaborative program development as programs grow more complex. For example, students might work as a team to develop a mobile application that addresses a problem relevant to the school or community, using appropriate tools to support actions such as: establish and manage the project timeline; design, share, and revise graphical user interface elements; implement program components, track planned, in-progress, and completed components, and design and implement user testing.
Design and develop computational artifacts working in team roles using collaborative tools.
Descriptive Statement:
Collaborative tools can be as complex as a source code version control system or as simple as a collaborative word processor. Team roles in pair programming are driver and navigator but students can take on more specialized roles in larger teams. Teachers or students should choose resources that aid collaborative program development as programs grow more complex. For example, students might work as a team to develop a mobile application that addresses a problem relevant to the school or community, using appropriate tools to support actions such as: establish and manage the project timeline; design, share, and revise graphical user interface elements; implement program components, track planned, in-progress, and completed components, and design and implement user testing.
Standard Identifier: 9-12.AP.22
Grade Range:
9–12
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Communicating About Computing (7.2)
Standard:
Document decisions made during the design process using text, graphics, presentations, and/or demonstrations in the development of complex programs.
Descriptive Statement:
Complex programs are often iteratively designed as systems of interacting modules, each with a specific role, coordinating for a common overall purpose. Comments are included in code both to document the purpose of modules as well as the implementation details within a module. Together these support documentation of the design process. Students use resources such as libraries and tools to edit and manage parts of the program and corresponding documentation. For example, during development of a computational artifact students could comment their code (with date, modification, and rationale), sketch a flowchart to summarize control flow in a code journal, and share ideas and updates on a white board. Students may document their logic by explaining the development process and presenting to the class. The presentation could include photos of their white board, a video or screencast explaining the development process, or recorded audio description.
Document decisions made during the design process using text, graphics, presentations, and/or demonstrations in the development of complex programs.
Descriptive Statement:
Complex programs are often iteratively designed as systems of interacting modules, each with a specific role, coordinating for a common overall purpose. Comments are included in code both to document the purpose of modules as well as the implementation details within a module. Together these support documentation of the design process. Students use resources such as libraries and tools to edit and manage parts of the program and corresponding documentation. For example, during development of a computational artifact students could comment their code (with date, modification, and rationale), sketch a flowchart to summarize control flow in a code journal, and share ideas and updates on a white board. Students may document their logic by explaining the development process and presenting to the class. The presentation could include photos of their white board, a video or screencast explaining the development process, or recorded audio description.
Showing 31 - 40 of 64 Standards
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881