Shared Flashcard Set

Details

CSE 126 Final
Glossary Terms
66
Computer Science
Undergraduate 1
05/06/2008

Additional Computer Science Flashcards

 


 

Cards

Term
abstract data type
Definition
an interface and its associated expected behavior, usually implemented as an object containing some data (the internal representation and a set of methods implementing the interface)
Term
abstraction
Definition
a mechanism for hiding detail
Term
abstraction barrier (or interface)
Definition
a set of operations (or methods of an object) that is used to access and or operate on the internal representation
Term
accessor
Definition
a method for extracting information from an object
Term
activation record
Definition
holds the information on the call stack that is needed for one procedure call
Term
actual parameter
Definition
the values that are passed into a procedure or method
Term
address
Definition
a location in memory; each data item is stored at a particular memory address
Term
algorithm
Definition
the idea of how to carry out a computation, may be implemented as a procedure
Term
base case
Definition
the simplest case, usually the termination case for a recursive algorithm
Term
**binary search tree
Definition
a data structure in which every node refers to a left subtree and a right subtree such that all values in the left subtree are smaller than the value in the node and all elements in the right subtree are greater than (or equal to) the value in the node. The top node is called the root. The nodes with no children (left and right subtrees empty) are called leaves.
Term
binding
Definition
the relation between a symbol and its value
Term
black box
Definition
something that can be used without knowing how it works inside
Term
call stack (or execution stack)
Definition
the part of memory containing the bindings of formal parameters to actual values for procedure calls
Term
circular list
Definition
a linked list in which the rear item refers back to the head item
Term
class
Definition
a definition of a type of object
Term
compound data
Definition
a collection of data treated as a single unit; has a constructor, accessors, and an identifier
Term
**correctness
Definition
safety plus liveness
Term
constructor
Definition
a method used to create a new object
Term
data
Definition
information that is manipulated by a computation
Term
data abstraction
Definition
a method for providing a natural, high-level semantics for (a collection of) data while surpressing the details of the internal representation
Term
**data flow model
Definition
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
Term
encapsulation
Definition
a mechanism for hiding and protecting information
Term
environment
Definition
a "place" in which expressions are evaluated, usually with an associated set of bindings
Term
execution stack
Definition
(see call stack)
Term
expression tree
Definition
a diagram showing the operators and operands of an expression
Term
formal parameter
Definition
the parameters declared for a method of procedure, into which the actual parameter values will be copied
Term
garbage
Definition
memory that had been allocated but is no longer reachable by a process
Term
garbage collection
Definition
claiming unreachable storage for reuse
Term
heap
Definition
an area of memory from which space for dynamic structures are allocated
Term
infix notation
Definition
a notation in which operators appear between the operands, as in: 3 + 5
Term
instance variables
Definition
the variables holding the internal representation of an object
Term
interface
Definition
(see abstraction barrier)
Term
internal representation
Definition
the data representation (stored in the instance variables) of an object
Term
iteration
Definition
a repeated computation, usually performed on a range of values or on the elements of a data structure
Term
iterator
Definition
an object that contains a reference to internal items of a data structure in order to support iterating of over the data in those items without exposing the internal representation of the structure itself
Term
linked list
Definition
a data structure consisting of a sequence of values linked together in memory by a chain of references
Term
**liveness
Definition
the program will eventually provide a result
Term
loop
Definition
a programming language construct that supports iteration (for example a WHILE loop)
Term
loop invariant
Definition
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 loop invariant is useful in demonstrating the correctness of a loop
Term
memory
Definition
a place in the computer where values are stored for later retreival
Term
message-passing
Definition
a way of thinking about object-oriented programming in which objects communicate by sending messages to each other (to invoke methods on them)
Term
method
Definition
an operation that one may invoke on an object
Term
mutation
Definition
the act of changing the values of variables or data structures
Term
object
Definition
an abstraction that encapsulates data and knows how to operate on the data
Term
parameter
Definition
the way values are passed to a method or procedure
Term
polymorphism
Definition
treating objects of many types in a uniform way
Term
predicate
Definition
an expression that evaluates to either true or false
Term
prefix notation
Definition
a notation in which operators appear before the operands as in (3, 5)
Term
primitive data
Definition
data, such as numbers ans symbols, that are built into language
Term
procedure
Definition
a description of an activity to be carried out (by a computer)
Term
programming language
Definition
a language used to write a procedure or other description of a computation
Term
process
Definition
an activity (carried out by a computer)
Term
queue
Definition
a data structure with first-in-first-out behavior, supporting the operations enqueue (to insert) and dequeue (to remove)
Term
reduction
Definition
a recasting of one problem as another (somewhat different) problem
Term
recursion
Definition
a reduction of a problem to another (typically smaller) instance of the same problem
Term
representation invariant
Definition
a property that holds true of the internal representation initially and after the completion of each method
Term
semantics
Definition
the meaning of an expression
Term
stack
Definition
a data structure with last-in first-out behavior, supporting the operations push (to insert) and pop (to remove)
Term
state
Definition
stored information (associated with a process)
Term
subclass
Definition
a class that extends another class, possibly by adding new methods or overriding existing methods
Term
substitution model
Definition
a model of computation in which expressions are successively replaced by their values until a final result is reached
Term
symbol
Definition
a name used to denote a value
Term
syntax
Definition
the notation used to express an idea
Term
tail recursion
Definition
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
Term
termination condition
Definition
a predicate that becomes true when a computation ends
Term
top-down refinement
Definition
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 pieces are filled in
Supporting users have an ad free experience!