Glossary+of+Terms

**OR LINK IT TO A SEPARATE PAGE*** *
__Abstract array__** - An ordered sequence of items that can be efficiently accessed at random through an integer index. __**Abstract method**__ - A method with a name, parameter types, and return type but without an implementation. __**API (application programming interface)**__ - A code library for building programs. __**Argument**__ - An actual parameter in a method call, or one of the values combined by an operator. __**Assignment**__ - Placing a new value into a variable using = not the same as mathematical equality.
 * A
 * __Abstract class__** - A class that cannot be instantiated.
 * __Abstraction__** - The process of finding the essential feature set for a building block of a program such as a class.
 * __Abstract list__** - An ordered sequence of items that can be traversed sequentially and that allows for efficient insertion and removal of elements at any position.
 * __Accessor method__** - A method that returns data; accesses an object but does not change it. EX: getX; does not change the state of its implicit parameter.
 * __Actual parameter__** - The expression supplied for a formal parameter of a method by the caller.
 * __ADT (abstract data type)__** - A specification of the fundemental operations that characterize a data type, without supplying an implementation.
 * __Aggregation__** - The "has-a" relationship between classes.
 * __Algorithm__ -** An unambiguous, executable, and terminating specification of a way to solve a problem.
 * __Applet__** - A graphical Java program that executes inside a web browser or applet viewer.
 * Array** - Simply, lists stored into one variable. Collection of values of the same type stored in contiguous memory locations, each of which can be accessed by an integer index.
 * ArrayList** - A Java class that implements a dymnamically growing array of objects. Can store a variety of types and its size can be easily changed.
 * __Assertion__** - A claim that a certain condition holds in a particular program location.
 * __Association__** - A relationship between classes in which one can navigate from objects of one class to objects of the other class, usually by following object references.

__**Binary operator**__ - An operator that takes two arguments, for example + in x + y. __**Binary tree**__ - A tree in which each node has at most two child nodes. __**Black-box testing**__ - Testing a method without knowing its implementation. [|**Bluej**] - Bluej is an easy-to-use program for learning Java. It is made especially for first year students learning the program language. Bluej is pronounced the same way you say the bird, [|blue jay]. __**Border layout**__ - A layout management scheme in which components are placed into the center or one of the four borders of their container. __**Boundry test case**__ - A test case involving values that are at the outer boundry of the set of legal values.
 * B**
 * __Balanced tree__** - A tree in which //each// subtree has the property that the number of descendants to the left is approximatelt the same as the number of descendants to the right.
 * __Binary file__** - A file in which values are stored in their binary representation and cannot be read as text.
 * __Binary search__** - A fast algorithm to find a value in a sorted array. It narrows the search down to half of the array in every step.
 * __Binary search tree__** - A binary tree in which each subtree has the property that all left descendants are smaller than the value stored in the root, and all right descendants are larger.
 * __Bit__** - Binary digit; the smallest unit of information, having two possible values of 0 or 1.
 * __Block__**- A group of statements bracketed by { }.
 * Boolean type** - A type with two possible values: true and false.
 * __Bounds error__** - Trying to access an array element that is outside the legal range.
 * __Breakpoint__** - A point in a program, specified in a debugger, at which it stops executing the program and lets the user inspect the program state.
 * __Break__** - A Java keyword used to resume program execution at the statement immediately following the current statement. If followed by a label, the program resumes execution at the labeled statement.
 * __break statement__** - A statement that terminates a loop or swtich statement.
 * __Buffer__** - A tempory storage location for holding values that have been produced and are waiting to be consumed.
 * __Buffered input__** - Input that is gathered in batches, for example, a line at a time.
 * __Byte__** - An number made up of eight bits. Essentially all currently manufactured computers use a byte as the smallest unit of storage in memory.
 * __Bytecode__ -** Instructions for the Java virtual machine.

