Computer Science Standards
Results
Showing 21 - 30 of 32 Standards
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.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.
Standard Identifier: 9-12.CS.3
Grade Range:
9–12
Concept:
Computing Systems
Subconcept:
Troubleshooting
Practice(s):
Testing and Refining Computational Artifacts (6.2)
Standard:
Develop guidelines that convey systematic troubleshooting strategies that others can use to identify and fix errors.
Descriptive Statement:
Troubleshooting complex problems involves the use of multiple sources when researching, evaluating, and implementing potential solutions. Troubleshooting also relies on experience, such as when people recognize that a problem is similar to one they have seen before and adapt solutions that have worked in the past. For example, students could create a list of troubleshooting strategies to debug network connectivity problems such as checking hardware and software status and settings, rebooting devices, and checking security settings. Alternatively, students could create troubleshooting guidelines for help desk employees based on commonly observed problems (e.g., problems connecting a new device to the computer, problems printing from a computer to a network printer).
Develop guidelines that convey systematic troubleshooting strategies that others can use to identify and fix errors.
Descriptive Statement:
Troubleshooting complex problems involves the use of multiple sources when researching, evaluating, and implementing potential solutions. Troubleshooting also relies on experience, such as when people recognize that a problem is similar to one they have seen before and adapt solutions that have worked in the past. For example, students could create a list of troubleshooting strategies to debug network connectivity problems such as checking hardware and software status and settings, rebooting devices, and checking security settings. Alternatively, students could create troubleshooting guidelines for help desk employees based on commonly observed problems (e.g., problems connecting a new device to the computer, problems printing from a computer to a network printer).
Standard Identifier: 9-12.NI.4
Grade Range:
9–12
Concept:
Networks & the Internet
Subconcept:
Network Communication & Organization
Practice(s):
Developing and Using Abstractions (4.1)
Standard:
Describe issues that impact network functionality.
Descriptive Statement:
Many different organizations, including educational, governmental, private businesses, and private households rely on networks to function adequately in order to engage in online commerce and activity. Quality of Service (QoS) refers to the capability of a network to provide better service to selected network traffic over various technologies from the perspective of the consumer. Students define and discuss performance measures that impact network functionality, such as latency, bandwidth, throughput, jitter, and error rate. For example, students could use online network simulators to explore how performance measures impact network functionality and describe impacts when various changes in the network occur. Alternatively, students could describe how pauses in television interviews conducted over satellite telephones are impacted by networking factors such as latency and jitter.
Describe issues that impact network functionality.
Descriptive Statement:
Many different organizations, including educational, governmental, private businesses, and private households rely on networks to function adequately in order to engage in online commerce and activity. Quality of Service (QoS) refers to the capability of a network to provide better service to selected network traffic over various technologies from the perspective of the consumer. Students define and discuss performance measures that impact network functionality, such as latency, bandwidth, throughput, jitter, and error rate. For example, students could use online network simulators to explore how performance measures impact network functionality and describe impacts when various changes in the network occur. Alternatively, students could describe how pauses in television interviews conducted over satellite telephones are impacted by networking factors such as latency and jitter.
Standard Identifier: 9-12.NI.5
Grade Range:
9–12
Concept:
Networks & the Internet
Subconcept:
Network Communication & Organization
Practice(s):
Communicating About Computing (7.2)
Standard:
Describe the design characteristics of the Internet.
Descriptive Statement:
The Internet connects devices and networks all over the world. Large-scale coordination occurs among many different machines across multiple paths every time a web page is opened or an image is viewed online. Through the domain name system (DNS), devices on the Internet can look up Internet Protocol (IP) addresses, allowing end-to-end communication between devices. The design decisions that direct the coordination among systems composing the Internet also allow for scalability and reliability. Students factor historical, cultural, and economic decisions in their explanations of the Internet. For example, students could explain how hierarchy in the DNS supports scalability and reliability. Alternatively, students could describe how the redundancy of routing between two nodes on the Internet increases reliability and scales as the Internet grows.
Describe the design characteristics of the Internet.
Descriptive Statement:
The Internet connects devices and networks all over the world. Large-scale coordination occurs among many different machines across multiple paths every time a web page is opened or an image is viewed online. Through the domain name system (DNS), devices on the Internet can look up Internet Protocol (IP) addresses, allowing end-to-end communication between devices. The design decisions that direct the coordination among systems composing the Internet also allow for scalability and reliability. Students factor historical, cultural, and economic decisions in their explanations of the Internet. For example, students could explain how hierarchy in the DNS supports scalability and reliability. Alternatively, students could describe how the redundancy of routing between two nodes on the Internet increases reliability and scales as the Internet grows.
Standard Identifier: 9-12S.AP.15
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Control
Practice(s):
Recognizing and Defining Computational Problems, Communicating About Computing (3.2, 7.2)
Standard:
Demonstrate the flow of execution of a recursive algorithm.
Descriptive Statement:
Recursion is a powerful problem-solving approach where the problem solution is built on solutions of smaller instances of the same problem. A base case, which returns a result without referencing itself, must be defined, otherwise infinite recursion will occur. Students represent a sequence of calls to a recursive algorithm and show how the process resolves to a solution. For example, students could draw a diagram to illustrate flow of execution by keeping track of parameter and returned values for each recursive call. Alternatively, students could create a video showing the passing of arguments as the recursive algorithm runs.
Demonstrate the flow of execution of a recursive algorithm.
Descriptive Statement:
Recursion is a powerful problem-solving approach where the problem solution is built on solutions of smaller instances of the same problem. A base case, which returns a result without referencing itself, must be defined, otherwise infinite recursion will occur. Students represent a sequence of calls to a recursive algorithm and show how the process resolves to a solution. For example, students could draw a diagram to illustrate flow of execution by keeping track of parameter and returned values for each recursive call. Alternatively, students could create a video showing the passing of arguments as the recursive algorithm runs.
Standard Identifier: 9-12S.AP.16
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Modularity
Practice(s):
Recognizing and Defining Computational Problems, Developing and Using Abstractions (3.2, 4.2)
Standard:
Analyze a large-scale computational problem and identify generalizable patterns or problem components that can be applied to a solution.
Descriptive Statement:
As students encounter complex, real-world problems that span multiple disciplines or social systems, they need to be able to decompose problems and apply already developed code as part of their solutions. Students decompose complex problems into manageable subproblems that could potentially be solved with programs or procedures that can be reused or already exist. For example, in analyzing an Internet radio app, students could identify that users need to create an account and enter a password. They could identify a common application programming interface (API) for checking and displaying password strength. Additionally, students could recognize that the songs would need to be sorted by the time last played in order to display the most recently played songs and identify a common API for sorting dates from most to least recent. Alternatively, in analyzing the problem of tracking medical treatment in a hospital, students could recognize that patient records need to be stored in a database and identify a database solution to support quick access and modification of patient records. Additionally, they could recognize that records in the database need to be stored securely and could identify an encryption API to support the desired level of privacy.
Analyze a large-scale computational problem and identify generalizable patterns or problem components that can be applied to a solution.
Descriptive Statement:
As students encounter complex, real-world problems that span multiple disciplines or social systems, they need to be able to decompose problems and apply already developed code as part of their solutions. Students decompose complex problems into manageable subproblems that could potentially be solved with programs or procedures that can be reused or already exist. For example, in analyzing an Internet radio app, students could identify that users need to create an account and enter a password. They could identify a common application programming interface (API) for checking and displaying password strength. Additionally, students could recognize that the songs would need to be sorted by the time last played in order to display the most recently played songs and identify a common API for sorting dates from most to least recent. Alternatively, in analyzing the problem of tracking medical treatment in a hospital, students could recognize that patient records need to be stored in a database and identify a database solution to support quick access and modification of patient records. Additionally, they could recognize that records in the database need to be stored securely and could identify an encryption API to support the desired level of privacy.
Standard Identifier: 9-12S.AP.17
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Modularity
Practice(s):
Developing and Using Abstractions, Creating Computational Artifacts (4.3, 5.2)
Standard:
Construct solutions to problems using student-created components, such as procedures, modules, and/or objects.
Descriptive Statement:
Programmers often address complex tasks through design and decomposition using procedures and/or modules. In object-oriented programming languages, classes can support this decomposition. Students create a computational artifact that solves a problem through use of procedures, modules, and/or objects. This problem should be of sufficient complexity to benefit from decomposition and/or use of objects. For example, students could write a flashcard program in which each card is able to show both the question and answer and record user history. Alternatively, students could create a simulation of an ecosystem in which sprites carry out behaviors, such as consuming resources.
Construct solutions to problems using student-created components, such as procedures, modules, and/or objects.
Descriptive Statement:
Programmers often address complex tasks through design and decomposition using procedures and/or modules. In object-oriented programming languages, classes can support this decomposition. Students create a computational artifact that solves a problem through use of procedures, modules, and/or objects. This problem should be of sufficient complexity to benefit from decomposition and/or use of objects. For example, students could write a flashcard program in which each card is able to show both the question and answer and record user history. Alternatively, students could create a simulation of an ecosystem in which sprites carry out behaviors, such as consuming resources.
Standard Identifier: 9-12S.AP.18
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Modularity
Practice(s):
Developing and Using Abstractions, Creating Computational Artifacts, Testing and Refining Computational Artifacts (4.2, 5.3, 6.2)
Standard:
Demonstrate code reuse by creating programming solutions using libraries and APIs.
Descriptive Statement:
Code reuse is critical both for managing complexity in modern programs, but also in increasing programming efficiency and reliability by having programmers reuse code that has been highly vetted and tested. Software libraries allow developers to integrate common and often complex functionality without having to reimplement that functionality from scratch. Students identify, evaluate, and select appropriate application programming interfaces (APIs) from software libraries to use with a given language and operating system. They appropriately use resources such as technical documentation, online forums, and developer communities to learn about libraries and troubleshoot problems with APIs that they have chosen. For example, students could import charting and graphing modules to display data sets, adopt an online service that provides cloud storage and retrieval for a database used in a multiplayer game, or import location services into an app that identifies points of interest on a map. Libraries of APIs can be student-created or publicly available (e.g., common graphics libraries or map/navigation APIs).
Demonstrate code reuse by creating programming solutions using libraries and APIs.
Descriptive Statement:
Code reuse is critical both for managing complexity in modern programs, but also in increasing programming efficiency and reliability by having programmers reuse code that has been highly vetted and tested. Software libraries allow developers to integrate common and often complex functionality without having to reimplement that functionality from scratch. Students identify, evaluate, and select appropriate application programming interfaces (APIs) from software libraries to use with a given language and operating system. They appropriately use resources such as technical documentation, online forums, and developer communities to learn about libraries and troubleshoot problems with APIs that they have chosen. For example, students could import charting and graphing modules to display data sets, adopt an online service that provides cloud storage and retrieval for a database used in a multiplayer game, or import location services into an app that identifies points of interest on a map. Libraries of APIs can be student-created or publicly available (e.g., common graphics libraries or map/navigation APIs).
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).
Showing 21 - 30 of 32 Standards
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881