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.IC.27
Grade Range:
9–12 Specialty
Concept:
Impacts of Computing
Subconcept:
Culture
Practice(s):
Fostering an Inclusive Computing Culture, Testing and Refining Computational Artifacts (1.2, 6.1)
Standard:
Evaluate computational artifacts with regard to improving their beneficial effects and reducing harmful effects on society.
Descriptive Statement:
People design computational artifacts to help make the lives of humans better. Students evaluate an artifact and comment on aspects of it which positively or negatively impact users and give ideas for reducing the possible negative impacts. For example, students could discuss how algorithms that screen job candidates' resumes can cut costs for companies (a beneficial effect) but introduce or amplify bias in the hiring process (a harmful effect). Alternatively, students could discuss how turn-by-turn navigation tools can help drivers avoid traffic and find alternate routes (a beneficial effect), but sometimes channel large amounts of traffic down small neighborhood streets (a harmful effect). Additionally, students could discuss how social media algorithms can help direct users' attention to interesting content (a beneficial effect), while simultaneously limiting users' exposure to information that contradicts pre-existing beliefs (a harmful effect).
Evaluate computational artifacts with regard to improving their beneficial effects and reducing harmful effects on society.
Descriptive Statement:
People design computational artifacts to help make the lives of humans better. Students evaluate an artifact and comment on aspects of it which positively or negatively impact users and give ideas for reducing the possible negative impacts. For example, students could discuss how algorithms that screen job candidates' resumes can cut costs for companies (a beneficial effect) but introduce or amplify bias in the hiring process (a harmful effect). Alternatively, students could discuss how turn-by-turn navigation tools can help drivers avoid traffic and find alternate routes (a beneficial effect), but sometimes channel large amounts of traffic down small neighborhood streets (a harmful effect). Additionally, students could discuss how social media algorithms can help direct users' attention to interesting content (a beneficial effect), while simultaneously limiting users' exposure to information that contradicts pre-existing beliefs (a harmful effect).
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.29
Grade Range:
9–12 Specialty
Concept:
Impacts of Computing
Subconcept:
Culture
Practice(s):
Fostering an Inclusive Computing Culture (1.2)
Standard:
Evaluate the impact of equity, access, and influence on the distribution of computing resources in a global society.
Descriptive Statement:
Computers, computation, and technology can help improve the lives of humans and support positive developments in society, economy, and/or culture. However, access to such resources is not the same for everyone in the world. Students define and evaluate ways in which different technologies, applications, or computational tools might benefit all people in society or might only benefit those with the greatest access or resources. For example, students could describe ways in which groups of people benefit, do not benefit, or could benefit better by access to high-speed Internet connectivity. Alternatively, students could describe educational impacts of children not having access to a computer in their home.
Evaluate the impact of equity, access, and influence on the distribution of computing resources in a global society.
Descriptive Statement:
Computers, computation, and technology can help improve the lives of humans and support positive developments in society, economy, and/or culture. However, access to such resources is not the same for everyone in the world. Students define and evaluate ways in which different technologies, applications, or computational tools might benefit all people in society or might only benefit those with the greatest access or resources. For example, students could describe ways in which groups of people benefit, do not benefit, or could benefit better by access to high-speed Internet connectivity. Alternatively, students could describe educational impacts of children not having access to a computer in their home.
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 41 - 47 of 47 Standards
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881