Computer Science Standards
Results
Showing 51 - 60 of 62 Standards
Standard Identifier: 9-12S.AP.20
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Creating Computational Artifacts (5.2)
Standard:
Develop programs for multiple computing platforms.
Descriptive Statement:
Humans use computers in various forms in their lives and work. Depending on the situation, software solutions are more appropriate or valuable when available on different computational platforms or devices. Students develop programs for more than one computing platform (e.g. desktop, web, or mobile). For example, students could develop a mobile app for a location-aware software product and a different program that is installed on a computer. Alternatively, students could create a browser-based product and make it accessible across multiple platforms or computers (e.g., email).
Develop programs for multiple computing platforms.
Descriptive Statement:
Humans use computers in various forms in their lives and work. Depending on the situation, software solutions are more appropriate or valuable when available on different computational platforms or devices. Students develop programs for more than one computing platform (e.g. desktop, web, or mobile). For example, students could develop a mobile app for a location-aware software product and a different program that is installed on a computer. Alternatively, students could create a browser-based product and make it accessible across multiple platforms or computers (e.g., email).
Standard Identifier: 9-12S.AP.23
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Developing and Using Abstractions, Creating Computational Artifacts (4.2, 5.3)
Standard:
Modify an existing program to add additional functionality and discuss intended and unintended implications.
Descriptive Statement:
Modularity and code reuse is key in modern software. However, when code is modified, the programmer should consider relevant situations in which this code might be used in other places. Students create and document modifications to existing programs that enhance functionality, and then identify, document, and correct unintended consequences. For example, students could take an existing a procedure that calculates the average of a set of numbers and returns an integer (which lacks precision) and modify it to return a floating-point number instead. The student would explain how the change might impact multiple scenarios.
Modify an existing program to add additional functionality and discuss intended and unintended implications.
Descriptive Statement:
Modularity and code reuse is key in modern software. However, when code is modified, the programmer should consider relevant situations in which this code might be used in other places. Students create and document modifications to existing programs that enhance functionality, and then identify, document, and correct unintended consequences. For example, students could take an existing a procedure that calculates the average of a set of numbers and returns an integer (which lacks precision) and modify it to return a floating-point number instead. The student would explain how the change might impact multiple scenarios.
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.CS.2
Grade Range:
9–12 Specialty
Concept:
Computing Systems
Subconcept:
Hardware & Software
Practice(s):
Communicating About Computing (7.2)
Standard:
Categorize and describe the different functions of operating system software.
Descriptive Statement:
Operating systems (OS) software is the code that manages the computer’s basic functions. Students describe at a high level the different functions of different components of operating system software. Examples of functions could include memory management, data storage/retrieval, processes management, and access control. For example, students could use monitoring tools including within an OS to inspect the services and functions running on a system and create an artifact to describe the activity that they observed (e.g., when a browser is running with many tabs open, memory usage is increased). They could also inspect and describe changes in the activity monitor that occur as different applications are executing (e.g., processor utilization increases when a new application is launched).
Categorize and describe the different functions of operating system software.
Descriptive Statement:
Operating systems (OS) software is the code that manages the computer’s basic functions. Students describe at a high level the different functions of different components of operating system software. Examples of functions could include memory management, data storage/retrieval, processes management, and access control. For example, students could use monitoring tools including within an OS to inspect the services and functions running on a system and create an artifact to describe the activity that they observed (e.g., when a browser is running with many tabs open, memory usage is increased). They could also inspect and describe changes in the activity monitor that occur as different applications are executing (e.g., processor utilization increases when a new application is launched).
Standard Identifier: 9-12S.DA.7
Grade Range:
9–12 Specialty
Concept:
Data & Analysis
Subconcept:
Collection, Visualization, & Transformation
Practice(s):
Communicating About Computing (7.1)
Standard:
Select and use data collection tools and techniques to generate data sets.
Descriptive Statement:
Data collection and organization is essential for obtaining new information insights and revealing new knowledge in our modern world. As computers are able to process larger sets of data, gathering data in an efficient and reliable matter remains important. The choice of data collection tools and quality of the data collected influences how new information, insights, and knowledge will support claims and be communicated. Students devise a reliable method to gather information, use software to extract digital data from data sets, and clean and organize the data in ways that support summaries of information obtained from the data. At this level, students may, but are not required to, create their own data collection tools. For example, students could create a computational artifact that records information from a sonic distance sensor to monitor the motion of a prototype vehicle. Alternatively, students could develop a reliable and practical way to automatically digitally record the number of animals entering a portion of a field to graze. Additionally, students could also find a web site containing data (e.g., race results for a major marathon), scrape the data from the web site using data collection tools, and format the data so it can be analyzed.
Select and use data collection tools and techniques to generate data sets.
Descriptive Statement:
Data collection and organization is essential for obtaining new information insights and revealing new knowledge in our modern world. As computers are able to process larger sets of data, gathering data in an efficient and reliable matter remains important. The choice of data collection tools and quality of the data collected influences how new information, insights, and knowledge will support claims and be communicated. Students devise a reliable method to gather information, use software to extract digital data from data sets, and clean and organize the data in ways that support summaries of information obtained from the data. At this level, students may, but are not required to, create their own data collection tools. For example, students could create a computational artifact that records information from a sonic distance sensor to monitor the motion of a prototype vehicle. Alternatively, students could develop a reliable and practical way to automatically digitally record the number of animals entering a portion of a field to graze. Additionally, students could also find a web site containing data (e.g., race results for a major marathon), scrape the data from the web site using data collection tools, and format the data so it can be analyzed.
Standard Identifier: 9-12S.DA.8
Grade Range:
9–12 Specialty
Concept:
Data & Analysis
Subconcept:
Collection, Visualization, & Transformation
Practice(s):
Developing and Using Abstractions, Communicating About Computing (4.1, 7.1)
Standard:
Use data analysis tools and techniques to identify patterns in data representing complex systems.
Descriptive Statement:
Data analysis tools can be useful for identifying patterns in large amounts of data in many different fields. Computers can help with the processing of extremely large sets of data making very complex systems manageable. Students use computational tools to analyze, summarize, and visualize a large set of data. For example, students could analyze a data set containing marathon times and determine how age, gender, weather, and course features correlate with running times. Alternatively, students could analyze a data set of social media interactions to identify the most influential users and visualize the intersections between different social groups.
Use data analysis tools and techniques to identify patterns in data representing complex systems.
Descriptive Statement:
Data analysis tools can be useful for identifying patterns in large amounts of data in many different fields. Computers can help with the processing of extremely large sets of data making very complex systems manageable. Students use computational tools to analyze, summarize, and visualize a large set of data. For example, students could analyze a data set containing marathon times and determine how age, gender, weather, and course features correlate with running times. Alternatively, students could analyze a data set of social media interactions to identify the most influential users and visualize the intersections between different social groups.
Standard Identifier: 9-12S.IC.28
Grade Range:
9–12 Specialty
Concept:
Impacts of Computing
Subconcept:
Culture
Practice(s):
Communicating About Computing (7.2)
Standard:
Evaluate how computational innovations that have revolutionized aspects of our culture might evolve.
Descriptive Statement:
It is important to be able to evaluate current technologies and innovations and their potential for future impact on society. Students describe how a given computational innovation might change in the future and impacts these evolutions could have on society, economy, or culture. For example, students could consider ways in which computers may support education (or healthcare) in the future, or how developments in virtual reality might impact arts and entertainment. Alternatively, students could consider how autonomous vehicles will affect individuals' car ownership and car use habits as well as industries that employ human drivers (e.g., trucking, taxi service).
Evaluate how computational innovations that have revolutionized aspects of our culture might evolve.
Descriptive Statement:
It is important to be able to evaluate current technologies and innovations and their potential for future impact on society. Students describe how a given computational innovation might change in the future and impacts these evolutions could have on society, economy, or culture. For example, students could consider ways in which computers may support education (or healthcare) in the future, or how developments in virtual reality might impact arts and entertainment. Alternatively, students could consider how autonomous vehicles will affect individuals' car ownership and car use habits as well as industries that employ human drivers (e.g., trucking, taxi service).
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.
Showing 51 - 60 of 62 Standards
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881