CS Fundamentals

Encouraging students to learn and use 'professional' terms enables them to communicate correctly and efficiently with others and builds their knowledge such that it can be further developed without having to relearn terms and concepts at a later time. The terms and concepts used in the unplugged lessons are defined using words that young students can understand.

Teaching Tip

Best practice is to introduce the terms with easy-to-understand language, relate the terms to previous experiences, use the terms repeatedly beyond the lesson itself throughout the entire course (and in other situations) when appropriate, and reinforce students’ use in oral and written communication.

The following terms are introduced in an unplugged lesson as either a vocabulary word or as a term related to the online Blockly programming interface. Terms are subsequently reinforced in the following online puzzles and activities. Most terms appear multiple times throughout the courses and lessons providing the students with many opportunities to deepen their understanding and assimilate the words into conversations, both in and outside of the classroom.

The course and lesson numbers after each term indicate an unplugged lessons in which the term is emphasized.



(Course 3: Stage 1 | Course 4: Stage 5)
Pulling out specific differences to make one solution work for multiple problems.


(Course 1: Stages 1, 6 | Course 2: Stages 1, 2 | Course 3: Stages 1, 10 | Course 4: Stage 1)
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.


(Course 2: Stage 14 | Course 4: Stages 17, 18)
A way of representing information using only two options.

block-based programming language

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, Blockly, and Swift. (Sometimes called visual coding, drag and drop programming, or graphical programming blocks)


(Course 1: Stage 3)
The visual programming language used in's online learning system for K-5 students.


(Course 1: Stage 5 | Course 2: Stages 9, 10, 11| Course 3: Stage 14)
An error in a program that prevents the program from running as expected.

call (a function)

(Course 3: Stage 4)
This is the piece of code that you add to a program to indicate that the program should run the code inside a function at a certain time.


(Course 1: Stage 2)
One or more commands or algorithm(s) designed to be carried out by a computer. See also: program


(Course 1: Stage 2)
An instruction for the computer. Many commands put together make up algorithms and computer programs.

computational thinking

(Course 3: Stage 1)
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).

computer science

(Course 1: Stage 2)
Using the power of computers to solve problems.


(Course 2: Stages 12, 13 | Course 3: Stages 7, 8)
Statements that only run under certain conditions or situations.


(Course 3: Stage 19)
Getting help from a large group of people to finish something faster.


(Course 2: Stage 14 | Course 3: Stages 1)
Information. Often, quantities, characters, or symbols that are the inputs and outputs of computer programs.


(Course 1: Stage 5 | Course 2: Stages 9, 10, 11 | Course 3: Stage 14)
Finding and fixing errors in programs.


(Course 3: Stage 1)
Break a problem down into smaller pieces.

define (a function)

(Course 3: Stage 4)
To add code inside a function so that the program knows what it is supposed to do when the function is called.

digital citizen

(Course 3: Stage 20)
Someone who acts safely, responsibly, and respectfully online.

digital footprint

(Course 2: Stage 18)
The information about someone on the Internet.

DNS (domain name service)

(Course 3: Stage 18)
The service that translates URLs to IP addresses.


(Course 3: Stage 18)
A method of sending information using telephone or television cables.


(Course 1: Stage 15 | Course 2: Stage 15)
An action that causes something to happen.


(Course 1: Stage 15 | Course 2: Stage 15)
A monitor for a specific event or action on a computer. When you write code for an event handler, it will be executed every time that event or action occurs. Many event-handlers respond to human actions such as mouse clicks.

fiber optic cable

(Course 3: Stage 18)
A connection that uses light to transmit information.

for loop

(Course 4: Stages 8, 9, 10, 11, 20)
A loop with a predetermined beginning, end, and increment (step interval).


(Course 3: Stages 4, 5, 6, 9 | Course 4: Stages 12, 13, 14, 15, 16, 21)
A piece of code that you can easily call over and over again. Functions are sometimes called ‘procedures.’ A function definition is a segment of code that includes the steps performed in the function. A function call is the code segment, typically within the main logic of the program, which invokes the function.

function call

(Course 3: Stage 4)
The piece of code that you add to a program to indicate that the program should run the code inside a function at a certain time.

function definition

(Course 3: Stage 4)
The code inside a function that instructs the program on what to do when the function is called.


(Course 1: Stage 17 | Course 2: Stage 18 | Course 3: Stages 18, 20)
A group of computers and servers that are connected to each other.

IP address

(Course 3: Stage 18)
A number assigned to any item that is connected to the Internet.


(Course 1: Stage 12 | Course 2: Stage 5)
A repetitive action or command typically created with programming loops.


(Course 1: Stages 12, 13, 14 | Course 2: Stages 5, 6, 7, 8)
The action of doing something over and over again.


(Course 3: Stage 18)
Small chunks of information that have been carefully formed from larger chunks of information.

pattern matching

(Course 3: Stage 1 | Course 4: Stage 5)
Finding similarities between things.


(Course 4: Stages 13, 14, 15, 16)
An extra piece of information that you pass to the function to customize it for a specific need.


(Course 1: Stage 9)
Trying again and again, even when something is very hard.


(Course 1: Stage 2 | Course 2: Stage 1, 9 | Course 3: Stage 10)
An algorithm that has been coded into something that can be run by a machine.


(Course 1: Stage 2 | Course 2: Stage 1, 9 | Course 3: Stage 10)
The art of creating a program.

run program

(Course 1: Stage 4)
Cause the computer to execute the commands you've written in your program.


(Course 3: Stage 18)
Computers that exist only to provide things to others.


(Course 1: Stage 4)
The tall grey bar in the middle section of's online learning system that contains all of the commands you can use to write your program.

URL (universal resource locator)

(Course 3: Stage 18)
A relatively easy-to-remember address for calling a web page (like


(Course 1: Stage 18)
A name you make up so that you can see or do things on a website, sometimes called a “screen name.”


(Course 3: Stage 4 | Course 4: Stage 4, 5, 6, 7)
A placeholder for a piece of information that can change.


(Course 3: Stage 18)
A wireless method of sending information using radio waves.


(Course 1: Stage 4)
The white area on the right side of's online learning system where you drag and drop commands to build your program.