Skip to main content
California Department of Education Logo

Computer Science Standards




Results


Showing 51 - 60 of 97 Standards

Standard Identifier: 6-8.NI.6

Grade Range: 6–8
Concept: Networks & the Internet
Subconcept: Cybersecurity
Practice(s): Developing and Using Abstractions (4.4)

Standard:
Apply multiple methods of information protection to model the secure transmission of information.

Descriptive Statement:
Digital information is protected using a variety of cryptographic techniques. Cryptography is essential to many models of cybersecurity. At its core, cryptography has a mathematical foundation. Cryptographic encryption can be as simple as letter substitution or as complicated as modern methods used to secure networks and the Internet. Students encode and decode messages using encryption methods, and explore different levels of complexity used to hide or secure information. For example, students could identify methods of secret communication used during the Revolutionary War (e.g., ciphers, secret codes, invisible ink, hidden letters) and then secure their own methods such as substitution ciphers or steganography (i.e., hiding messages inside a picture or other data) to compose a message from either the Continental Army or British Army. (HSS.8.1) Alternatively, students could explore functions and inverse functions for encryption and decryption and consider functions that are complex enough to keep data secure from their peers. (CA CCSS for Mathematics 8.F.1)

Standard Identifier: 9-12.AP.12

Grade Range: 9–12
Concept: Algorithms & Programming
Subconcept: Algorithms
Practice(s): Developing and Using Abstractions, Creating Computational Artifacts (4.2, 5.1)

Standard:
Design algorithms to solve computational problems using a combination of original and existing algorithms.

Descriptive Statement:
Knowledge of common algorithms improves how people develop software, secure data, and store information. Some algorithms may be easier to implement in a particular programming language, work faster, require less memory to store data, and be applicable in a wider variety of situations than other algorithms. Algorithms used to search and sort data are common in a variety of software applications. For example, students could design an algorithm to calculate and display various sports statistics and use common sorting or mathematical algorithms (e.g., average) in the design of the overall algorithm. Alternatively, students could design an algorithm to implement a game and use existing randomization algorithms to place pieces randomly in starting positions or to control the "roll" of a dice or selection of a "card" from a deck.

Standard Identifier: 9-12.AP.13

Grade Range: 9–12
Concept: Algorithms & Programming
Subconcept: Variables
Practice(s): Developing and Using Abstractions (4.1)

Standard:
Create more generalized computational solutions using collections instead of repeatedly using simple variables.

Descriptive Statement:
Computers can automate repetitive tasks with algorithms that use collections to simplify and generalize computational problems. Students identify common features in multiple segments of code and substitute a single segment that uses collections (i.e., arrays, sets, lists) to account for the differences. For example, students could take a program that inputs students' scores into multiple variables and modify it to read these scores into a single array of scores. Alternatively, instead of writing one procedure to find averages of student scores and another to find averages of student absences, students could write a single general average procedure to support both tasks.

Standard Identifier: 9-12.AP.16

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

Standard:
Decompose problems into smaller subproblems through systematic analysis, using constructs such as procedures, modules, and/or classes.

Descriptive Statement:
Decomposition enables solutions to complex problems to be designed and implemented as more manageable subproblems. Students decompose a given problem into subproblems that can be solved using existing functionalities, or new functionalities that they design and implement. For example, students could design a program for supporting soccer coaches in analyzing their teams' statistics. They decompose the problem in terms of managing input, analysis, and output. They decompose the data organization by designing what data will be stored per player, per game, and per team. Team players may be stored as a collection. Data per team player may include: number of shots, misses, saves, assists, penalty kicks, blocks, and corner kicks. Students design methods for supporting various statistical analyses and display options. Students design output formats for individual players or coaches.

Standard Identifier: 9-12.AP.17

Grade Range: 9–12
Concept: Algorithms & Programming
Subconcept: Modularity
Practice(s): Developing and Using Abstractions, Creating Computational Artifacts (4.3, 5.2)

Standard:
Create computational artifacts using modular design.

Descriptive Statement:
Computational artifacts are created by combining and modifying existing computational artifacts and/or by developing new artifacts. To reduce complexity, large programs can be designed as systems of interacting modules, each with a specific role, coordinating for a common overall purpose. Students should create computational artifacts with interacting procedures, modules, and/or libraries. For example, students could incorporate a physics library into an animation of bouncing balls. Alternatively, students could integrate open-source JavaScript libraries to expand the functionality of a web application. Additionally, students could create their own game to teach Spanish vocabulary words using their own modular design (e.g., including methods to: control scoring, manage wordlists, manage access to different game levels, take input from the user, etc.).

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.

Standard Identifier: 9-12.AP.21

Grade Range: 9–12
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Collaborating Around Computing (2.4)

Standard:
Design and develop computational artifacts working in team roles using collaborative tools.

Descriptive Statement:
Collaborative tools can be as complex as a source code version control system or as simple as a collaborative word processor. Team roles in pair programming are driver and navigator but students can take on more specialized roles in larger teams. Teachers or students should choose resources that aid collaborative program development as programs grow more complex. For example, students might work as a team to develop a mobile application that addresses a problem relevant to the school or community, using appropriate tools to support actions such as: establish and manage the project timeline; design, share, and revise graphical user interface elements; implement program components, track planned, in-progress, and completed components, and design and implement user testing.

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.

Standard Identifier: 9-12.CS.1

Grade Range: 9–12
Concept: Computing Systems
Subconcept: Devices
Practice(s): Developing and Using Abstractions (4.1)

Standard:
Describe ways in which abstractions hide the underlying implementation details of computing systems to simplify user experiences.

Descriptive Statement:
An abstraction is a representation of an idea or phenomenon that hides details irrelevant to the question at hand. Computing systems, both stand alone and embedded in products, are often integrated with other systems to simplify user experiences. For example, students could identify geolocation hardware embedded in a smartphone and describe how this simplifies the users experience since the user does not have to enter her own location on the phone. Alternatively, students might select an embedded device such as a car stereo, identify the types of data (e.g., radio station presets, volume level) and procedures (e.g., increase volume, store/recall saved station, mute) it includes, and explain how the implementation details are hidden from the user.

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.

Showing 51 - 60 of 97 Standards


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