Computer Science Standards
Results
Showing 11 - 20 of 25 Standards
Standard Identifier: 6-8.AP.13
Grade Range:
6–8
Concept:
Algorithms & Programming
Subconcept:
Modularity
Practice(s):
Recognizing and Defining Computational Problems (3.2)
Standard:
Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.
Descriptive Statement:
Decomposition facilitates program development by allowing students to focus on one piece at a time (e.g., getting input from the user, processing the data, and displaying the result to the user). Decomposition also enables different students to work on different parts at the same time. Students break down (decompose) problems into subproblems, which can be further broken down to smaller parts. Students could create an arcade game, with a title screen, a game screen, and a win/lose screen with an option to play the game again. To do this, students need to identify subproblems that accompany each screen (e.g., selecting an avatar goes in the title screen, events for controlling character action and scoring goes in the game screen, and displaying final and high score and asking whether to play again goes in the win/lose screen). Alternatively, students could decompose the problem of calculating and displaying class grades. Subproblems might include: accept input for students grades on various assignments, check for invalid grade entries, calculate per assignment averages, calculate per student averages, and display histograms of student scores for each assignment. (CA CCSS for Mathematics 6.RP.3c, 6.SP.4, 6.SP.5)
Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.
Descriptive Statement:
Decomposition facilitates program development by allowing students to focus on one piece at a time (e.g., getting input from the user, processing the data, and displaying the result to the user). Decomposition also enables different students to work on different parts at the same time. Students break down (decompose) problems into subproblems, which can be further broken down to smaller parts. Students could create an arcade game, with a title screen, a game screen, and a win/lose screen with an option to play the game again. To do this, students need to identify subproblems that accompany each screen (e.g., selecting an avatar goes in the title screen, events for controlling character action and scoring goes in the game screen, and displaying final and high score and asking whether to play again goes in the win/lose screen). Alternatively, students could decompose the problem of calculating and displaying class grades. Subproblems might include: accept input for students grades on various assignments, check for invalid grade entries, calculate per assignment averages, calculate per student averages, and display histograms of student scores for each assignment. (CA CCSS for Mathematics 6.RP.3c, 6.SP.4, 6.SP.5)
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.NI.5
Grade Range:
6–8
Concept:
Networks & the Internet
Subconcept:
Cybersecurity
Practice(s):
Recognizing and Defining Computational Problems (3.1, 3.3)
Standard:
Explain potential security threats and security measures to mitigate threats.
Descriptive Statement:
Cybersecurity is an important field of study and it is valuable for students to understand the need for protecting sensitive data. Students identify multiple methods for protecting data and articulate the value and appropriateness for each method. Students are not expected to implement or explain the implementation of such technologies. For example, students could explain the importance of keeping passwords hidden, setting secure router administrator passwords, erasing a storage device before it is reused, and using firewalls to restrict access to private networks. Alternatively, students could explain the importance of two-factor authentication and HTTPS connections to ensure secure data transmission.
Explain potential security threats and security measures to mitigate threats.
Descriptive Statement:
Cybersecurity is an important field of study and it is valuable for students to understand the need for protecting sensitive data. Students identify multiple methods for protecting data and articulate the value and appropriateness for each method. Students are not expected to implement or explain the implementation of such technologies. For example, students could explain the importance of keeping passwords hidden, setting secure router administrator passwords, erasing a storage device before it is reused, and using firewalls to restrict access to private networks. Alternatively, students could explain the importance of two-factor authentication and HTTPS connections to ensure secure data transmission.
Standard Identifier: 6-8.NI.6
Grade Range:
6–8
Concept:
Networks & the Internet
Subconcept:
Cybersecurity
Practice(s):
Developing and Using Abstractions (4.4)
Standard:
Apply multiple methods of information protection to model the secure transmission of information.
Descriptive Statement:
Digital information is protected using a variety of cryptographic techniques. Cryptography is essential to many models of cybersecurity. At its core, cryptography has a mathematical foundation. Cryptographic encryption can be as simple as letter substitution or as complicated as modern methods used to secure networks and the Internet. Students encode and decode messages using encryption methods, and explore different levels of complexity used to hide or secure information. For example, students could identify methods of secret communication used during the Revolutionary War (e.g., ciphers, secret codes, invisible ink, hidden letters) and then secure their own methods such as substitution ciphers or steganography (i.e., hiding messages inside a picture or other data) to compose a message from either the Continental Army or British Army. (HSS.8.1) Alternatively, students could explore functions and inverse functions for encryption and decryption and consider functions that are complex enough to keep data secure from their peers. (CA CCSS for Mathematics 8.F.1)
Apply multiple methods of information protection to model the secure transmission of information.
Descriptive Statement:
Digital information is protected using a variety of cryptographic techniques. Cryptography is essential to many models of cybersecurity. At its core, cryptography has a mathematical foundation. Cryptographic encryption can be as simple as letter substitution or as complicated as modern methods used to secure networks and the Internet. Students encode and decode messages using encryption methods, and explore different levels of complexity used to hide or secure information. For example, students could identify methods of secret communication used during the Revolutionary War (e.g., ciphers, secret codes, invisible ink, hidden letters) and then secure their own methods such as substitution ciphers or steganography (i.e., hiding messages inside a picture or other data) to compose a message from either the Continental Army or British Army. (HSS.8.1) Alternatively, students could explore functions and inverse functions for encryption and decryption and consider functions that are complex enough to keep data secure from their peers. (CA CCSS for Mathematics 8.F.1)
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.16
Grade Range:
9–12
Concept:
Algorithms & Programming
Subconcept:
Modularity
Practice(s):
Recognizing and Defining Computational Problems (3.2)
Standard:
Decompose problems into smaller subproblems through systematic analysis, using constructs such as procedures, modules, and/or classes.
Descriptive Statement:
Decomposition enables solutions to complex problems to be designed and implemented as more manageable subproblems. Students decompose a given problem into subproblems that can be solved using existing functionalities, or new functionalities that they design and implement. For example, students could design a program for supporting soccer coaches in analyzing their teams' statistics. They decompose the problem in terms of managing input, analysis, and output. They decompose the data organization by designing what data will be stored per player, per game, and per team. Team players may be stored as a collection. Data per team player may include: number of shots, misses, saves, assists, penalty kicks, blocks, and corner kicks. Students design methods for supporting various statistical analyses and display options. Students design output formats for individual players or coaches.
Decompose problems into smaller subproblems through systematic analysis, using constructs such as procedures, modules, and/or classes.
Descriptive Statement:
Decomposition enables solutions to complex problems to be designed and implemented as more manageable subproblems. Students decompose a given problem into subproblems that can be solved using existing functionalities, or new functionalities that they design and implement. For example, students could design a program for supporting soccer coaches in analyzing their teams' statistics. They decompose the problem in terms of managing input, analysis, and output. They decompose the data organization by designing what data will be stored per player, per game, and per team. Team players may be stored as a collection. Data per team player may include: number of shots, misses, saves, assists, penalty kicks, blocks, and corner kicks. Students design methods for supporting various statistical analyses and display options. Students design output formats for individual players or coaches.
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.NI.6
Grade Range:
9–12
Concept:
Networks & the Internet
Subconcept:
Cybersecurity
Practice(s):
Communicating About Computing (7.2)
Standard:
Compare and contrast security measures to address various security threats.
Descriptive Statement:
Network security depends on a combination of hardware, software, and practices that control access to data and systems. The needs of users and the sensitivity of data determine the level of security implemented. Potential security problems, such as denial-of-service attacks, ransomware, viruses, worms, spyware, and phishing, present threats to sensitive data. Students compare and contrast different types of security measures based on factors such as efficiency, feasibility, ethical impacts, usability, and security. At this level, students are not expected to develop or implement the security measures that they discuss. For example, students could review case studies or current events in which governments or organizations experienced data leaks or data loss as a result of these types of attacks. Students could provide an analysis of actual security measures taken comparing to other security measure which may have led to different outcomes. Alternatively, students might discuss computer security policies in place at the local level that present a tradeoff between usability and security, such as a web filter that prevents access to many educational sites but keeps the campus network safe.
Compare and contrast security measures to address various security threats.
Descriptive Statement:
Network security depends on a combination of hardware, software, and practices that control access to data and systems. The needs of users and the sensitivity of data determine the level of security implemented. Potential security problems, such as denial-of-service attacks, ransomware, viruses, worms, spyware, and phishing, present threats to sensitive data. Students compare and contrast different types of security measures based on factors such as efficiency, feasibility, ethical impacts, usability, and security. At this level, students are not expected to develop or implement the security measures that they discuss. For example, students could review case studies or current events in which governments or organizations experienced data leaks or data loss as a result of these types of attacks. Students could provide an analysis of actual security measures taken comparing to other security measure which may have led to different outcomes. Alternatively, students might discuss computer security policies in place at the local level that present a tradeoff between usability and security, such as a web filter that prevents access to many educational sites but keeps the campus network safe.
Standard Identifier: 9-12.NI.7
Grade Range:
9–12
Concept:
Networks & the Internet
Subconcept:
Cybersecurity
Practice(s):
Recognizing and Defining Computational Problems, Developing and Using Abstractions (3.3, 4.4)
Standard:
Compare and contrast cryptographic techniques to model the secure transmission of information.
Descriptive Statement:
Cryptography is a technique for transforming information on a computer in such a way that it becomes unreadable by anyone except authorized parties. Cryptography is useful for supporting secure communication of data across networks. Examples of cryptographic methods include hashing, symmetric encryption/decryption (private key), and assymmetric encryption/decryption (public key/private key). Students use software to encode and decode messages using cryptographic methods. Students compare the costs and benefits of using various cryptographic methods. At this level, students are not expected to perform the mathematical calculations associated with encryption and decryption. For example, students could compare and contrast multiple examples of symmetric cryptographic techiques. Alternatively, students could compare and contrast symmetric and asymmetric cryptographic techniques in which they apply for a given scenario.
Compare and contrast cryptographic techniques to model the secure transmission of information.
Descriptive Statement:
Cryptography is a technique for transforming information on a computer in such a way that it becomes unreadable by anyone except authorized parties. Cryptography is useful for supporting secure communication of data across networks. Examples of cryptographic methods include hashing, symmetric encryption/decryption (private key), and assymmetric encryption/decryption (public key/private key). Students use software to encode and decode messages using cryptographic methods. Students compare the costs and benefits of using various cryptographic methods. At this level, students are not expected to perform the mathematical calculations associated with encryption and decryption. For example, students could compare and contrast multiple examples of symmetric cryptographic techiques. Alternatively, students could compare and contrast symmetric and asymmetric cryptographic techniques in which they apply for a given scenario.
Standard Identifier: 9-12S.AP.14
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Variables
Practice(s):
Developing and Using Abstractions (4.2)
Standard:
Compare and contrast fundamental data structures and their uses.
Descriptive Statement:
Data structures are designed to provide different ways of storing and manipulating data sets to optimize various aspects of storage or runtime performance. Choice of data structures is made based on expected data characteristics and expected program functions. Students = compare and contrast how basic functions (e.g.., insertion, deletion, and modification) would differ for common data structures including lists, arrays, stacks, and queues. For example, students could draw a diagram of how different data structures change when items are added, deleted, or modified. They could explain tradeoffs in storage and efficiency issues. Alternatively, when presented with a description of a program and the functions it would be most likely to be running, students could list pros and cons for a specific data structure use in that scenario.
Compare and contrast fundamental data structures and their uses.
Descriptive Statement:
Data structures are designed to provide different ways of storing and manipulating data sets to optimize various aspects of storage or runtime performance. Choice of data structures is made based on expected data characteristics and expected program functions. Students = compare and contrast how basic functions (e.g.., insertion, deletion, and modification) would differ for common data structures including lists, arrays, stacks, and queues. For example, students could draw a diagram of how different data structures change when items are added, deleted, or modified. They could explain tradeoffs in storage and efficiency issues. Alternatively, when presented with a description of a program and the functions it would be most likely to be running, students could list pros and cons for a specific data structure use in that scenario.
Showing 11 - 20 of 25 Standards
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881