Skip to main content
California Department of Education Logo

Computer Science Standards




Results


Showing 51 - 60 of 66 Standards

Standard Identifier: 9-12S.AP.10

Grade Range: 9–12 Specialty
Concept: Algorithms & Programming
Subconcept: Algorithms
Practice(s): Recognizing and Defining Computational Problems, Communicating About Computing (3.1, 7.2)

Standard:
Describe how artificial intelligence drives many software and physical systems.

Descriptive Statement:
Artificial intelligence is a sub-discipline of computer science that enables computers to solve problems previously handled by biological systems. There are many applications of artificial intelligence, including computer vision and speech recognition. Students research and explain how artificial intelligence has been employed in a given system. Students are not expected to implement an artificially intelligent system in order to meet this standard. For example, students could observe an artificially intelligent system and notice where its behavior is not human-like, such as when a character in a videogame makes a mistake that a human is unlikely to make, or when a computer easily beats even the best human players at a given game. Alternatively, students could interact with a search engine asking various questions, and after reading articles on the topic, they could explain how the computer is able to respond to queries.

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.

Standard Identifier: 9-12S.AP.13

Grade Range: 9–12 Specialty
Concept: Algorithms & Programming
Subconcept: Algorithms
Practice(s): Recognizing and Defining Computational Problems (3.3)

Standard:
Evaluate algorithms in terms of their efficiency.

Descriptive Statement:
Algorithms that perform the same task can be implemented in different ways, which take different amounts of time to run on a given input set. Algorithms are commonly evaluated using asymptotic analysis (i.e., “Big O”) which involves exploration of behavior when the input set grows very large. Students classify algorithms by the most common time classes (e.g., log n, linear, n log n, and quadratic or higher). For example, students could read a given algorithm, identify the control constructs, and in conjunction with input size, identify the efficiency class of the algorithm.

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.

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.

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.

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.

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.

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).

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).

Showing 51 - 60 of 66 Standards


Questions: Curriculum Frameworks and Instructional Resources Division | CFIRD@cde.ca.gov | 916-319-0881