Skip to main content
California Department of Education Logo

Computer Science Standards




Results


Showing 1 - 8 of 8 Standards

Standard Identifier: 3-5.AP.18

Grade Range: 3–5
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Collaborating Around Computing (2.2)

Standard:
Perform different roles when collaborating with peers during the design, implementation, and review stages of program development.

Descriptive Statement:
Collaborative computing is the process of creating computational artifacts by working in pairs or on teams. It involves asking for the contributions and feedback of others. Effective collaboration can often lead to better outcomes than working independently. With teacher guidance, students take turns in different roles during program development, such as driver, navigator, notetaker, facilitator, and debugger, as they design and implement their program. For example, while taking on different roles during program development, students could create and maintain a journal about their experiences working collaboratively. (CA CCSS for ELA/Literacy W.3.10, W.4.10, W.5.10) (CA NGSS: 3-5-ETS1-2)

Standard Identifier: 6-8.AP.15

Grade Range: 6–8
Concept: Algorithms & Programming
Subconcept: Program Development
Practice(s): Fostering an Inclusive Computing Culture, Collaborating Around Computing (1.1, 2.3)

Standard:
Seek and incorporate feedback from team members and users to refine a solution that meets user needs.

Descriptive Statement:
Development teams that employ user-centered design processes create solutions (e.g., programs and devices) that can have a large societal impact (e.g., an app that allows people with speech difficulties to allow a smartphone to clarify their speech). Students begin to seek diverse perspectives throughout the design process to improve their computational artifacts. Considerations of the end-user may include usability, accessibility, age-appropriate content, respectful language, user perspective, pronoun use, or color contrast. For example, if students are designing an app to teach their classmates about recycling, they could first interview or survey their classmates to learn what their classmates already know about recycling and why they do or do not recycle. After building a prototype of the app, the students could then test the app with a sample of their classmates to see if they learned anything from the app and if they had difficulty using the app (e.g., trouble reading or understanding text). After gathering interview data, students could refine the app to meet classmate needs. (CA NGSS: MS-ETS1-4)

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

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.

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