CSC 202 Exam 1 Terms
Algorithm
A logical sequence of discrete steps that describes a complete solution to a given problem, computable in a finite amount fo time and space.
Abstraction
A model of a system that includes only the details essential to the perspective of the viewer of the system.
Big-O notation
A notation that expresses computing time(complexity) of the term in a function that increases most rapidly relative to the size of a problem.
Abstract Data Type
A programmer created type that encapsulates data and the operation on that data
Object
An instance of an Abstract Data Type
Observer
An operation that allows us to observe the state of an object without changing it.
Transformer
An operation that changes the internal state of an object
Exceptional situation
Associated with an unusual, sometimes unpredictable event, detectable by software or hardware, which requires special processing.
Precondition
Assumptions that must be true on entry into a method for it to work correctly.
Interface
Class like structure containing method declarations without bodies.
Queue
Data Structure that adds values at one end and removes values at the other end.
Linked List
Data structure consisting of zero or more nodes each of wich holds values and a link to the next node. 2
Stack
Data structure that adds and removes values from the same location.
Class
Java construct used to encapsulate an Abstract Data Type.
Constructor
Java operation that creates a new instance of a class and initializes the data of the class.
Array
Java provided data structure that holds multiple values of the same type with each value accessed with an index.
Information hiding
Keeping the details of an implementation from the client.
Parameter
Local variable of a method which receives a copy of the argument when the method is called.
Abstract method
Method declared in a class or an interface without a method body.
Graph
Nonlinear data structure of data nodes connected to one another. This connection is determined by the relationship one node had with another.
Tree
Nonlinear data structure that holds values that stored in a hierarchical pattern.
Stepwise Refinement
Process of breaking a problem up and solving each piece of the problem. These pieces can be further broken up until each piece is easily solved.
Inheritance
Programming mechanism allowing classes to share operations and build new classes from existing classes.
Data Abstraction
Separating the data type's logical properties from its implementation.
Bottom-up
Start with parts of the problem and use stepwise refinement to build the solution from small pieces.
Top-down
Start with the whole problem and use stepwise refinement to break it up.
Postcondition
Statements that describe what results are to be expected at the exit of a method.
Method signature
The distinguishing features of a method heading; the combination of a method name with the number and type(s) of its parameters in their given order.
Data structure
The mechanism used to organize data to make it easier to process the data.
Software verification
The process of determining the degree to which a software product fulfills its specifications.
Software validation
The process of determining the degree to which software fulfills its intended purpose.
Garbage collection
The process of finding all the unreachable objects and deallocatin their storage space.
Alias
The relationship two identifiers have when they share the same address.
Overloading
The repeated use of a method name with different signatures.
Data Encapsulation
The separation of the representation of data from the application that use the data at a logical level; a programming language feature that enforces information hiding.
Deskcheck
Working through the code of a program on paper to make sure that it works.