Computer Science Standards
Results
Showing 11 - 19 of 19 Standards
Standard Identifier: 9-12.AP.15
Grade Range:
9–12
Concept:
Algorithms & Programming
Subconcept:
Control
Practice(s):
Creating Computational Artifacts (5.1, 5.2, 5.3)
Standard:
Iteratively design and develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
Descriptive Statement:
In this context, relevant computational artifacts can include programs, mobile apps, or web apps. Events can be user-initiated, such as a button press, or system-initiated, such as a timer firing. For example, students might create a tool for drawing on a canvas by first implementing a button to set the color of the pen. Alternatively, students might create a game where many events control instructions executed (e.g., when a score climbs above a threshold, a congratulatory sound is played; when a user clicks on an object, the object is loaded into a basket; when a user clicks on an arrow key, the player object is moved around the screen).
Iteratively design and develop computational artifacts for practical intent, personal expression, or to address a societal issue by using events to initiate instructions.
Descriptive Statement:
In this context, relevant computational artifacts can include programs, mobile apps, or web apps. Events can be user-initiated, such as a button press, or system-initiated, such as a timer firing. For example, students might create a tool for drawing on a canvas by first implementing a button to set the color of the pen. Alternatively, students might create a game where many events control instructions executed (e.g., when a score climbs above a threshold, a congratulatory sound is played; when a user clicks on an object, the object is loaded into a basket; when a user clicks on an arrow key, the player object is moved around the screen).
Standard Identifier: 9-12.AP.18
Grade Range:
9–12
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Fostering an Inclusive Computing Culture, Creating Computational Artifacts (1.1, 5.1)
Standard:
Systematically design programs for broad audiences by incorporating feedback from users.
Descriptive Statement:
Programmers use a systematic design and review process to meet the needs of a broad audience. The process includes planning to meet user needs, developing software for broad audiences, testing users from a cross-section of the audience, and refining designs based on feedback. For example, students could create a user satisfaction survey and brainstorm distribution methods to collect feedback about a mobile application. After collecting feedback from a diverse audience, students could incorporate feedback into their product design. Alternatively, while developing an e-textiles project with human touch sensors, students could collect data from peers and identify design changes needed to improve usability by users of different needs.
Systematically design programs for broad audiences by incorporating feedback from users.
Descriptive Statement:
Programmers use a systematic design and review process to meet the needs of a broad audience. The process includes planning to meet user needs, developing software for broad audiences, testing users from a cross-section of the audience, and refining designs based on feedback. For example, students could create a user satisfaction survey and brainstorm distribution methods to collect feedback about a mobile application. After collecting feedback from a diverse audience, students could incorporate feedback into their product design. Alternatively, while developing an e-textiles project with human touch sensors, students could collect data from peers and identify design changes needed to improve usability by users of different needs.
Standard Identifier: 9-12.DA.10
Grade Range:
9–12
Concept:
Data & Analysis
Subconcept:
Collection, Visualization, & Transformation
Practice(s):
Creating Computational Artifacts (5.2)
Standard:
Create data visualizations to help others better understand real-world phenomena.
Descriptive Statement:
People transform, generalize, simplify, and present large data sets in different ways to influence how other people interpret and understand the underlying information. Students select relevant data from large or complex data sets in support of a claim or to communicate the information in a more sophisticated manner. Students use software tools or programming to perform a range of mathematical operations to transform and analyze data and create powerful data visualizations (that reveal patterns in the data). For example, students could create data visualizations to reveal patterns in voting data by state, gender, political affiliation, or socioeconomic status. Alternatively, students could use U.S. government data on criticially endangered animals to visualize population change over time.
Create data visualizations to help others better understand real-world phenomena.
Descriptive Statement:
People transform, generalize, simplify, and present large data sets in different ways to influence how other people interpret and understand the underlying information. Students select relevant data from large or complex data sets in support of a claim or to communicate the information in a more sophisticated manner. Students use software tools or programming to perform a range of mathematical operations to transform and analyze data and create powerful data visualizations (that reveal patterns in the data). For example, students could create data visualizations to reveal patterns in voting data by state, gender, political affiliation, or socioeconomic status. Alternatively, students could use U.S. government data on criticially endangered animals to visualize population change over time.
Standard Identifier: 9-12S.AP.11
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Algorithms
Practice(s):
Recognizing and Defining Computational Problems, Creating Computational Artifacts (3.1, 5.3)
Standard:
Implement an algorithm that uses artificial intelligence to overcome a simple challenge.
Descriptive Statement:
Artificial intelligence algorithms allow a computer to perceive and move in the world, use knowledge, and engage in problem solving. Students create a computational artifact that is able to carry out a simple task commonly performed by living organisms. Students do not need to realistically simulate human behavior or solve a complex problem in order to meet this standard. For example, students could implement an algorithm for playing tic-tac-toe that would select an appropriate location for the next move. Alternatively, students could implement an algorithm that allows a solar-powered robot to move to a sunny location when its batteries are low.
Implement an algorithm that uses artificial intelligence to overcome a simple challenge.
Descriptive Statement:
Artificial intelligence algorithms allow a computer to perceive and move in the world, use knowledge, and engage in problem solving. Students create a computational artifact that is able to carry out a simple task commonly performed by living organisms. Students do not need to realistically simulate human behavior or solve a complex problem in order to meet this standard. For example, students could implement an algorithm for playing tic-tac-toe that would select an appropriate location for the next move. Alternatively, students could implement an algorithm that allows a solar-powered robot to move to a sunny location when its batteries are low.
Standard Identifier: 9-12S.AP.12
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Algorithms
Practice(s):
Developing and Using Abstractions, Creating Computational Artifacts (4.2, 5.2)
Standard:
Implement searching and sorting algorithms to solve computational problems.
Descriptive Statement:
One of the core uses of computers is to store, organize, and retrieve information when working with large amounts of data. Students create computational artifacts that use searching and/or sorting algorithms to retrieve, organize, or store information. Students do not need to select their algorithm based on efficiency. For example, students could write a script to sequence their classmates in order from youngest to oldest. Alternatively, students could write a program to find certain words within a text and report their location.
Implement searching and sorting algorithms to solve computational problems.
Descriptive Statement:
One of the core uses of computers is to store, organize, and retrieve information when working with large amounts of data. Students create computational artifacts that use searching and/or sorting algorithms to retrieve, organize, or store information. Students do not need to select their algorithm based on efficiency. For example, students could write a script to sequence their classmates in order from youngest to oldest. Alternatively, students could write a program to find certain words within a text and report their location.
Standard Identifier: 9-12S.AP.19
Grade Range:
9–12 Specialty
Concept:
Algorithms & Programming
Subconcept:
Program Development
Practice(s):
Collaborating Around Computing, Creating Computational Artifacts (2.2, 2.3, 5.2)
Standard:
Plan and develop programs for broad audiences using a specific software life cycle process.
Descriptive Statement:
Software development processes are used to help manage the design, development, and product/project management of a software solution. Various types of processes have been developed over time to meet changing needs in the software landscape. The systems development life cycle (SDLC), also referred to as the application development life cycle, is a term used in systems engineering, information systems, and software engineering to describe a process for planning, creating, testing, and deploying an information system. Other examples of common processes could include agile, spiral, or waterfall. Students develop a program following a specific software life cycle process, with proper scaffolding from the teacher. For example, students could work in teams on a common project using the agile development process, which is based on breaking product development work into small increments. Alternatively, students could be guided in implementing sprints to focus work on daily standup meetings or scrums to support efficient communication.
Plan and develop programs for broad audiences using a specific software life cycle process.
Descriptive Statement:
Software development processes are used to help manage the design, development, and product/project management of a software solution. Various types of processes have been developed over time to meet changing needs in the software landscape. The systems development life cycle (SDLC), also referred to as the application development life cycle, is a term used in systems engineering, information systems, and software engineering to describe a process for planning, creating, testing, and deploying an information system. Other examples of common processes could include agile, spiral, or waterfall. Students develop a program following a specific software life cycle process, with proper scaffolding from the teacher. For example, students could work in teams on a common project using the agile development process, which is based on breaking product development work into small increments. Alternatively, students could be guided in implementing sprints to focus work on daily standup meetings or scrums to support efficient communication.
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.
Showing 11 - 19 of 19 Standards
Questions: Curriculum Frameworks and Instructional Resources Division |
CFIRD@cde.ca.gov | 916-319-0881