Skip to main content
California Department of Education Logo

Computer Science Standards




Results


Showing 21 - 30 of 46 Standards

Standard Identifier: 6-8.AP.16

Grade Range: 6–8
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Developing and Using Abstractions, Creating Computational Artifacts, Communicating About Computing (4.2, 5.2, 7.3)

Standard:
Incorporate existing code, media, and libraries into original programs, and give attribution.

Descriptive Statement:
Building on the work of others enables students to produce more interesting and powerful creations. Students use portions of code, algorithms, digital media, and/or data created by others in their own programs and websites. They give attribution to the original creators to acknowledge their contributions. For example, when creating a side-scrolling game, students may incorporate portions of code that create a realistic jump movement from another person's game, and they may also import Creative Commons-licensed images to use in the background. Alternatively, when creating a website to demonstrate their knowledge of historical figures from the Civil War, students may use a professionally-designed template and public domain images of historical figures. (HSS.8.10.5) Additionally, students could import libraries and connect to web application program interfaces (APIs) to make their own programming processes more efficient and reduce the number of bugs (e.g., to check whether the user input is a valid date, to input the current temperature from another city).

Standard Identifier: 6-8.AP.17

Grade Range: 6–8
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Testing and Refining Computational Artifacts (6.1)

Standard:
Systematically test and refine programs using a range of test cases.

Descriptive Statement:
Use cases and test cases are created to evaluate whether programs function as intended. At this level, students develop use cases and test cases with teacher guidance. Testing should become a deliberate process that is more iterative, systematic, and proactive than at lower levels. For example, students test programs by considering potential errors, such as what will happen if a user enters invalid input (e.g., negative numbers and 0 instead of positive numbers). Alternatively, in an interactive program, students could test that the character cannot move off of the screen in any direction, cannot move through walls, and can interact with other characters. They then adjust character behavior as needed.

Standard Identifier: 6-8.AP.18

Grade Range: 6–8
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Collaborating Around Computing, Creating Computational Artifacts (2.2, 5.1)

Standard:
Distribute tasks and maintain a project timeline when collaboratively developing computational artifacts.

Descriptive Statement:
Collaboration is a common and crucial practice in programming development. Often, many individuals and groups work on the interdependent parts of a project together. Students assume pre-defined roles within their teams and manage the project workflow using structured timelines. With teacher guidance, they begin to create collective goals, expectations, and equitable workloads. For example, students could decompose the design stage of a game into planning the storyboard, flowchart, and different parts of the game mechanics. They can then distribute tasks and roles among members of the team and assign deadlines. Alternatively, students could work as a team to develop a storyboard for an animation representing a written narrative, and then program the scenes individually. (CA CCSS for ELA/Literacy W.6.3, W.7.3, W.8.3)

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)

Standard Identifier: 6-8.CS.3

Grade Range: 6–8
Concept: Computing Systems
Subconcept: Troubleshooting
Practice(s): Testing and Refining Computational Artifacts (6.2)

Standard:
Systematically apply troubleshooting strategies to identify and resolve hardware and software problems in computing systems.

Descriptive Statement:
When problems occur within computing systems, it is important to take a structured, step-by-step approach to effectively solve the problem and ensure that potential solutions are not overlooked. Examples of troubleshooting strategies include following a troubleshooting flow diagram, making changes to software to see if hardware will work, checking connections and settings, and swapping in working components. Since a computing device may interact with interconnected devices within a system, problems may not be due to the specific computing device itself but to devices connected to it. For example, students could work through a checklist of solutions for connectivity problems in a lab of computers connected wirelessly or through physical cables. They could also search for technical information online and engage in technical reading to create troubleshooting documents that they then apply. (CA CCSS for ELA/Literacy RST.6-8.10) Alternatively, students could explore and utilize operating system tools to reset a computer's default language to English. Additionally, students could swap out an externally-controlled sensor giving fluctuating readings with a new sensor to check whether there is a hardware problem.

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

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.

Showing 21 - 30 of 46 Standards


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