Computer Science Standards
Results
Showing 11 - 20 of 20 Standards
Standard Identifier: 6-8.AP.19
Grade Range:
6–8
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Communicating About Computing (7.2)
Standard:
Document programs in order to make them easier to use, read, test, and debug.
Descriptive Statement:
Documentation allows creators, end users, and other developers to more easily use and understand a program. Students provide documentation for end users that explains their artifacts and how they function (e.g., project overview, user instructions). They also include comments within code to describe portions of their programs and make it easier for themselves and other developers to use, read, test, and debug. For example, students could add comments to describe functionality of different segments of code (e.g., input scores between 0 and 100, check for invalid input, calculate and display the average of the scores). They could also communicate the process used by writing design documents, creating flowcharts, or making presentations. (CA CCSS for ELA/Literacy SL.6.5, SL.7.5, SL.8.5)
Document programs in order to make them easier to use, read, test, and debug.
Descriptive Statement:
Documentation allows creators, end users, and other developers to more easily use and understand a program. Students provide documentation for end users that explains their artifacts and how they function (e.g., project overview, user instructions). They also include comments within code to describe portions of their programs and make it easier for themselves and other developers to use, read, test, and debug. For example, students could add comments to describe functionality of different segments of code (e.g., input scores between 0 and 100, check for invalid input, calculate and display the average of the scores). They could also communicate the process used by writing design documents, creating flowcharts, or making presentations. (CA CCSS for ELA/Literacy SL.6.5, SL.7.5, SL.8.5)
Standard Identifier: 6-8.DA.8
Grade Range:
6–8
Concept:
Data & Analysis
Subconcept:
Collection, Visualization, & Transformation
Practice(s):
Communicating About Computing (7.1)
Standard:
Collect data using computational tools and transform the data to make it more useful.
Descriptive Statement:
Data collection has become easier and more ubiquitous. The cleaning of data is an important transformation for ensuring consistent format, reducing noise and errors (e.g., removing irrelevant responses in a survey), and/or making it easier for computers to process. Students build on their ability to organize and present data visually to support a claim, understanding when and how to transform data so information can be more easily extracted. Students also transform data to highlight or expose relationships. For example, students could use computational tools to collect data from their peers regarding the percentage of time technology is used for school work and entertainment, and then create digital displays of their data and findings. Students could then transform the data to highlight relationships representing males and females as percentages of a whole instead of as individual counts. (CA CCSS for Mathematics 6.SP.4, 7.SP.3, 8.SP.1, 8.SP.4) Alternatively, students could collect data from online forms and surveys, from a sensor, or by scraping a web page, and then transform the data to expose relationships. They could highlight the distribution of data (e.g., words on a web page, readings from a sensor) by giving quantitative measures of center and variability. (CA CCSS for Mathematics 6.SP.5.c, 7.SP.4)
Collect data using computational tools and transform the data to make it more useful.
Descriptive Statement:
Data collection has become easier and more ubiquitous. The cleaning of data is an important transformation for ensuring consistent format, reducing noise and errors (e.g., removing irrelevant responses in a survey), and/or making it easier for computers to process. Students build on their ability to organize and present data visually to support a claim, understanding when and how to transform data so information can be more easily extracted. Students also transform data to highlight or expose relationships. For example, students could use computational tools to collect data from their peers regarding the percentage of time technology is used for school work and entertainment, and then create digital displays of their data and findings. Students could then transform the data to highlight relationships representing males and females as percentages of a whole instead of as individual counts. (CA CCSS for Mathematics 6.SP.4, 7.SP.3, 8.SP.1, 8.SP.4) Alternatively, students could collect data from online forms and surveys, from a sensor, or by scraping a web page, and then transform the data to expose relationships. They could highlight the distribution of data (e.g., words on a web page, readings from a sensor) by giving quantitative measures of center and variability. (CA CCSS for Mathematics 6.SP.5.c, 7.SP.4)
Standard Identifier: 9-12.AP.19
Grade Range:
9–12
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Communicating About Computing (7.3)
Standard:
Explain the limitations of licenses that restrict use of computational artifacts when using resources such as libraries.
Descriptive Statement:
Software licenses include copyright, freeware, and open-source licensing schemes. Licenses are used to protect the intellectual property of the author while also defining accessibility of the code. Students consider licensing implications for their own work, especially when incorporating libraries and other resources. For example, students might consider two software libraries that address a similar need, justifying their choice of one over the other. The choice could be based upon least restrictive licensing or further protections for their own intellectual property.
Explain the limitations of licenses that restrict use of computational artifacts when using resources such as libraries.
Descriptive Statement:
Software licenses include copyright, freeware, and open-source licensing schemes. Licenses are used to protect the intellectual property of the author while also defining accessibility of the code. Students consider licensing implications for their own work, especially when incorporating libraries and other resources. For example, students might consider two software libraries that address a similar need, justifying their choice of one over the other. The choice could be based upon least restrictive licensing or further protections for their own intellectual property.
Standard Identifier: 9-12.AP.22
Grade Range:
9–12
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Communicating About Computing (7.2)
Standard:
Document decisions made during the design process using text, graphics, presentations, and/or demonstrations in the development of complex programs.
Descriptive Statement:
Complex programs are often iteratively designed as systems of interacting modules, each with a specific role, coordinating for a common overall purpose. Comments are included in code both to document the purpose of modules as well as the implementation details within a module. Together these support documentation of the design process. Students use resources such as libraries and tools to edit and manage parts of the program and corresponding documentation. For example, during development of a computational artifact students could comment their code (with date, modification, and rationale), sketch a flowchart to summarize control flow in a code journal, and share ideas and updates on a white board. Students may document their logic by explaining the development process and presenting to the class. The presentation could include photos of their white board, a video or screencast explaining the development process, or recorded audio description.
Document decisions made during the design process using text, graphics, presentations, and/or demonstrations in the development of complex programs.
Descriptive Statement:
Complex programs are often iteratively designed as systems of interacting modules, each with a specific role, coordinating for a common overall purpose. Comments are included in code both to document the purpose of modules as well as the implementation details within a module. Together these support documentation of the design process. Students use resources such as libraries and tools to edit and manage parts of the program and corresponding documentation. For example, during development of a computational artifact students could comment their code (with date, modification, and rationale), sketch a flowchart to summarize control flow in a code journal, and share ideas and updates on a white board. Students may document their logic by explaining the development process and presenting to the class. The presentation could include photos of their white board, a video or screencast explaining the development process, or recorded audio description.
Standard Identifier: 9-12.CS.2
Grade Range:
9–12
Concept:
Computing Systems
Subconcept:
Hardware & Software
Practice(s):
Developing and Using Abstractions (4.1)
Standard:
Compare levels of abstraction and interactions between application software, system software, and hardware.
Descriptive Statement:
At its most basic level, a computer is composed of physical hardware on which software runs. Multiple layers of software are built upon various layers of hardware. Layers manage interactions and complexity in the computing system. System software manages a computing device's resources so that software can interact with hardware. Application software communicates with the user and the system software to accomplish its purpose. Students compare and describe how application software, system software, and hardware interact. For example, students could compare how various levels of hardware and software interact when a picture is to be taken on a smartphone. Systems software provides low-level commands to operate the camera hardware, but the application software interacts with system software at a higher level by requesting a common image file format (e.g., .png) that the system software provides.
Compare levels of abstraction and interactions between application software, system software, and hardware.
Descriptive Statement:
At its most basic level, a computer is composed of physical hardware on which software runs. Multiple layers of software are built upon various layers of hardware. Layers manage interactions and complexity in the computing system. System software manages a computing device's resources so that software can interact with hardware. Application software communicates with the user and the system software to accomplish its purpose. Students compare and describe how application software, system software, and hardware interact. For example, students could compare how various levels of hardware and software interact when a picture is to be taken on a smartphone. Systems software provides low-level commands to operate the camera hardware, but the application software interacts with system software at a higher level by requesting a common image file format (e.g., .png) that the system software provides.
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.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.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.
Showing 11 - 20 of 20 Standards
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881