Abstraction: The process of finding the essential feature set for a building block of a program such as a class.
Access Specifier: A keyword that indicates the accessibility of a feature, such as private or public.
Accessor Method: A method that accesses an object but does not change it.
Algorithm: An unambiguous, executable, and terminating specification of a way to solve a problem.
API (Application Programming Interface): A code library for building programs.
Array: A collection of values of the same type stored in contiguous memory locations, each of which can be accessed by an integer index.
Array List: A Java class that implements a dynamically growable array of objects.
ASCII: American Standard Code for Information Interchange – a set of codes from 0 to 255 that provide a representation of characters. For example, the number 65 is the code for a capital A.
Assignment: Placing a new value into a variable.
Bit: Binary digit; the smallest unit of information, having two possible values: 0 and 1. A data element consisting of n bits has 2n possible values.
Block: A group of statements bracketed by {}.
Boolean type: A type with two possible values: true and false.
Byte: A number made up of eight bits. Essentially all currently manufactured computers use a byte as the smallest unit of storage in memory.
Camel Case: The preferred style of naming variables, where the first letter of every word after the first is capitalized. Example: numBeepers, isAlive
Cast: Explicitly converting a value from one type to a different type. For example, the cast from a floating-point number x to an integer is expressed in Java by the cast notation (int) x.
Character: A single letter, digit, or symbol.
Class: A programmer-defined data type.
Comment: An explanation to help the human reader understand a section of a program; ignored by the compiler.
Compiler: A program that translated code in a high-level language (such as Java) to machine instruction (such as bytecode for the Java virtual machine).
Compile-time Error: An error that is detected when a program is compiled.
Concatenation: Placing one string after another to form a new string.
Console: A terminal screen that displays only text.
Constant: A value that cannot be changed by a program. In Java, constants are defined with the keyword “final”.
Constructor: A method that initializes a newly instantiated object.
Declaration: Creating a variable. This does not actually give the variable a value. Example: int num; char letter; Robot karel.
Definite Loop: A loop that has a number of iterations set before the loop begins. Usually this is a for loop.
Editor: A program for writing and modifying text files.
Encapsulation: The hiding of implementation details.
Escape character: A character in text that is not taken literally but has a special meaning when combined with the character or characters that follow it. The \ character is an escape character in strings. Ex: \n for new line, \t for tab
Exception: A class that signals a condition that prevents the program from continuing normally. When such a condition occurs, an object of the exception class is thrown.
Expression: A syntactical construct that is made up of constants, variables, method calls, and operators combing them.
Extreme Programming: A development methodology that strives for simplicity, by removing formal structure and focusing on best practices. Also known as Agile Programming.
Floating-point number: A number that can have a fractional part. Ex: float, double
Garbage collection: Automatic reclamation of memory occupied by objects that are no longer referenced.
Generic class: A class with one or more type parameters.
GUI: A user interface in which the user supplies input through graphical components such as buttons, menus, and text fields.
Hard Coding: Writing a program in such a way that its data and parameters are fixed and cannot be altered without modifying the program.
Indefinite Loop: A loop that has an undetermined number of iterations when the loop begins. Usually this is a while loop.
Inheritance: The is-a relationship between a more general superclass and a more specialized subclass.
Initialization: Setting a variable to a well-defined value when it is created.
Instance field: A variable defined in a class for which every object of the class has its own value.
Integer: A number that cannot have a fractional part.
Internet: A worldwide collection of networks, routing equipment, and computers using a common set of protocols that define how participants interact with each other.
Integer division: Taking the quotient of two integers and discarding the remainder. In java the / symbol denotes integer division if both arguments are integers. For example, 11/4 is 2, not 2.75.
Interface: A type with no instance variables, only abstract methods and constants.
javadoc: The documentation generator in the Java SDK. It extracts documentation comments from Java source files and produces a set of linked HTML files.
JVM: The Java Virtual Machine.
Linear search: Searching a container (such as an array or list) for an object by inspecting each element in turn.
Local variable: A variable whose scope is a block
Logical operator: An operator that can be applied to Boolean values. Java has three logical operators: &&, ||, and !
Logical error: An error in a syntactically correct program that causes it to act differently from its specification
Loop: A sequence of instructions that is executed repeatedly
Machine code: Instructions that can be executed directly by the CPU
Magic number: A number that appears in a program without explanation
Method: A sequence of statements that has a name, may have formal parameters, and may return a value. A method can be invoked any number of times, with different values for its parameters
Mutator method: A method that changes the state of an object
Nested loop: A loop that is contained inside another loop
Null reference: A reference that does not refer to any object
Object: A variable of a class type designed by a user or the Java Library. It can contain both data and methods. Ex: Robot, Scanner, Hero, Dragon
Object-oriented design: Designing a program by discovering objects, their properties, and their relationships
Operator: A symbol denoting a mathematical or logical operation, such as + or &&
Overloading: Giving more than one meaning to a method name
Overriding: Redefining a method in a subclass
Package: A collection of related classes. The import statement is used to access one or more classes in a package
Package feature: A feature that is accessible only by methods of classes in the same package
Parameter: An item of information that is specified to a method when the method is called. Used to “pass” information. For example, the method public void move(int distance) has a parameter distance of type int.
Parameter passing: Specifying expressions to be actual parameter values for a method when it is called.
Polymorphism: Selecting a method among several methods that have the same name on the basis of the actual types of the implicit parameters.
Postcondition: A condition that is true after a method has been called.
Precondition: A condition that must be true when a method is called if the method is to work correctly.
Private feature: A feature that is accessible only by methods of the same class or an inner class.
Protected feature: A feature that is accessible by a class, its inner classes, its subclasses, and the other classes in the same package.
Pseudorandom number: A number that appears to be random but is generated by a mathematical formula.
Public feature: A feature that is accessible by all classes.
Queue: A collection of items with “first in, first out” retrieval.
RAM (Random-Access Memory): Electronic circuits in a computer that can store code and data of running programs.
Recursion: A method for computing a result by decomposing the inputs into simpler values an applying the same method to them
Return value: The value returned by a method through a return statement
Run-time error: An error in a syntactically correct program that causes it to act differently from its specification
Selection sort: A sorting algorithm in which the smallest element is repeatedly found and removed until now elements remain
Stack: A data structure with “last in, first out” retrieval. Elements can be added and removed only at one position, called the top of the stack.
Statement: A syntactical unit in a program. In java a statement is a simple statement, a compound statement, or a block.
String: A sequence of characters.
Subclass: A class that inherits variables and methods from a superclass but adds instance variables, adds methods, or redefines methods.
Superclass: A general class from which a more specialized class (a subclass) inherits.
Swing: A java toolkit for implementing graphical user interfaces.
Syntax: Rules that define how to form instructions in a particular programming language.
Syntax Error: A mistake in code that violates the rules of a language's syntax, preventing the code from compiling.
TCP/IP (Transmission Control Protocol/ Internet Protocol): The pair of communication protocols that is used to establish reliable transmission of data between two computers on the internet.
Two-dimensional array: A tabular arrangement of elements in which an element is specified by a row and column index.
URL (Uniform Resource Locator): A pointer to an information resource (such as a web page or an image) on the world wide web.
Variable: A symbol in a program that identifies a storage location and can hold different values.
Virtual machine: A program that simulates a CPU that can be implemented efficiently on a variety of actual machines. A given program in java bytecode can be executed by any java virtual machine, regardless of which CPU is used to run the virtual machine itself.
void keyword: A keyword indicating no type or an unknown type.
Waterfall model: A sequential process model of software development, consisting of analysis, design, implementation, testing, and deployment.
White space: Any sequence of only space, tab, and newline characters.
Wrapper class: A class that contains a primitive type value, such as an integer.