CS302 Glossary of Terms
This is a partial list of terms used in CS302. If you think an
important term is missing, please let me know.
-
accessor
-
a method for extracting information from an object, usually named according to
the variable being accessed, as in getData. Accessors usually declared public
so that the actual variables of the instance can be declared protected or private
without losing a handle to that data. see also mutator
-
actual parameters
-
the values that are passed into a procedure or method. These are always copies
of either primitives or object references.
-
address
-
a location in memory; each data item is stored at a particular
memory address
-
base case
-
the simplest case, usually the termination case for a recursive algorithm
-
binding
-
the relation between a symbol and its value
-
call stack (or execution stack)
-
the part of memory containing the bindings
of formal parameters to actual values for procedure calls
-
class
-
a definition of a type of object
-
constructor
-
a method used to create a new object
-
data
-
information that is manipulated by a computation
-
data flow model
-
a model of computation in which each computational component is represented as a box whose
arguments and results may be connected from and to other boxes
-
expression tree
-
a diagram showing the operators and operands of an expression
-
final
-
keyword that may be applied to classes, methods, and data which will prevent it
from being extended, overriden, or changed, respectively
-
formal parameter
-
the parameters declared for a method or procedure,
into which the actual parameter values will be copied
-
garbage
-
memory that had been allocated but is no longer reachable by a process
-
garbage collection
-
claiming unreachable storage for reuse
-
heap
-
an area of memory from which space for dyanamic structures
are allocated
-
infix notation
-
a notation in which operators appear between the operands, as in
3 + 5
-
instance variables
-
the variables holding the internal representation of an object
-
interface
-
(see abstraction barrier)
-
internal representation
-
the data representation (stored in the instance variables) of an object
-
iteration
-
a repeated computation, usually performed on a range of
values or on the elements of a data structure
-
iterator
-
an object that contains a reference to internal items of a
data structure in order to support iterating over the data in those
items without exposing the internal representation of the structure itself
-
linked list
-
a data structure consisting of a sequence of values linked together
in memory by a chain of references
-
liveness
-
the program will eventually provide a result
-
loop
-
a programming language construct that supports iteration
(for example, a while loop)
-
loop invariant
-
a property of, or relationship among, the values of the loop variables such
that the property is true both
initially and after each iteration of the loop; together with the
termination condition, a loop invariant is useful in demonstrating
the correctness of a loop
-
memory
-
a place in the computer where values are stored for later retreival
-
message-passing
-
a way of thinking about object-oriented programming in which objects
communicate by sending messages to each other (to invoke methods on them)
-
method
-
an operation that one may invoke on an object
-
mutation
-
the act of changing the values of variables or data structures
-
native
-
a method modifier that indicated that the method is defined elsewhere and in another
platform-dependent fashion. Native methods should have a semicolon in place of its body.
-
object
-
an abstraction that encapsulates data and knows how to operate
on the data
-
parameter
-
the way values are passed to a method or procedure
-
polymorphism
-
treating objects of many types in a uniform way
-
predicate
-
an expression that evaluates to either true or false
-
prefix notation
-
a notation in which operators appear before the operands, as in
add(3,5)
-
primitive data
-
data, such as numbers and symbols, that are built into the language
-
procedure
-
a description of an activity to be carried out (by a computer)
- process
- an activity (carried out by a computer)
-
programming language
-
a language used to write a procedure or other description of
a computation
-
queue
-
a data structure with first-in first-out behavior, supporting
the operations enqueue (to insert) and dequeue (to remove)
-
reduction
-
a recasting of one problem as another (somewhat different) problem
-
recursion
-
a reduction of a problem to another (typically smaller) instance of the same problem
-
representation invariant
-
a property that holds true of the internal representation initially
and after the completion of each method
-
semantics
-
the meaning of an expression
-
stack
-
a data structure with last-in first-out behavior, supporting
the operations push (to insert) and pop (to remove)
-
state
-
stored information (associated with a process)
-
subclass
-
a class that extends another class, possibly by adding
new methods or overriding existing methods
-
substitution model
-
a model of computation in which expressions are successively replaced by their
values until a final result is reached
-
symbol
-
a name used to denote a value
-
synchronized
-
keyword modifying a class or method indicating that internal state is not thread-safe.
A lock is automatically generated to protect the data.
-
syntax
-
the notation used to express an idea
-
tail recursion
-
a form of recursion in which the result of the recursive call is the final answer;
no combining is done on the result of the recursive call
-
termination condition
-
a predicate that becomes true when a computation ends
-
top-down refinement
-
a design technique in which a problem is described at a highly abstract level and then
broken down into finer and finer details until all the pieces are filled in
-
transient
-
a modifier indicating that the data is not part of an object's persistent state,
and thus needs not be serializable
-
try
-
a keyword starting a try block, which uses methods that throw Exceptions.
These Exceptions must be caught at the end of the try block
-
volatile
-
a keyword indicating that the data is used by synchronized threads, telling the compiler
not not to attempt optimizations on it