| Term 
 | Definition 
 
        | the language, made up of binary-coded instructins, that is used directly by the computer |  | 
        |  | 
        
        | Term 
 
        | central processing unit (CPU) |  | Definition 
 
        | *executes the instructions (program) stored in memory 
 *made up of:
 -arithmetic/logic unit
 -control unit
 |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | controls the actions of the other components so that the program is executed in sequence |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | set of wires that connect multiple subsystems |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a connecting link shared boundary, permitting independent systems to meet and act on or communicate with each other |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | set of programs that manages all of the computer's resources |  | 
        |  | 
        
        | Term 
 
        | phases of writing a program |  | Definition 
 
        | -problem solving -implementation
 -maintenance
 |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | low-level programming language in which a mnemonic is used to represent each of the machine language instructions for a particular computer |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a program that translates an assembly language program into machine code |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a program that translates a high-level language into machine code |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a program written in a high-level programming language |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | the machine language version of a source program |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | an ada tool that allows programmers to implement a solution to a sub-problem seperately from the solutions to other subproblems |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | an ada tool that allows programmers to easily reuse solutions to similar subproblems |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a mechanism that allows ada programmers to extend a general solution to a more specific one |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a program unit that executes concurrently with other program units |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | the formal rules governing how valid instructions are written in a programming language |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | the set of rules that determines the meaning of instructions written in a programming language |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a name associated with a process or object and used to refer to that process or object |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a collection of values and the operations that can be performed on those values |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a language used to describe another language |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | the association of an identifier with a proces or object so that the user can refer to that process or object by name |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | any value written directly in a program |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a name for a data value that connot be changed |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a word that has special meaning in ada; it cannot be used as a programmer-defined identifier |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a location in memory, referenced by an identifier, in wich a data value that can be changed is stored |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a statement that stores the value of an expression in a memory location corresponding to the named variable |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a programming structure that allows replacement of a group of statements with a single statement |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | mechanism for communicating with a procedure |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | designating an identifier with the hierarchy of names of packages in which it is declared |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a named area in secondary storage that is used to hold a colelction of data: the collection of data itself |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | the set values between a specified first and last value, including those values |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a range with a first value greater than its last value. a null range contains no values |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a string containing no characters |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | an indicator that keeps track of the popint in the input data where the computer should continue reading |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a technique for developing a program in which the problem is divided into more easily handled subproblems, the solutions of which create a solution to the overall problem |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a step for which the implementation details are fully specified |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a step in which some implementation details remain unspecified |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a self-contained collection of steps that solves a problem or subproblem; can contain both concrete and abstract steps |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a property of a module- it performs exactly the same operation as the abstract step it defines. a pair of modules are functionally equivalent to each other if they each accomplish the same abstract operation |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a property of a module in which all concrete steps are directed toward solving just one problem, and any significant subproblems are written as abstract steps |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a program containing meaningful identifiers as well as judiciously used clarifying comments |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | an expression that evaluates to either true or false the only value of the boolean data type |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | the order in which the computer executes statements in a program |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a statement used to alter the normally sequential flow of control |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | an ordered set of literal values defined as a data type |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a template for constructing packages and subprograms |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | the creation of a useable package from a generic template |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | assertions that should be true before a module begins executing |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | assertions that should be true after a module is executed |  | 
        |  | 
        
        | Term 
 
        | minimum complete coverage |  | Definition 
 
        | a testing strategy in which the minimum number of data sets are used to exectue every branch in the program atleast once |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | the sequence of statements executed in one run of a program |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | a testing strategy in which data sets are chosen to test as many paths as possible in the pgrogram |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | any testing strategy based on inspecting the code of the pgrogram |  | 
        |  | 
        
        | Term 
 | Definition 
 
        | any testing strategy based on the possible ranges of input data |  | 
        |  |