__Call by reference__** - A method call mechanism in which the method recives a copy of the contents of a variable supplied as an actual parameter. Call by reference enables a method to change the contents of the original varible so that the change remains in effect after the method returns. __**Call by value**__ - A method call mechanism in which the method recives a copy of the contents of a variable supplied as an actual parameter. java uses only call by value. If a parameter variable's is a class, its value is an object reference,so the method can alter that objact but cannot make the parameter variable refer to a different object. char - A Java keyword used to declare a variable of type character. code format="java5" // this comments out this whole line
 * C
 * __Call stack__** - The ordered set of all methods that currently have deen called but not yet terminated, starting with the current method and ending with main.
 * __Case-sensitive__ -** Distinguishing upper- and lowwercase characters.
 * __Case__ -** A Java keyword that defines a group of statements to begin executing if a value specified matches the value defined by a preceding switch keyword.
 * 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.
 * __catch clause__** - A part of a try block that is executed when a matching exception is thrown by any statement in the try block.
 * Class** - programming language construct used to group related fields and methods. A programmer-defined data type; a class depends on another class if it uses objects of that other class.
 * __Cloning__** - Making a copy of an object whose state can be modified independently of the original object.
 * __Comment__** - An explanation to help the human reader understand a section of a program; ignored by the compiler.

/* * this comments * out this * entire * section */ code

__**Compound Statement**__- A statement such as **if** or **while** that is made up of several parts such as a condition and a body. Constant- A value that cannot be changed by a program. In Java, constants are defined with the keyword **final**. __**Content pane**__ - The part of a Swig frame that holds the user interface components of the frame.
 * __Compiler__** - A program that translates code in a high-level language (such as Java) to machine instructions (such as bytecode for the Java virtual machine).
 * __Compile-time error__** - An error that is detected when a program is compiled.
 * __Computer Science__**- the branch of engineering science that studies, with the aid of computers, computable processes and structures
 * __Concatenation__**-Placing one string after another to form a new string.
 * __Console Program__**- A Java program that does not have a graphical window. A console program reads input from the keyboard and writes output to the terminal screen.
 * __Construction__**- Setting a newly allocated object to an initial state.
 * Constructor** - using "new", a method that is automatically called and runned when a object is created by a class. Can be used for initializing process.
 * __Coupling__**- The degree to which classes are related to each other by dependency.
 * __CPU (Central Processing Unit)__** - The part of a computer that executes the machine instructions. The key component of a computer system, which contains the circuitry necessary to interpret and execute program instructions

__Declarations__ - are formed by placing names of the objects to be introduced after the name of the type of the object, methods are public, but named variables are private so that other objects can't use them, it helps java catch your typos Double - a number with a decimal point.
 * D**
 * __Debugger__**- A program that lets a user run another program one or a few steps at a time, stop execution, and inspect the variables in order to analyze it for bugs. **__Default__** - A Java keyword optionally used after all case conditions in a switch statement. If all case conditions are not matched by the value of the switch variable, the default keyword will be executed.
 * __Dependency__**- The "uses" relationship between, in which one class needs services provided by another class.
 * __Directory__** - A structure on a disk that can hold files or other directories ; also called a __folder__.
 * __Dot operator__** - A period character that allows you to access variables and methods of an object.

__**Explicit parameter**__- A parameter of a method other than the object on which the method is invoked. __**Expression**__ - A combination of one or more operands and their operators. Arithmetic expression compute numeric result and make use of the arithmetic operators. __**Extension**__- The last part of a file name, which specifies the file type. For example, the extension .java denotes a Java file.
 * E**
 * __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 Java strings.
 * __Event listerner__** - is notified when a particular event occurs.

Fibonacci numbers**- The sequence of numbers 1, 1, 2, 3, 5, 8, 13, ..., in which every term is the sum of its two predecessors. __**Final variable**__ - is a constant once its value has been set it cannot be changed. __**For Loop**__ - a line of code that is repeatedly executed for a known amount of times __**Formal parameter**__- A variable in a method definition; it is initialized with an actual parameter value when the method is called. __**Frame**__- A window with a border and a title bar.
 * F
 * __Fields__** - data that has several parts can be divided in **fields.** EX: day, month, year
 * __File__** - A sequence of bytes that is stored on disk.
 * __Floating-point number__** - A number that can have a fractional part.
 * __Font__**- A set of character shapes in a particular style and size.

