Skip to main content
California Department of Education Logo

Computer Science Standards




Results


Showing 1 - 10 of 10 Standards

Standard Identifier: K-2.AP.14

Grade Range: K–2
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Creating Computational Artifacts, Communicating About Computing (5.1, 7.2)

Standard:
Develop plans that describe a program’s sequence of events, goals, and expected outcomes.

Descriptive Statement:
Creating a plan for what a program will do clarifies the steps that will be needed to create the program and can be used to check if a program runs as expected. Students create a planning document to illustrate their program's sequence of events, goals, and expected outcomes of what their program will do. Planning documents could include a story map, a storyboard, or a sequential graphic organizer, to illustrate their program's sequence of events, goals, and expected outcomes of what their program will do. Students at this level may complete the planning process with help from the teacher. For example, students could create a storyboard or timeline that represents a family's history, leading to their current location of residence. Students could then create a plan for a program that animates the story of family locations. (HSS 2.1.1) (CA CCSS for ELA/Literacy W.K.3, W.1.3, W.2.3)

Standard Identifier: K-2.AP.15

Grade Range: K–2
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Communicating About Computing (7.3)

Standard:
Give attribution when using the ideas and creations of others while developing programs.

Descriptive Statement:
Computing makes it easy to reuse and remix others' creations, and this comes with a level of responsibility. Students credit artifacts that were created by others, such as pictures, music, and code. Credit could be given orally if presenting their work to the class, or in writing if sharing work on a class blog or website. Proper attribution at this stage does not require formal citation, such as in a bibliography or works cited document. For example, when creating an animation of the sun, moon, and stars using a blocks-based language, students could draw their own sun and use an image of the moon and stars from a website or a teammate. When students present the model to the class, they can orally give credit to the website or peer for the contributions. (CA CCSS for ELA/Literacy SL.K.5, SL.1.5, SL.2.5) (NGSS.1-ESS1-1) (CA Model School Library Standards 2.3.b, 2.4.2.a)

Standard Identifier: K-2.AP.17

Grade Range: K–2
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Communicating About Computing (7.2)

Standard:
Describe the steps taken and choices made during the iterative process of program development.

Descriptive Statement:
Program developers make choices and iterate to continually refine their product. At this stage, students explain or write about the goals and expected outcomes of the programs they create and the choices that they made when creating programs. Students could use coding journals, discussions with a teacher, class presentations, or blogs. For example, students could use a combination of images, verbal reflections, a physical model, and/or written text to show the step-by-step process taken to develop a program such as cutting and pasting coding commands into a journal, using manipulatives that represent different commands and control structures, and taking screenshots of code and adding to a digital journal. This iterative process could be documented via a speech, journal, one on one conference with teacher or peer, small group conference, or blog. (CA CCSS for ELA/Literacy SL.K.5, SL.1.5, SL.2.5) (CA NGSS: K-2-ETS1.2)

Standard Identifier: 3-5.AP.16

Grade Range: 3–5
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Creating Computational Artifacts, Communicating About Computing (5.2, 7.3)

Standard:
Observe intellectual property rights and give appropriate attribution when creating, remixing, or combining programs.

Descriptive Statement:
Intellectual property rights can vary by country, but copyright laws give the creator of a work a set of rights and prevents others from copying the work and using it in ways that they may not like. Students consider common licenses that place limitations or restrictions on the use of others' work, such as images and music downloaded from the Internet. When incorporating the work of others, students attribute the work. At this level, students could give attribution by including credits or links directly in their programs, code comments, or separate project pages. For example, when making a program to model the life cycle of a butterfly, students could modify and reuse an existing program that describes the life cycle of a frog. Based on their research, students could identify and use Creative Commons-licensed or public domain images and sounds of caterpillars and butterflies. Students give attribution by properly citing the source of the original piece as necessary. (CA NGSS: 3-LS-1-1) (CA CCSS for ELA/Literacy W.3.8, W.4.8, W.5.8) Alternatively, when creating a program explaining the structure of the United States goverment, students find Creative Commons-licensed or public domain images to represent the three branches of government and attribute ownership of the images appropriately. If students find and incorporate an audio file of a group playing part of the national anthem, they appropriately give attribution on the project page. (HSS.3.4.4)

Standard Identifier: 3-5.AP.19

Grade Range: 3–5
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Communicating About Computing (7.2)

Standard:
Describe choices made during program development using code comments, presentations, and demonstrations.

Descriptive Statement:
People communicate about their code to help others understand and use their programs. Explaining one's design choices gives others a better understanding of one's work. Students may explain their step-by-step process of creating a program in a presentation or demonstration of their personal code journals. They describe how comments within code organize thought and process during the develpment of the program. For example, students could describe the decision to have the score in a game flash when it can be rounded to 100 by writing a comment in the code. (CA CCSS for Mathematics 3.NBT.1) Alternatively, students could present their overall program development experience and justify choices made by using storyboards, annotated images, videos, and/or journal entries. (CA CCSS for ELA/Literacy SL.3.4, SL.4.4, SL.5.4, SL.3.5, SL.4.5, SL.5.5) (CA NGSS: 3-5-ETS1-1, 3.5-ETS1-2, 3.5-ETS1-3)

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

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