Table of Contents
Concepts
Sequence
**Definition:** A Sequence is the specific order in which behaviors are performed. An action or event leads to the next ordered action in a sequence. **In My Own Words:** A sequence follows a set of actions from one to another. **Example:** Sequencing is important for the Castle Crasher Challenge because the VR Robot will only move exactly as the commands tell it to.Sense → Think → Act
**Definition:** A VR Robot uses sensors to collect data from its surroundings (Sense), make decisions based on this information (Think) and turn that information into instructions for behaviors (Act). Sensors enable a VR Robot to interact with its environment, and allow the user to create more dynamic projects. These dynamic projects require a VR Robot to interact and respond to changing environments. **In My Own Words:** The sense think act allows the robot to take in information, break it down, and then complete the task with that new information. **Example:**Sensors
**Definition:** Two Eye Sensors, one that faces forward, and the other down. These sensors can detect if there is an object present. If there is, the sensor can also detect the color (red, green, blue, none). A Location Sensor that reads (X,Y) coordinates from the center turning point of the VR Robot. **In My Own Words:** A sensor can detect information by calculating distance, calculating where something is. and sensing what color something is with bumper sensors, distance sensors, eye sensors, and location sensors. **Example:**AP CSP Vocabulary
Iteration
**Definition:** Repeating a set of instructions in an algorithm. **In My Own Words:** Iteration is when the program does the same group of steps multiple times instead of writing those steps over and over. **Example:** ``` REPEAT 3 TIMES { MOVE_FORWARD() } ``` This repeats MOVE_FORWARD() three times.Algorithm
**Definition:** A finite set of instructions used to accomplish a task. **In My Own Words:** An algorithm is a limited number of instructions that helps complete a certain task. **Example:** ``` The instructions that move a robot to its final position. ``` This helps give the robot commands on what to do next.Sequencing
**Definition:** Statements execute in the order they appear unless the flow of control changes. **In My Own Words:** Statements that continue in one order. **Example:** ``` ROTATE_LEFT() followed by MOVE_FORWARD() ``` This repeats MOVE_FORWARD() three times.Selection
**Definition:** Uses a condition to determine which part of an algorithm is executed. **In My Own Words:** Waits until a specific condition plays to play a specific algorithm. **Example:** ``` IF (x < 3) ``` This repeats MOVE_FORWARD() three times.Variable
**Definition:** A named value that can change while a program runs. **In My Own Words:** A symbol that can transition between values. **Example:** ``` i in i ← 3 ``` This repeats MOVE_FORWARD() three times.Assignment
**Definition:** Stores a value in a variable. **In My Own Words:** changes the variable depending on what the value is, getting stored in it. **Example:** ``` i ← 3 ``` This repeats MOVE_FORWARD() three times.## 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.Expression
An expression is a either a constant value (such as "4" or "winter") or a call to a reporter block including its inputs.transparency
The transparency of an image is how much you can see what's behind it.Algorithm
An algorithm is a sequence of steps that are usually performed by a computer.Pseudocode
An algorithm written in human language.Parameter
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.Iteration
Computer scientists describe a repeating program structure as looping, repetition, or iteration.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.Computer Control
When a computer is connected to a series of systems and devices in the real world, and a computer program is used to control the various devices, it is often known as a Computer Control system.Digital
A Digital device processes information using electronic signals that are either 0 (off) or 1 (on).Data
Data is the term used to describe the information used and stored in a computer. It comprises information stored using digital information (0’s and 1’s).Sprite
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.Costumes
Picture that can be "worn" by a sprite.List
A list is an ordered sequence of items.Strings
A string is a sequence of characters (letters, digits, punctuation, etc.). A substring is just a piece of some existing string. For example, "Hanna," "anna", and "nnah" are each substrings of the string "Hannah." (The empty string as well as the original string are both also substrings.)Concatenation
To concatenate strings means to make a bigger string by connecting two or more smaller strings.Procedures
A procedure is a named sequence of instructions that may take inputs and may report a value. Some languages call procedures methods or functions.Reporters
Reporters have an oval shape. They report a value.Commands
Commands have a jigsaw puzzle shape. They tell the computer to do something without reporting a value.Programming Language + Project
**Definition:** A programming language is a set of rules in which symbols represent actions. Programming languages follow step-by-step instructions that a computer executes in order for a project to run. **In My Own Words:** Rules that a computer follows to perform a project which runs. **Example:**Behavior + Command
**Definition:** Behaviors are the actions performed or to be performed by a robot. Moving forward, stopping, turning, looking for an obstacle — these are all behaviors. Behaviors are defined by the programming language. To change the behaviors of a VR Robot, you can change the blocks in a project. These programming blocks are also called commands. **In My Own Words:** Actions which the robot executes in the program. **Example:**Sensor + Bumper Sensor
**Definition:** A Bumper Sensor is a switch that reports if it is pressed or released. The Bumper Sensor will report a sensor value of TRUE when the Bumper Sensor is pressed. The Bumper Sensor will report a sensor value of FALSE when the Bumper Sensor is released. A VR Robot uses sensors to collect data from its surroundings (Sense), make decisions based on this information (Think) and turn that information into instructions for behaviors (Act). **In My Own Words:** Sensors that tell the robot what to do next after reporting true or false. **Example:**Eye Sensor
**Definition:** The Eye Sensor can detect if there is an object present, and if so, detect the color of the object (red, green, blue, none). **In My Own Words:** The eye sensor can see if there is an object in its view and what color it is. **Example:**Distance Sensor + Threshold
**Definition:** The Distance Sensor reports the distance between the front of the Distance Sensor on the VR Robot and the nearest object. The Distance Sensor is located in the Front Eye on the VR Robot. **In My Own Words:** The distance sensor can detect the distance from the closest object and the front. **Example:**Comment
**Definition:** Allows programmers to write information to help describe their program. **In My Own Words:** Used to explain what happens next in a program. **Example:**Boolean + Condition + TRUE/FALSE
**Definition:** Conditions inside of blocks, such as [Wait until] blocks, allows the user to "control" the program flow. For example, with the [Wait until] block, the program flow will pause and "wait until" the condition is met and reports TRUE, before moving on to the next block. If the Boolean condition is reported as true, the blocks inside of if then will run. If the Boolean condition is reported as false, the blocks inside of if then will be skipped. **In My Own Words:** Waits until true or false is met to then complete a command. **Example:**Important Blocks
broadcast
Sends a message to all the sprites. To set the message, click the down arrow and select "new..."when I receive
Runs the attached stack of blocks when the selected message is received from a broadcasted message.hat blocks
Blocks that sit on top of a script, which starts once a specific event occurs.Stack / Command Block
Perform main commands. They are shaped to attach above or below other stack blocks.Boolean / Hexagonal Block
Return a condition as either true or false and fits inside any blocks with hexagonal (six-sided) inputs for other blocks.C-Block
Loop the block(s) within them or check if a condition is true or false. They are shaped to attach stack blocks above, below, or inside them.Reporter / Oval Block
Report values in the form of numbers and fits inside any blocks with oval inputs for other blocks.Repeat Block
A 'C' block that repeats the blocks contained inside for a set number of times.Wait Until Block
Waits for a Boolean block to report true before moving to the next block. The Wait Until Boolean block can accept hexagonal (six-sided) shaped blocks.If Then Block
A 'C' Block that runs the blocks inside, if the Boolean condition is reported to be true.Forever Block
A 'C' block that repeats any blocks contained inside forever.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.
- 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.
- The expression pick random (1) to (10) 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 procedures move() and turn_clockwise() aren’t built in to the AP’s language so they are written in lower case like other programmer-defined procedures.
-
Notice that the hat block, pinwheel, branches: (number of branches), would be written as PROCEDURE pinwheel(numberOfBranches). The word PROCEDURE tells you that that line of the code is like a hat block; the variable name in the parentheses on that line is the input that the procedure takes.
- This instruction setup; pinwheel, branches: (6) size: (80) backup: (20) 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.
Markdown Style Guide for Coding Notebooks
Follow this guide to keep your coding notebook clear, consistent, and professional.
This ensures your notes are easy for you (and others) to read later.
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. ↩