[|**Greenfoot**] - A program made for learning Java. With Greenfoot, you can create easy-to-make simple JAVA games. It was developed by the same company as Bluej. It is highly recommended by Brian Meermans, possibly the smartest teacher currently working in WSHS.
 * G**
 * __Graphics context__** - A class through which a programmer can cause shapes to appear on a window or off-screen bitmap.
 * __Graphics Processing Unit (GPU)__** - A processing chip that is meant to solely process the graphics information for the computer.
 * __Grid layout__**- A layout management scheme in which components are placed into a two-dimensional grid.

__Hard-drive__** - The bulk of the memory of a personal computer is magnetically stored on hard disks that constitute the hard drive. Information in the hard drive is durable, in that it remains magnetically stored when the computer is turned off.
 * H
 * __Heatsink__** - a metallic heat exchanger designed to absorb and dissipate excess heat from one of the devices, as a transistor or resistor, in a circuit.
 * __HTML (Hypertext Markup Language)-__** The language in which web pages are described.

__**Immutable class**__ - has no mutator methods
 * I**
 * __If Statement__** - statement lets a program carry out different actions depending on the outcome of a condition.
 * __Implicit parameter__** - The object on which a method is invoked. For example, in the call //x.f(x),// the object //x// is the implicit parameter of the method //f.//
 * __Instance of a class__** - An object whose type is that class.
 * __Interface__** - is a group of related methods with empty bodies. In the Java programming language, an //interface// is a reference type, similar to a class, that can contain //only// constants, method signatures, and nested types. There are no method bodies. Interfaces cannot be instantiated—they can only be //implemented// by classes or //extended// by other interfaces.
 * __Integer__** - a number that cannot have a fractional part.
 * __Integer division__**-Taking the quotient of two integers, removing the remainder. In Java the / symbol means integer division if both arguments are integers. e.g., 11/4 is 2, not 2.75.


 * J**
 * __Java__ -** a programming language invented by Sun Microsystems. It is mostly used for network environment but also used in normal programming.
 * __javadoc__ -** The documentation generator in the Java SDK. It extracts documentation comments from Java source files and produces a set of linked HTML files.
 * __Java Native Interface (JNI)__** - This allows for java code to call or be called by native applications, such as programs specific to the hardware or operating system that is running.
 * __Java Runtime Environment (JRE)__** - This allows a computer to run java code.

Keyboard** - A hardware device consisting of a number of mechanical buttons (keys) which the user presses to input characters to a computer.
 * K


 * L**
 * __Library__** - A set of precompiled classes that can be included into programs.
 * __List__** - A Java class that implements a dynamically growing array of objects.
 * __Linked List__**- consists of a sequence of nodes, each containing data fields and one or two references pointing to the next and/or previous nodes. The difference of a linked list over a conventional array is that the order of the linked items may be different from the order that the data items are stored in memory or on disk, allowing the list of items to be accessed in a different order.
 * __Logic Error__ -** this is when the program compiles correctly, and will run without error, but does not do the intended purpose that it was meant to do. This is usually caused by an error caused by the programmer. Logic errors include multiplying when you should be dividing, adding when you should be subtracting, and opening and using data from the wrong file.
 * __Loops__** - shortcuts for recursion. Sequences of instructions that are executed repeatedly. There are 3 types of loops: Do While (rarely used), While, For.


 * M**
 * __Main__** - the name of the method
 * Method** - A sequence of statements that had 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. A method separates blocks of code to do one specific action. It is the verb in the java language. EX: getX; can never change parameters of primitive type, can change the state of an object reference parameter, but it cannot replace the object reference with another.
 * __Modem__** - an electronic device that makes possible the transmission of data to or from a computer via telephone or other communication lines.
 * __Motherboard__** - a rigid, slotted board upon which other boards that contain the basic circuitry of a computer or of a computer component can be mounted.
 * __Mouse__** - a palm-sized, button-operated device that can be slid on wheels or ball bearings over a desktop to move the cursor
 * Mutator Method** - a method that changes the state of an object.

