Computer Science Standards
Results
Showing 11 - 18 of 18 Standards
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: 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.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.IC.27
Grade Range:
9–12
Concept:
Impacts of Computing
Subconcept:
Social Interactions
Practice(s):
Collaborating Around Computing (2.4)
Standard:
Use collaboration tools and methods to increase connectivity with people of different cultures and careers.
Descriptive Statement:
Increased digital connectivity and communication between people across a variety of cultures and in differing professions has changed the collaborative nature of personal and professional interaction. Students identify, explain, and use appropriate collaborative tools. For example, students could compare ways that various technological collaboration tools could help a team become more cohesive and then choose one of these tools to manage their teamwork. Alternatively, students could use different collaborative tools and methods to solicit input from not only team members and classmates but also others, such as participants in online forums or local communities.
Use collaboration tools and methods to increase connectivity with people of different cultures and careers.
Descriptive Statement:
Increased digital connectivity and communication between people across a variety of cultures and in differing professions has changed the collaborative nature of personal and professional interaction. Students identify, explain, and use appropriate collaborative tools. For example, students could compare ways that various technological collaboration tools could help a team become more cohesive and then choose one of these tools to manage their teamwork. Alternatively, students could use different collaborative tools and methods to solicit input from not only team members and classmates but also others, such as participants in online forums or local communities.
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.19
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Collaborating Around Computing, Creating Computational Artifacts (2.2, 2.3, 5.2)
Standard:
Plan and develop programs for broad audiences using a specific software life cycle process.
Descriptive Statement:
Software development processes are used to help manage the design, development, and product/project management of a software solution. Various types of processes have been developed over time to meet changing needs in the software landscape. The systems development life cycle (SDLC), also referred to as the application development life cycle, is a term used in systems engineering, information systems, and software engineering to describe a process for planning, creating, testing, and deploying an information system. Other examples of common processes could include agile, spiral, or waterfall. Students develop a program following a specific software life cycle process, with proper scaffolding from the teacher. For example, students could work in teams on a common project using the agile development process, which is based on breaking product development work into small increments. Alternatively, students could be guided in implementing sprints to focus work on daily standup meetings or scrums to support efficient communication.
Plan and develop programs for broad audiences using a specific software life cycle process.
Descriptive Statement:
Software development processes are used to help manage the design, development, and product/project management of a software solution. Various types of processes have been developed over time to meet changing needs in the software landscape. The systems development life cycle (SDLC), also referred to as the application development life cycle, is a term used in systems engineering, information systems, and software engineering to describe a process for planning, creating, testing, and deploying an information system. Other examples of common processes could include agile, spiral, or waterfall. Students develop a program following a specific software life cycle process, with proper scaffolding from the teacher. For example, students could work in teams on a common project using the agile development process, which is based on breaking product development work into small increments. Alternatively, students could be guided in implementing sprints to focus work on daily standup meetings or scrums to support efficient communication.
Standard Identifier: 9-12S.AP.25
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Collaborating Around Computing, Creating Computational Artifacts (2.4, 5.2)
Standard:
Use version control systems, integrated development environments (IDEs), and collaborative tools and practices (e.g., code documentation) while developing software within a group.
Descriptive Statement:
Software development is a process that benefits from the use of tools that manage complexity, iterative development, and collaboration. Large or complex software projects often require contributions from multiple developers. Version control systems and other collaborative tools and practices help coordinate the process and products contributed by individuals on a development team. An integrated development environment (IDE) is a program within which a developer implements, compiles or interprets, tests, debugs, and deploys a software project. Students use common software development and documentation support tools in the context of a group software development project. At this level, facility with the full functionality available in the collaborative tools is not expected. For example, students could use common version control systems to modify and improve code or revert to a previous code version. Alternatively, students could use appropriate IDEs to support more efficient code design and development. Additionally, students could use various collaboration, communication, and code documentation tools designed to support groups engaging in complex and interrelated work.
Use version control systems, integrated development environments (IDEs), and collaborative tools and practices (e.g., code documentation) while developing software within a group.
Descriptive Statement:
Software development is a process that benefits from the use of tools that manage complexity, iterative development, and collaboration. Large or complex software projects often require contributions from multiple developers. Version control systems and other collaborative tools and practices help coordinate the process and products contributed by individuals on a development team. An integrated development environment (IDE) is a program within which a developer implements, compiles or interprets, tests, debugs, and deploys a software project. Students use common software development and documentation support tools in the context of a group software development project. At this level, facility with the full functionality available in the collaborative tools is not expected. For example, students could use common version control systems to modify and improve code or revert to a previous code version. Alternatively, students could use appropriate IDEs to support more efficient code design and development. Additionally, students could use various collaboration, communication, and code documentation tools designed to support groups engaging in complex and interrelated work.
Standard Identifier: 9-12S.NI.6
Grade Range:
9–12 Specialty
Concept:
Networks & the Internet
Subconcept:
Cybersecurity
Practice(s):
Recognizing and Defining Computational Problems, Developing and Using Abstractions (3.3, 4.2)
Standard:
Analyze cryptographic techniques to model the secure transmission of information.
Descriptive Statement:
Cryptography is essential to many models of cybersecurity. Open standards help to ensure cryptographic security. Certificate Authorities (CAs) issue digital certificates that validate the ownership of encrypted keys used in secured communications across the Internet. Students encode and decode messages using encryption and decryption methods, and they should understand the different levels of complexity to hide or secure information. For example, students could analyze the relative designs of private key vs. public key encryption techniques and apply the best choice for a particular scenario. Alternatively, students could analyze the design of the Diffie-Helman algorithm to RSA (Rivest–Shamir–Adleman) and apply the best choice for a particular scenario. They could provide a cost-benefit analysis of runtime and ease of cracking for various encryption techniques which are commonly used to secure transmission of data over the Internet.
Analyze cryptographic techniques to model the secure transmission of information.
Descriptive Statement:
Cryptography is essential to many models of cybersecurity. Open standards help to ensure cryptographic security. Certificate Authorities (CAs) issue digital certificates that validate the ownership of encrypted keys used in secured communications across the Internet. Students encode and decode messages using encryption and decryption methods, and they should understand the different levels of complexity to hide or secure information. For example, students could analyze the relative designs of private key vs. public key encryption techniques and apply the best choice for a particular scenario. Alternatively, students could analyze the design of the Diffie-Helman algorithm to RSA (Rivest–Shamir–Adleman) and apply the best choice for a particular scenario. They could provide a cost-benefit analysis of runtime and ease of cracking for various encryption techniques which are commonly used to secure transmission of data over the Internet.
Showing 11 - 18 of 18 Standards
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881