Computer Science Standards
Results
Showing 11 - 20 of 31 Standards
Standard Identifier: 6-8.AP.10
Grade Range:
6–8
Concept:
Algorithms & Programming
Subconcept:
Algorithms
Practice(s):
Developing and Using Abstractions (4.1, 4.4)
Standard:
Use flowcharts and/or pseudocode to design and illustrate algorithms that solve complex problems.
Descriptive Statement:
Complex problems are problems that would be difficult for students to solve without breaking them down into multiple steps. Flowcharts and pseudocode are used to design and illustrate the breakdown of steps in an algorithm. Students design and illustrate algorithms using pseudocode and/or flowcharts that organize and sequence the breakdown of steps for solving complex problems. For example, students might use a flowchart to illustrate an algorithm that produces a recommendation for purchasing sneakers based on inputs such as size, colors, brand, comfort, and cost. Alternatively, students could write pseudocode to express an algorithm for suggesting their outfit for the day, based on inputs such as the weather, color preferences, and day of the week.
Use flowcharts and/or pseudocode to design and illustrate algorithms that solve complex problems.
Descriptive Statement:
Complex problems are problems that would be difficult for students to solve without breaking them down into multiple steps. Flowcharts and pseudocode are used to design and illustrate the breakdown of steps in an algorithm. Students design and illustrate algorithms using pseudocode and/or flowcharts that organize and sequence the breakdown of steps for solving complex problems. For example, students might use a flowchart to illustrate an algorithm that produces a recommendation for purchasing sneakers based on inputs such as size, colors, brand, comfort, and cost. Alternatively, students could write pseudocode to express an algorithm for suggesting their outfit for the day, based on inputs such as the weather, color preferences, and day of the week.
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.12
Grade Range:
6–8
Concept:
Algorithms & Programming
Subconcept:
Control
Practice(s):
Creating Computational Artifacts (5.1, 5.2)
Standard:
Design and iteratively develop programs that combine control structures and use compound conditions.
Descriptive Statement:
Control structures can be combined in many ways. Nested loops are loops placed within loops, and nested conditionals allow the result of one conditional to lead to another. Compound conditions combine two or more conditions in a logical relationship (e.g., using AND, OR, and NOT). Students appropriately use control structures to perform repetitive and selection tasks. For example, when programming an interactive story, students could use a compound conditional within a loop to unlock a door only if a character has a key AND is touching the door. (CA CCSS for ELA/Literacy W.6.3, W.7.3, W.8.3) Alternatively, students could use compound conditionals when writing a program to test whether two points lie along the line defined by a particular linear function. (CA CCSS for Mathematics 8.EE.7) Additionally, students could use nested loops to program a character to do the "chicken dance" by opening and closing the beak, flapping the wings, shaking the hips, and clapping four times each; this dance "chorus" is then repeated several times in its entirety.
Design and iteratively develop programs that combine control structures and use compound conditions.
Descriptive Statement:
Control structures can be combined in many ways. Nested loops are loops placed within loops, and nested conditionals allow the result of one conditional to lead to another. Compound conditions combine two or more conditions in a logical relationship (e.g., using AND, OR, and NOT). Students appropriately use control structures to perform repetitive and selection tasks. For example, when programming an interactive story, students could use a compound conditional within a loop to unlock a door only if a character has a key AND is touching the door. (CA CCSS for ELA/Literacy W.6.3, W.7.3, W.8.3) Alternatively, students could use compound conditionals when writing a program to test whether two points lie along the line defined by a particular linear function. (CA CCSS for Mathematics 8.EE.7) Additionally, students could use nested loops to program a character to do the "chicken dance" by opening and closing the beak, flapping the wings, shaking the hips, and clapping four times each; this dance "chorus" is then repeated several times in its entirety.
Standard Identifier: 6-8.CS.1
Grade Range:
6–8
Concept:
Computing Systems
Subconcept:
Devices
Practice(s):
Fostering an Inclusive Computing Culture, Recognizing and Defining Computational Problems (1.2, 3.3)
Standard:
Design modifications to computing devices in order to improve the ways users interact with the devices.
Descriptive Statement:
Computing devices can extend the abilities of humans, but design considerations are critical to make these devices useful. Students suggest modifications to the design of computing devices and describe how these modifications would improve usabilty. For example, students could create a design for the screen layout of a smartphone that is more usable by people with vision impairments or hand tremors. They might also design how to use the device as a scanner to convert text to speech. Alternatively, students could design modifications for a student ID card reader to increase usability by planning for scanner height, need of scanner device to be connected physically to the computer, robustness of scanner housing, and choice of use of RFID or line of sight scanners. (CA NGSS: MS-ETS1-1)
Design modifications to computing devices in order to improve the ways users interact with the devices.
Descriptive Statement:
Computing devices can extend the abilities of humans, but design considerations are critical to make these devices useful. Students suggest modifications to the design of computing devices and describe how these modifications would improve usabilty. For example, students could create a design for the screen layout of a smartphone that is more usable by people with vision impairments or hand tremors. They might also design how to use the device as a scanner to convert text to speech. Alternatively, students could design modifications for a student ID card reader to increase usability by planning for scanner height, need of scanner device to be connected physically to the computer, robustness of scanner housing, and choice of use of RFID or line of sight scanners. (CA NGSS: MS-ETS1-1)
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.13
Grade Range:
9–12
Concept:
Algorithms & Programming
Subconcept:
Variables
Practice(s):
Developing and Using Abstractions (4.1)
Standard:
Create more generalized computational solutions using collections instead of repeatedly using simple variables.
Descriptive Statement:
Computers can automate repetitive tasks with algorithms that use collections to simplify and generalize computational problems. Students identify common features in multiple segments of code and substitute a single segment that uses collections (i.e., arrays, sets, lists) to account for the differences. For example, students could take a program that inputs students' scores into multiple variables and modify it to read these scores into a single array of scores. Alternatively, instead of writing one procedure to find averages of student scores and another to find averages of student absences, students could write a single general average procedure to support both tasks.
Create more generalized computational solutions using collections instead of repeatedly using simple variables.
Descriptive Statement:
Computers can automate repetitive tasks with algorithms that use collections to simplify and generalize computational problems. Students identify common features in multiple segments of code and substitute a single segment that uses collections (i.e., arrays, sets, lists) to account for the differences. For example, students could take a program that inputs students' scores into multiple variables and modify it to read these scores into a single array of scores. Alternatively, instead of writing one procedure to find averages of student scores and another to find averages of student absences, students could write a single general average procedure to support both tasks.
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.CS.1
Grade Range:
9–12
Concept:
Computing Systems
Subconcept:
Devices
Practice(s):
Developing and Using Abstractions (4.1)
Standard:
Describe ways in which abstractions hide the underlying implementation details of computing systems to simplify user experiences.
Descriptive Statement:
An abstraction is a representation of an idea or phenomenon that hides details irrelevant to the question at hand. Computing systems, both stand alone and embedded in products, are often integrated with other systems to simplify user experiences. For example, students could identify geolocation hardware embedded in a smartphone and describe how this simplifies the users experience since the user does not have to enter her own location on the phone. Alternatively, students might select an embedded device such as a car stereo, identify the types of data (e.g., radio station presets, volume level) and procedures (e.g., increase volume, store/recall saved station, mute) it includes, and explain how the implementation details are hidden from the user.
Describe ways in which abstractions hide the underlying implementation details of computing systems to simplify user experiences.
Descriptive Statement:
An abstraction is a representation of an idea or phenomenon that hides details irrelevant to the question at hand. Computing systems, both stand alone and embedded in products, are often integrated with other systems to simplify user experiences. For example, students could identify geolocation hardware embedded in a smartphone and describe how this simplifies the users experience since the user does not have to enter her own location on the phone. Alternatively, students might select an embedded device such as a car stereo, identify the types of data (e.g., radio station presets, volume level) and procedures (e.g., increase volume, store/recall saved station, mute) it includes, and explain how the implementation details are hidden from the user.
Showing 11 - 20 of 31 Standards
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881