Vocabulary Dictionary
Abstraction: A way of thinking about an overall concept or task instead of all the small actions that were needed to describe the concept or to complete the task -- The process of hiding the complexity or detail of an operation while still presenting its essential characteristics. Putting the many instructions that may carry out a given operation into a method with a name that represents the operation is an example of abstraction. Putting a complex mathematical calculation into a function hides away that complexity and is also an example of abstraction.
Boolean Operators: Boolean operators are terms that are used to logically evaluate statements. Alice uses the Boolean operators And, Or, and Not. Boolean operators return a value of either "true" or "false". A boolean is a parameter used to represent a 'binary' state of being either 'true' or 'false', 'on' or 'off', '1' or '0', 'yes' or 'no'.
both/and operator: A mathematical operator (like "+" or "/") that operates on two Boolean values. If both values are true, then the expression is true. If either one or both of the values are false, then the expression is false.
Call a Method: The place in a program where you tell the computer to go execute a method (and it jumps to where that method is defined and then comes back).
Calling Object: The object that is calling a class-level method, the primary actor for the method.
Class-level Method: A method belonging to a specific class of object (like all Ballerinas can spin). These methods typically have one primary actor.
Code (also Program): a collection of instructions that humans write to tell a computer what to do.
Compound Boolean Expression: An expression which evaluates to true or false which is made up of multiple Boolean expressions combined with and and/or or.
Conditional Execution: Conditional Execution is a term that describes actions resulting from Conditional Expressions. Based on the conditional expression, one piece of code is executed, another is not.
Conditional Expression: Conditional Expressions are another name for If/Else statements. These expressions evaluate a function (for instance -- equal to, greater than, less than, etc.) and depending on the result, perform a certain action. That is, they perform an action on the condition to determine if it is "true".
Counted Loop: A control structure (tile) that causes the instructions listed on the tile to be executed some number of times. This number can be be a constant number (like "4" or "10") or it can be a value calculated by a function when the program runs (bird's distance to tree).
Default Value: If a parameter is added to an existing method, then Alice automatically updates every call to the method to include a parameter value. Alice uses a default or standard value for this - for example, for the numeric type, Alice uses the number one.
either/or/orBoth operator: A mathematical operator (like "+" or "/") that operates on two Boolean values. If either one of the values OR both values are true, then the expression is true. If both of the values are false, then the expression is false.
Event: Any thing that happens in response to an action or that can be used to initiate an action, such as a mouse click or a key press -- Something that happens externally to your program, often initiated by your audience, the users of your programs.
Event Handler: This is a connection that you make between one or more particular events and code (a method) you have written in your program. The connection and the code together enable your program to respond to the events occurring outside your program.
Execute (also Play): A statement used to run the program. (In Alice, pressing the "Play" button starts the animation and the actors behave according to your script) -- Tell the computer to execute instructions you have given it.
Function: A function calculates a value. We can use functions to hide away complex mathematical expressions -- a form of abstraction. When we execute a purple function tile (usually when we execute a method where the function is used as a parameter), we say that we "call the function" (just like calling a method). However, when a function is done executing it has calculated a value -- and the value essentially replaces the function call.
If/Else: The If/Else tile is Alice's version of Conditional Expressions. These green colored tiles say: If something, then do A. Else (otherwise), do B.
Instruction (also Statement): A specific task (usually very simple) you can give a computer.
Key Press Events: These are events that occur as a result of the user pressing keys on the computer's keyboard.
List: A list of objects allows objects to be grouped together so that you can perform the same action on all the items in a list, or so that you can have access to certain objects that have similar properties.
Mathematical Expression: A combination of numbers and mathematical operators that give a numerical result (later we will see it can also produce a logical result). (2 + 5) and (length * width * height) are examples of mathematical expressions.
Method: A named collection of instructions that naturally belong together to do some thing/task.
Method Call: Telling a method to execute; might have values that will be used as parameters within the method about to be executed.
Method Definition: The place where you describe/put the instructions that should be executed when this method is called (in Alice, each method definition is in a different "tab" in the program area).
Mouse Press Events: These are events that occur as a result of the user manipulating the mouse - there are events for pressing and releasing the buttons on the mouse, as well as for whenever the mouse moves.
Nested if/else statements: When one if/else statement has inside either it's "true" section of code or it's "else/false" section of code another if/else statement that enables another condition to be checked to control execution.
Nested loops: A loop is said to be nested inside another loop when one loop tile in on top of another loop tile. This can be done with both counted and while loops, but it is more common to have nested counted loops. The loop tile on top of the other is called the Inner Loop and the base loop is called the Outer Loop.
Parameter: Specified in a method, this is the name given to a value that is supplied when the method is called. The name can be used in the method code to refer to, or access, the value supplied.
Parameter Type: This is specified at the time the parameter is created, and indicates what kind of value to expect when the method is called - for example, will it be a character in the world or a numerical value?
"pass values to" a method that "takes" parameters: so far on this page, we have said that "values are supplied when the method is called", if the method specifies that it uses parameters. The computer speak for this is as follows. A method that specifies that it uses parameters is a "method that takes parameters", and when calling such a method, we say that we "pass values to the method".
Plan (also Storyboard): A written-down English description of something (an animation for now) you want to make Alice do.
Play (also Execute): A statement used to run the program. (In Alice, pressing the "Play" button starts the animation and the actors behave according to your script).
Program (also Code): A collection of instructions that humans write to tell a computer what to do.
Randomness: We can choose random numbers using a random number generator. Random numbers are useful for making objects do an action with variance, and can be used for choosing random objects too.
Return (from a function): When functions are executed they calculate a value which we say is then returned to the place where the function was called. In essence, the value calculated replaces the name of the function call. A return in a piece of code acts like a portkey in the Harry Potter(TM) world. When you reach a place in a code where there is a return it flies back to where the function was called returning the value calculated. If there is any code after the return, it will not be executed (we will see examples of this in later modules).
Reuse: Making use of work done earlier to create code to solve a task. Achieved in two ways... (1) by putting code for a task that is performed more than once into a method, and then making multiple calls to that method prevents the need for the code to appear more than once. And (2) by coping a section of code or a method from one program to another. The code is copied, yes, but the effort to create the code is 'reused' in the second program.
Statement (also Instruction): A specific task (usually very simple) you can give a computer.
Stepwise Refinement: The process of beginning with a complex task and repeatedly breaking it down into simpler tasks and then defining the individual steps of each task.
Storyboard (also Plan): A written-down English description of something (an animation for now) you want to make Alice do.
Test: Hit play to see if your code/program does what you think it will do.
While Loop: A control structure (tile) that causes the instructions listed on the tile to be executed some number of times -- which is not known or fixed beforehand. Instead, a boolean expression is used to control whether the instructions should be executed (again). If the boolean expression is true, then the computer executes the code on the tile -- then control goes back to the top of the tile and the boolean expression is checked again to see if the code on the tile should be repeated. It is possible for the code on a while loop tile to never be executed if the boolean expression evaluates to false when the loop tile is encountered.
World-level Method: A method that doesn't necessarily depend on a specific object. These methods may include lots of actors, or any actor.