Table of Contents
Vocab
Abstraction
The most fundamental idea in computer science, giving a name to something in a program to make it more readable.Procedural abstraction
Using a procedure to name an idea, ex. the procedure "who" to the idea of picking an item from the list of people or cats.Transparency
The transparency of an image is how much you can see what's behind it. Ex:Sprites & Costumes
One is a sprite, which is like an actor on the stage who knows how to do many different things, such as walk around the stage and speak the lines of the play. The other two are costumes, picture that can be "worn" by a sprite.Expressions & Values
An expression is a either a constant value (such as "4" or "winter") or a call to a reporter block including its inputs. Expressions are evaluated to produce a single value (a value can be a number, a string, a sprite, a costume, a script, a list—anything)List, Strings, and Concatenation
A list is an ordered sequence of items. Ex:Procedures, Reporters, and Commands
A procedure is a named sequence of instructions that may take inputs and may report a value. Some languages call procedures methods or functions. Here are two types of procedures you have seen in Snap!: Reporters have an oval shape. They report a valueIteration
Computer scientists describe a repeating program structure as looping, repetition, or iteration. The code can be repeated forever, a specific number of times (such as when using repeat), or until something specific happens. (As shown)Personally Identifiable Information (PII)
Information that can identify you as an individual is called personally identifiable information (PII). It includes details that could reveal who you are—such as your Social Security number, age, race, phone number(s), medical information, financial information, or biometric data like a thumbprint or face scan.Light Sensor
Light Sensor is a sensor that detects ambient light. Light Sensors can be either digital or analog. The Light Sensor in your ITEEA ExCITE Robotics System is Digital and will report a value of 1 or 0 (on or off).Algorithm
An algorithm is a sequence of steps that are usually performed by a computer. The algorithm doesn't have to be written in any particular programming language or even in a programming language at allPsuedocode
Psuedocode is sometimes considered an algorithm written in human languageParameter
A parameter (or formal parameter) is the input name, such as number of branches. The input name is set in the block definition. It never changes.Argument
An argument (or actual argument) is the input value, such as 6 for a hexagonal pinwheel. The input value is given each time the block is run; it can be a different value each time.Micro-computer
A micro-computer is a small but powerful computer system.Breakout Board
A Breakout Board allows a micro-computer to be easily connected to various electronic input and output devices.Variable
A variable is like a labeled box that can hold one value at a time, such as one word, one costume, or one list (which can contain many things). You can look at what's inside as many times as you wantLocal Variable
A local variable can be set or used only in the environment in which it is defined. This term includes inputs to procedures and variables created by the for or script variables block.Predicate and Boolean value
Predicate is a hexagon-shaped reporter that asks a true/false questions. Predicates report a Boolean value as either true or false.If/If-else block
The if and if-else blocks are called conditionals because they control the code based on a true-or-false condition.Global Variable
A global variable is a variable that is usable by all scripts in the program.Selection
Uses a condition to determine which part of the code starts when neededAssignment
Stores a value in a variable for you to have for laterExpression
A combination of values, variables, and operators that evaluates a valueCondition
An expression evaluates either true or falseBoolean
A value that is either true or falseRelational Operator
Compares two values and produces a Boolean resultFlow of Control
The order in which statements in a program are excecutedNested Selection
A selection statement contained inside another selection statementNested Iteration
An iteration statement contained inside another interation statementIndex
The position number is called the index of the item in the list.Element
An element is another name for an item in a list. (If the same value is in the list twice, that counts as two different elements.) Each element has a unique index (position) in the list.Sublist
A sublist is a list used as an item of another list. (The word sublist is also used to refer to some subset of a list.)Data type
A data type is what kind of data something is (number, text string, list, etc.). For example, number is the data type for the first input to item (1) of () and list is the the data type for its second input. Each programming language provides some primitive data types (data types that are built-in). For example, Snap! provides numbers, text (words and sentences), Booleans (true or false), lists, and some you haven't yet used as data (such as sprites and costumes). This menu shows all of Snap!'s primitive types.Abstract Data Type
An abstract data type (ADT) is a custom data type that's meaningful to your program. It's not built into the language; you develop it as you code. This is an abstraction because it hides the details inside the constructor and selectors so that programmers working with crossing record think about timestamps and events, not list indices. The Crossing Record block is the constructor; it constructs one example of the data structure. By naming the pieces of the structure, the constructor ensures you build the structure consistently every time. The selector blocks like Date, Time, Seed, of crossing record, are the selectors; they each select one piece of the data structure. The constructor and selector together implement the crossing record abstract data type. Data abstraction is the creation and use of abstract data types in a program.Table
A table is a two-dimensional data structure with rows and columns. If you've used a spreadsheet program, what it displays is a table. In Snap!, a table is implemented as a list of lists, in which each sublist is one row of the table. It can also mean a physical table where you eat atImportant Blocks
broadcast
Sends a message to all the sprites. To set the message, click the down arrow and select "new..."when I receive
(Click help on the block to learned more about it in order to complete this definition)On the AP Exam
- Many languages (and the AP CS Principles Exam) use return instead of report as the name of the command to give a value back at the end of a function call.
- The exam uses “value of a procedure” to mean the value the procedure returns when called. For example, “the value of double(5)” means 10.
-
There is nothing exactly like say (gossip) or say (gossip) for (3) secs on the AP Exam because they don’t have sprites and speech balloons, but their way of showing this text to the user is DISPLAY(gossip())
-
if it’s written as text or a white rounded rectangle containing first the word ‘DISPLAY’ in all caps and then a smaller white rectangle containing the word ‘gossip’ in lower case if it’s shown as blocks.
-
You won’t have to be able to write code in this notation on the AP exam. You just have to be able to read it so you can answer questions about it.
The procedure:
would be written as
PROCEDURE double(x)
{
RETURN(2 * x)
}
or PROCEDURE double(x)
{
RETURN(2 * x)
}.
Many languages (and the AP CS Principles Exam) use return instead of report as the name of the command to give a value back at the end of a function call.
The exam uses “value of a procedure” to mean the value the procedure returns when called. For example, “the value of double(5)” means 10.
There is nothing exactly like
or
on the AP Exam because they don’t have sprites and speech balloons, but their way of showing this text to the user is DISPLAY(gossip()) if it’s written as text or a white rounded rectangle containing first the word ‘DISPLAY’ in all caps and then a smaller white rectangle containing the word ‘gossip’ in lower case if it’s shown as blocks.
You won’t have to be able to write code in this notation on the AP exam. You just have to be able to read it so you can answer questions about it.
The expression would be written as RANDOM(1, 10) or RANDOM(1, 10). Every time you run this code, you will get a different random number between 1 and 10.
The procedure definition for the custom pinwheel command would be written as
PROCEDURE pinwheel(numberOfBranches)
{
REPEAT numberOfBranches TIMES
{
move(100)
move(-37)
turn_clockwise(360 / numberOfBranches)
}
}
or PROCEDURE pinwheel(numberOfBranches)
{
REPEAT numberOfBranches TIMES
{
move (100)
move (-37)
turn_clockwise (360 / numberOfBranches)
}
}
This instruction would be written as Pinwheel(6, 80, 20) or a white rounded rectangle containing first the word ‘PINWHEEL’ in all caps and then a smaller white rectangle containing the inputs ‘6, 80, 20’.
You may hear people use the term “pseudocode” to refer to this pseudo-language used on the AP CS Principles exam, but it’s not pseudocode. Pseudocode isn’t a programming language at all, it’s the use of normal human language to describe an algorithm.
The script would be written as
REPEAT UNTIL(mouseY() < 0) { DISPLAY(numFish) } or a gray rounded rectangle containing all of the following: on the first line, first the words ‘REPEAT UNTIL’ in all caps and then a smaller gray rounded rectangle containing ‘mouseY () < 0’ and on the second line, a white rounded rectangle with a smaller white rounded rectangle inside that contains first the word ‘DISPLAY’ in all caps and then a smaller white rectangle containing ‘numFish’ Remember, you don’t need to learn to write the made-up language used on the AP exam. You just have to be able to read and answer questions about it.
## Markdown Style Guide for Coding Notebooks
Headings
When to use: Organize your notebook into sections (like days, topics, or projects).
-
#for the notebook title (use once at the top). -
##for each day or major topic. -
###for subsections (like “Notes”, “Practice”, “Reflections”).
Example:
My Coding Notebook
Day 1
Notes
Practice
Text Formatting
When to use: Highlight important ideas or add emphasis.
Use bold for key terms or definitions.
Use italic for emphasis or side comments.
Use inline code for keywords, functions, or commands.
Example:
Class = a blueprint for objects
Remember: always test your code
Use System.out.println() to print
Code Blocks
When to use: Anytime you write multiple lines of code.
Inline code for short snippets.
Fenced code blocks with language for full examples.
Example:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Lists
When to use: Organize steps, notes, or key points.
Numbered lists for sequences or steps.
Bulleted lists for unordered ideas.
Example:
Define the class Write the main method Test your program Variables
-
Loops
-
Conditionals
Checklists
When to use: Track progress on assignments or tasks.
Example:
[x] Complete coding warm-up
-
Finish project draft
-
Reflect on learning
Blockquotes
When to use: Call out notes, reminders, or teacher comments.
Example:
💡 Remember: Loops repeat code until a condition is false.
Tables
When to use: Compare values, track progress, or organize data neatly.
Example:
| Task | Status | Notes |
|————–|————|—————–|
| Homework 1 | Done # | Submitted |
| Homework 2 | Pending | Needs review |
Links & Images
When to use: Add references, resources, or visuals.
Example:
To make an image that is a link, paste the image, then add the following before it, replacing website address with the link:
And after the image info, add: </a>
Collapsible Sections
When to use: Hide solutions, extended notes, or extra details.
Example:
Click to reveal solution
System.out.println("Answer: 42");Footnotes
When to use: Add references or side notes without cluttering the page.
Example:
This concept is related to object-oriented programming.1
Style Rules
Consistency matters more than creativity
Always use headings to structure your notes.
Always use code blocks for multi-line code.
Clarity first
Bold key terms.
Use lists instead of long sentences when outlining steps.
Professional tone
Don’t mix casual notes with formal work in the same section.
Use blockquotes for reflections or teacher feedback.
Track your learning
Use checklists to mark what’s done.
Use collapsible sections if you want to hide answers until review time.
Bottom Line:
Headings = Structure
Bold/Italic = Emphasis
Code blocks = Code
Lists = Steps/Ideas
Tables = Organization
Checklists = Progress
Blockquotes = Notes/Tips
Collapsible = Hide/Show detail
Keep it simple, consistent, and clear.
-
See “Objects and Classes” in your textbook. ↩