Computer Science Standards
Results
Showing 41 - 47 of 47 Standards
Standard Identifier: 9-12S.AP.24
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Testing and Refining Computational Artifacts (6.3)
Standard:
Evaluate key qualities of a program through a process such as a code review.
Descriptive Statement:
Code reviews are a common software industry practice and valuable for developing technical communication skills. Key qualities of code include correctness, usability, readability, efficiency, and scalability. Students walk through code they created and explain how it works. Additionally, they follow along when someone else is explaining their code and ask appropriate questions. For example, students could present their code to a group or visually inspect code in pairs. Alternatively, in response to another student's presentation, students could provide feedback including comments on correctness of the code, comments on how code interacts with code that calls it, and design and documentation features.
Evaluate key qualities of a program through a process such as a code review.
Descriptive Statement:
Code reviews are a common software industry practice and valuable for developing technical communication skills. Key qualities of code include correctness, usability, readability, efficiency, and scalability. Students walk through code they created and explain how it works. Additionally, they follow along when someone else is explaining their code and ask appropriate questions. For example, students could present their code to a group or visually inspect code in pairs. Alternatively, in response to another student's presentation, students could provide feedback including comments on correctness of the code, comments on how code interacts with code that calls it, and design and documentation features.
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.AP.26
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Communicating About Computing (7.2)
Standard:
Compare multiple programming languages, and discuss how their features make them suitable for solving different types of problems.
Descriptive Statement:
Particular problems may be more effectively solved using some programming languages than other programming languages. Students provide a rationale for why a specific programming language is better suited for a solving a particular class of problem. For example, students could explain how a language with a large library base can make developing a web application easier. Alternatively, students could explain how languages that support particular programming paradigms (e.g., object-oriented or functional) can make implementation more aligned with design choices. Additionally, students could discuss how languages that implement garbage collection are good for simplicity of memory management, but may result in poor performance characteristics.
Compare multiple programming languages, and discuss how their features make them suitable for solving different types of problems.
Descriptive Statement:
Particular problems may be more effectively solved using some programming languages than other programming languages. Students provide a rationale for why a specific programming language is better suited for a solving a particular class of problem. For example, students could explain how a language with a large library base can make developing a web application easier. Alternatively, students could explain how languages that support particular programming paradigms (e.g., object-oriented or functional) can make implementation more aligned with design choices. Additionally, students could discuss how languages that implement garbage collection are good for simplicity of memory management, but may result in poor performance characteristics.
Standard Identifier: 9-12S.CS.1
Grade Range:
9–12 Specialty
Concept:
Computing Systems
Subconcept:
Devices
Practice(s):
Developing and Using Abstractions, Communicating About Computing (4.4, 7.2)
Standard:
Illustrate ways computing systems implement logic through hardware components.
Descriptive Statement:
Computing systems use processors (e.g., a central processing unit or CPU) to execute program instructions. Processors are composed of components that implement the logical or computational operations required by the instructions. AND, OR, and NOT are examples of logic gates. Adders are examples of higher-leveled circuits built using low-level logic gates. Students illustrate how modern computing devices are made up of smaller and simpler components which implement the logic underlying the functionality of a computer processor. At this level, knowledge of how logic gates are constructed is not expected. For example, students could construct truth tables, draw logic circuit diagrams, or use an online logic circuit simulator. Students could explore the interaction of the CPU, RAM, and I/O by labeling a diagram of the von Neumann architecture. Alternatively, students could design higher-level circuits using low-level logic gates (e.g., adders).
Illustrate ways computing systems implement logic through hardware components.
Descriptive Statement:
Computing systems use processors (e.g., a central processing unit or CPU) to execute program instructions. Processors are composed of components that implement the logical or computational operations required by the instructions. AND, OR, and NOT are examples of logic gates. Adders are examples of higher-leveled circuits built using low-level logic gates. Students illustrate how modern computing devices are made up of smaller and simpler components which implement the logic underlying the functionality of a computer processor. At this level, knowledge of how logic gates are constructed is not expected. For example, students could construct truth tables, draw logic circuit diagrams, or use an online logic circuit simulator. Students could explore the interaction of the CPU, RAM, and I/O by labeling a diagram of the von Neumann architecture. Alternatively, students could design higher-level circuits using low-level logic gates (e.g., adders).
Standard Identifier: 9-12S.IC.30
Grade Range:
9–12 Specialty
Concept:
Impacts of Computing
Subconcept:
Safety, Law, & Ethics
Practice(s):
Communicating About Computing (7.2)
Standard:
Debate laws and regulations that impact the development and use of software.
Descriptive Statement:
Laws and regulations influence what software gets developed and how society benefits or does not. For example, students could debate the pros and cons of changes to regulations around net neutrality: Many believe that mandating that Internet service providers (ISPs) maintain net neutrality facilitates competition between Internet-based content providers and supports consumer choice, but others believe such regulations represent government overreach. Alternatively, students could debate the impacts of different copyright rules in various countries and impacts on economy, society, and culture: Long-lasting copyrights in the United States enable creators to profit from their works but also prevent works from entering the public domain where they can be freely used and adapted to create new works.
Debate laws and regulations that impact the development and use of software.
Descriptive Statement:
Laws and regulations influence what software gets developed and how society benefits or does not. For example, students could debate the pros and cons of changes to regulations around net neutrality: Many believe that mandating that Internet service providers (ISPs) maintain net neutrality facilitates competition between Internet-based content providers and supports consumer choice, but others believe such regulations represent government overreach. Alternatively, students could debate the impacts of different copyright rules in various countries and impacts on economy, society, and culture: Long-lasting copyrights in the United States enable creators to profit from their works but also prevent works from entering the public domain where they can be freely used and adapted to create new works.
Standard Identifier: 9-12S.NI.3
Grade Range:
9–12 Specialty
Concept:
Networks & the Internet
Subconcept:
Network Communication & Organization
Practice(s):
Developing and Using Abstractions (4.4)
Standard:
Examine the scalability and reliability of networks, by describing the relationship between routers, switches, servers, topology, and addressing.
Descriptive Statement:
Choice of network topology is determined, in part, by how many devices can be supported and the character of communication needs between devices. Each device is assigned an address that uniquely identifies it on the network. Routers function by comparing addresses to determine how information on the network should reach its desgination. Switches compare addresses to determine which computers will receive information. Students explore and explain how network performance degrades when various factors affect the network. For example, students could use online network simulators to describe how network performance changes when the number of devices increases. Alternatively, students could visualize and describe changes to the distribution of network traffic when a router on the network fails.
Examine the scalability and reliability of networks, by describing the relationship between routers, switches, servers, topology, and addressing.
Descriptive Statement:
Choice of network topology is determined, in part, by how many devices can be supported and the character of communication needs between devices. Each device is assigned an address that uniquely identifies it on the network. Routers function by comparing addresses to determine how information on the network should reach its desgination. Switches compare addresses to determine which computers will receive information. Students explore and explain how network performance degrades when various factors affect the network. For example, students could use online network simulators to describe how network performance changes when the number of devices increases. Alternatively, students could visualize and describe changes to the distribution of network traffic when a router on the network fails.
Standard Identifier: 9-12S.NI.4
Grade Range:
9–12 Specialty
Concept:
Networks & the Internet
Subconcept:
Network Communication & Organization
Practice(s):
Communicating About Computing (7.2)
Standard:
Explain how the characteristics of the Internet influence the systems developed on it.
Descriptive Statement:
The design of the Internet includes hierarchy and redundancy to help it scale reliably. An end-to-end architecture means that key functions are placed at endpoints in the network (i.e., an Internet user's computer and the server hosting a website) rather than in the middle of the network. Open standards for transmitting information across the Internet help fuel its growth. This design philosophy impacts systems and technologies that integrate with the Internet. Students explain how Internet-based systems depend on these characteristics. For example, students could explain how having common, standard protocols enable products and services from different developers to communicate. Alternatively, students could describe how the end-to-end architecture and redundancy in routing enables Internet users to access information and services even if part of the network is down; the information can still be routed from one end to another through a different path.
Explain how the characteristics of the Internet influence the systems developed on it.
Descriptive Statement:
The design of the Internet includes hierarchy and redundancy to help it scale reliably. An end-to-end architecture means that key functions are placed at endpoints in the network (i.e., an Internet user's computer and the server hosting a website) rather than in the middle of the network. Open standards for transmitting information across the Internet help fuel its growth. This design philosophy impacts systems and technologies that integrate with the Internet. Students explain how Internet-based systems depend on these characteristics. For example, students could explain how having common, standard protocols enable products and services from different developers to communicate. Alternatively, students could describe how the end-to-end architecture and redundancy in routing enables Internet users to access information and services even if part of the network is down; the information can still be routed from one end to another through a different path.
Showing 41 - 47 of 47 Standards
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881