Cs Standards 3 5
Cs Standards 3 5
Revised 2018 7
7
License
This work is licensed under a Creative Commons Attribution-NonCommercial-
ShareAlike 4.0 International License. Accordingly, individuals and
organizations are free to share and adapt the materials in whole or in part, as
long as they provide proper attribution, do not use for commercial purposes,
and share contributions or derivations under the same license.
Attribution
The CSTA K–12 Computer Science Standards are created and maintained by
members of the Computer Science Teachers Association (CSTA).
The Association for Computing Machinery (ACM) founded CSTA as part of its
commitment to K–12 computer science education. This work is licensed under
a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
License.
Suggested citation: Computer Science Teachers Association (2017). CSTA K–12 Computer Science
Standards, Revised 2017. Retrieved from http://www.csteachers.org/standards.
The CSTA Standards Revision Task Force crafted standards by combining concept statements and
practices from the Framework. The Task Force also used descriptive material from the Framework when
writing examples and clarifying statements to accompany the standards. The glossary referenced in the
navigation header links directly to the Framework's glossary.
2
Legend for Identifiers
Unique Numbering System for the Washington Computer Science K–12 Learning Standards
To help organize and track each individual standard, a unique identifier was developed. An example
appears below:
Use the following legend to interpret the unique identifier for each Computer Science K–12 Learning
Standard:
2 Grades 6–8
3A Grades 9–10
3B Grades 11–12
CS Computing Systems
NI Networks and the Internet
Concepts
3
Standards
Identifier Level 1B: 3–5
Describe how internal and external parts of computing devices function to form a system.
1B-CS-01
(P. 7.2)
Model how computer hardware and software work together as a system to accomplish
1B-CS-02
tasks. (P. 4.4)
Determine potential solutions to solve simple hardware and software problems using
1B-CS-03
common troubleshooting strategies. (P. 6.2)
Model how information is broken down into smaller pieces, transmitted as packets
1B-NI-04 through multiple devices over networks and the Internet, and reassembled at the
destination. (P. 4.4)
Discuss real-world cybersecurity problems and how personal information can be
1B-NI-05
protected. (P. 3.1)
Organize and present collected data visually to highlight relationships and support a
1B-DA-06
claim. (P. 7.1)
Use data to highlight or propose cause-and-effect relationships, predict outcomes, or
1B-DA-07
communicate an idea. (P. 7.1)
Compare and refine multiple algorithms for the same task and determine which is the
1B-AP-08
most appropriate. (P. 6.3, P. 3.3)
Create programs that use variables to store and modify data. Variables are used to store
1B-AP-09
and modify data. (P. 5.2)
1B-AP-10 Create programs that include sequences, events, loops, and conditionals. (P. 5.2)
Decompose (break down) problems into smaller, manageable subproblems to facilitate
1B-AP-11
the program development process. (P. 3.2)
Modify, remix, or incorporate portions of an existing program into one's own work, to
1B-AP-12
develop something new or add more advanced features. (P. 5.3)
Use an iterative process to plan the development of a program by including others'
1B-AP-13
perspectives and considering user preferences. (P. 1.1, P. 5.1)
Observe intellectual property rights and give appropriate attribution when creating or
1B-AP-14
remixing programs. (P. 5.2, P. 7.3)
Test and debug (identify and fix errors) a program or algorithm to ensure it runs as
1B-AP-15
intended. (P. 6.1, P. 6.2)
Take on varying roles, with teacher guidance, when collaborating with peers during the
1B-AP-16
design, implementation, and review stages of program development. (P. 2.2)
Describe choices made during program development using code comments,
1B-AP-17
presentations, and demonstrations. (P. 7.2)
Discuss computing technologies that have changed the world, and express how those
1B-IC-18
technologies influence, and are influenced by, cultural practices. (P. 3.1)
Brainstorm ways to improve the accessibility and usability of technology products for the
1B-IC-19
diverse needs and wants of users. (P. 1.2)
1B-IC-20 Seek diverse perspectives for the purpose of improving computational artifacts. (P. 1.1)
Use public domain or creative commons media, and refrain from copying or using
1B-IC-21
material created by others without permission. (P. 7.3)
4
Computer Science Glossary
The following glossary includes definitions of terms used in the statements in the Washington Computer
Science K–12 Learning Standards. These terms are intended to increase teacher understanding and
decrease biased language.
abstraction (process): The process of reducing complexity by focusing on the main idea. By hiding details
irrelevant to the question at hand and bringing together related and useful details, abstraction reduces
complexity and allows one to focus on the problem. In elementary classrooms, abstraction is hiding
unnecessary details to make it easier to think about a problem.
abstraction (product): A new representation of a thing, a system, or a problem that helpfully reframes a
problem by hiding details irrelevant to the question at hand. [MA-DLCS]
abstraction (Code.org K–5) Pulling out specific differences to make one solution work for multiple
problems.
A list of steps to finish a task. A set of instructions that can be performed with or without a computer.
For example, the collection of steps to make a peanut butter and jelly sandwich is an algorithm.
(Code.org K–5)
artifact: Anything created by a human. See “computational artifact” for the computer science-specific
definition.
automation: To link disparate systems and software in such a way that they become self-acting or self-
regulating.
Block-based programming language: (Code.org K–5) Any programming language that lets users create
programs by manipulating “blocks” or graphical programing elements, rather than writing code using
text. Examples include Code Studio, Scratch, and Swift. (Sometimes called visual coding, drag and drop
programming, or graphical programming blocks)
bug: An error in a software program. It may cause a program to unexpectedly quit or behave in an
unintended manner. [TechTerms] The process of removing errors (bugs) is called debugging.
An error in a program that prevents the program from running as expected. (Code.org K–5)
code: Any set of instructions expressed in a programming language. [MA-DLCS] One or more commands
or algorithm(s) designed to be carried out by a computer. (Code.org K–5) See also: program
command: An instruction for the computer. Many commands put together make up algorithms and
computer programs. (Code.org K–5)
computational artifact: Anything created by a human using a computational thinking process and a
computing device. A computational artifact can be, but is not limited to, a program, image, audio,
video, presentation, or web page file.
6
computational thinking: Mental processes and strategies that include: decomposition, pattern matching,
abstraction, algorithms (decomposing problems into smaller, more manageable problems, finding
repeating patterns, abstracting specific differences to make one solution work for multiple problems, and
creating step-by-step algorithms). (Code.org K–5)
computer science: Using the power of computers to solve problems. (Code.org K–5)
conditionals: Statements that only run under certain conditions or situations. (Code.org K–5)
data: Information. Often, quantities, characters, or symbols that are the inputs and outputs of
computer programs. (Code.org K–5)
decryption: The process of taking encoded or encrypted text or other data and converting it back
into text that you or the computer can read and understand.
Digital divide: the gulf between those who have ready access to computers and the Internet, and
those who do not.
for loop: A loop with a predetermined beginning, end, and increment (step interval) (Code.org K–5)
function: A type of procedure or routine. Some programming languages make a distinction between a
function, which returns a value, and a procedure, which performs some operation, but does not return
a value. [MA-DLCS] Note: This definition differs from that used in math. A piece of code that you can
easily call over and over again. Functions are sometimes called ‘procedures.’ (Code.org K–5)
hacking: Appropriately applying ingenuity (from “The Meaning of Hack”), cleverly solving a programming
problem (the New Hacker’s Dictionary), and using a computer to gain unauthorized access to data within
a system. [MA-DLCS]
hardware: The physical components that make up a computing system, computer, or computing device.
[MA-DLCS]
HTTP: (Hypertext Transfer Protocol) is the set of rules for transferring files (text, graphic images, sound,
video, and other multimedia files) on the World Wide Web.
HTTPS: encrypts and decrypts user page requests as well as the pages that are returned by the Web
server. The use of HTTPS protects against eavesdropping and man-in-the-middle attacks.
7
Internet: The global collection of computer networks and their connections, all using shared protocols to
communicate [CAS-Prim] A group of computers and servers that are connected to each other. (Code.org
K–5)
iterative: Involving the repeating of a process with the aim of approaching a desired goal, target, or
result. [MA-DLCS]
logic (Boolean): Boolean logic deals with the basic operations of truth values: AND, OR, NOT and
combinations thereof. [FOLDOC]
loop: A programming structure that repeats a sequence of instructions as long as a specific condition is
true. [TechTerms]
looping: Repetition, using a loop. The action of doing something over and over again. (Code.org K–5)
model: A representation of (some part of) a problem or a system. (Modeling (v): the act of creating a
model) [MA-DLCS] Note: This definition differs from that used in science.
network: A group of computing devices (personal computers, phones, servers, switches, routers, and so
on) connected by cables or wireless media for the exchange of information and resources.
nested loop: A loop within a loop, an inner loop within the body of an outer one.
operating system: Software that communicates with the hardware and allows other programs to run.
An operating system (or “OS”) is comprised of system software, or the fundamental files a computer
needs to boot up and function. Every desktop computer, tablet, and smartphone includes an operating
system that provides basic functionality for the device. [TechTerms]
operation: An action, resulting from a single instruction, that changes the state of data. [Dictionary.com]
packets: Small chunks of information that have been carefully formed from larger chunks of
information.
pair programming: A technique in which two developers (or students) team together and work on one
computer. [TechTarget] The terms “driver” and “navigator” are often used for the two roles. In a
classroom setting, teachers often specify that students switch roles frequently (or within a specific
period of time).
persistence: Trying again and again, even when something is very hard. (Code.org K–5)
procedure: An independent code module that fulfills some concrete task and is referenced within a
larger body of source code. This kind of code item can also be called a function or a subroutine. The
8
fundamental role of a procedure is to offer a single point of reference for some small goal or task that
the developer or programmer can trigger by invoking the procedure itself. A procedure may also be
referred to as a function, subroutine, routine, method or subprogram. [Techopedia]
processor: The hardware within a computer or device that executes a program. The CPU (central
processing unit) is often referred to as the brain of a computer.
program; programming (n): A set of instructions that the computer executes in order to achieve a
particular objective. [MA-DLCS] program (v): To produce a program by programming. An algorithm
that has been coded into something that can be run by a machine. (Code.org K–5)
programming: The craft of analyzing problems and designing, writing, testing, and maintaining
programs to solve them. [MA-DLCS] The art of creating a program. (Code.org K–5)
protocol: The special set of rules that end points in a telecommunication connection use when they
communicate. Protocols specify interactions between the communicating entities. [TechTarget]
prototype; prototype: An early approximation of a final product or information system, often built
for demonstration purposes. [TechTarget, Techopedia]
pseudocode: A detailed yet readable description of what a computer program or algorithm must do,
expressed in a formally-styled natural language rather than in a programming language. [TechTarget]
routing; router; routing: Establishing the path that data packets traverse from source to destination. A
device or software that determines the routing for a data packet. [TechTarget]
run program: Cause the computer to execute the commands you've written in your program. (Code.org
K–5)
security: The protection against access to, or alteration of, computing resources, through the use of
technology, processes, and training. [TechTarget]
servers: Computers that exist only to provide things to others. (Code.org K–5)
software: Programs that run on a computer system, computer, or other computing device.
storage: A place (usually a device) into which data can be entered, in which it can be held, and from
which it can be retrieved at a later time. [FOLDOC] A process through which digital data is saved within a
data storage device by means of computing technology. Storage is a mechanism that enables a
computer to retain data, either temporarily or permanently. [Techopedia]
string: A sequence of letters, numbers, and/or other symbols. A string might represent a name, address,
or song title. Some functions commonly associated with strings are length, concatenation, and substring.
[TechTarget]
structure: A general term used in the framework to discuss the concept of encapsulation without
specifying a particular paradigm.
9
switch: A high-speed device that receives incoming data packets and redirects them to their destination
on a local area network (LAN). [Techopedia]
system: A collection of elements or components that work together for a common purpose.
[TechTarget] A collection of computing hardware and software integrated for the purpose of
accomplishing shared tasks.
troubleshooting: A systematic approach to problem solving that is often used to find and resolve a
problem, error, or fault within software or a computer system. [Techopedia, TechTarget]
user: A person for whom a hardware or software product is designed (as distinguished from the
developers). [TechTarget]
variable: A symbolic name that is used to keep track of a value that can change while a program is
running. Variables are not just used for numbers. They can also hold text, including whole sentences
(“strings”), or the logical values “true” or “false.” A variable has a data type and is associated with a data
storage location; its value is normally changed during the course of program execution. [CAS-Prim,
Techopedia] A placeholder for a piece of information that can change (Code.org K–5) Note: This
definition differs from that used in math.
wearable computing: Miniature electronic devices that are worn under, with or on top of clothing.
Computer Science Teachers Association: CSTA K–12 Computer Science Standards (2011)
https://csta.acm.org/Curriculum/sub/K12Standards.html
MA-DLCS: Massachusetts Digital Literacy and Computer Science Standards, Glossary (Draft, December
2015)
NIST/DADS: National Institute of Science and Technology Dictionary of Algorithms and Data Structures.
(https://xlinux.nist.gov/dads//)
10
OSPI provides equal access to all programs and services without discrimination based on sex, race, creed, religion, color,
national origin, age, honorably discharged veteran or military status, sexual orientation, gender expression, gender
identity, disability, or the use of a trained dog guide or service animal by a person with a disability. Questions and
complaints of alleged discrimination should be directed to the Equity and Civil Rights Director at 360-725-6162;
TTY: 360-664-3631; or P.O. Box 47200, Olympia, WA 98504-7200; or [email protected].
Download this material in PDF at http://www.k12.wa.us/CurriculumInstruct/learningstandards.aspx.
Please refer to this document number for quicker service: 16-0075.