__Newline__** - expressed by " \n ", indicates the end of a line
 * N
 * __new Operator__** - an operator that allocates new objects
 * __Null__** - a reference that does not refer to any object

__Objects__** - Represents something with which we can interact in a program. An object provides a collection of services taht we can tell it to perform for us. The services are defined by methods in a class. __**Operating System(OS)**__ - software that controls the execution of computer programs and may provide various services code format="java" //Parenthesis //Exponents //Multiplication //Division //Modulus (only applies in programming) //Addition //Subtraction code
 * O
 * Order of Operations** - The order in which an equation is performed. The order is (from top to bottom):
 * __Overloading__** - occurs when more than one meaning is assigned to a method name
 * __Overloaded methods__** - are methods with the same name but different parameter types.
 * __Overriding__** - redefining a method in a subclass

__Package__** - a collection of similar classes; java classes are grouped into packages. if you use a class from another package you must importan the class. code here's a few:
 * P

java.applet java.awt java.awt.color (provides classes for color spaces) java.awt.font java.awt.image java.util code
 * __Parallel arrays__** - arrays of the same length, in which certain elements are logically related
 * __Parameter__** - variable that must be given a specific value during the execution of a program or of a procedure within a program. EX: setX
 * __public__** - describes a feature (ex. a method) that can be accessed by all classes
 * __private__** - something that is only accessible by the same class or one of its inner classes
 * __precondition__** - a condition that must be true when a method is called in order for it to work correctly

__Queues-__** some queues order elements in FIFO (first-in-first-out). there are also LIFO (last-in-first-out) queues. The remove and poll methods remove and return the head of the queue.
 * Q

__RAM( random-access memory)__** - stuff (electronic circuits to be fancy) that stores information (code and data) needed to run programs code format="java5" Random gen = new Random; // gen is the variable name of the generator int carrotSticks = gen.nextInt(15); //a random integer 0-14 will be stored into carrotSticks. Int can be replaced with Double
 * R
 * __Random__ -** contains no pattern or reason. Be sure to " import java.util.*; "

code

__**Recursion**__ - a method that can call itself continuously code code format="java" public int fibonacci(int n) { if (n <= 2) return 1; else return fibonacci(n-1) + fibonacci(n-2); } code

code format="java5" public double sprintTime { //this returns a double return 4.35; //4.35 is the value that is returned code
 * __Return value__ -** this is the value that is returned by a method.


 * __Runtime Error__ -** an error that occurs when the program is runned (runned or ran?)

__**Search**__ - a way of finding where a particular value resides in some list __**Sequential Search**__ - a search that goes through every element of a list trying to find the location where a particular value resides.
 * S**
 * __Signature__** - the name of a method and the types of its parameters
 * __Sort__** - a way of rearanging your code so that a list of ints or Integers will be organized from one extrema to another
 * __Speaker__** - electro-acoustic transducer that converts electrical signals into sounds loud enough to be heard at a distance
 * __String__** - a set of characters; is a sequence of characters enclosed in quotations marks. EX: System.out.print("All inside the quotes is a string");
 * __Subclass__** - a class within a class that inherits all the superclass's variables and methods, but adds instance variables and new methods, or redefines methods
 * __Substring-__** method used to retrieve a string from within a string
 * __Switch Statements__**- shortcut to multiple if statements
 * __Syntax__** - the makeup of the programming language. proper "grammar" in your programming
 * __Syntax error__ -** an error that occurs when the program tries to compile
 * __Sun Microsystems__** - The developers of the different Java Development Kits that we use inside Blue J and Greenfoot.

__Tab character__**- a constant amount of space used to organize writing. __**timer**__- judges the amount of time between to actions.
 * T


 * U

V __Variable__** - stores a specific value
 * __void__ -** added to a method where nothing is returned
 * __void keyword__** - a keyword that does not indicate a type or known type

while loop** - a statement that allows code to be executed repeatedly based on a given boolean condition; essentially, it is a repeating if statement
 * W
 * __White space__** - section of code containing only space, tab, and newline characters
 * __Writer__** a class to which characters are to be set


 * X**


 * Y**


 * Z**