Computer hardware, software, and data, which interact to solve problems.
The physical elements of a computing system.
The programs that provide the instructions that a computer executes.
A mental model that removes complex details
A unit of an abstract mathematical system subject to the laws of arithmetic.
The number 0 and any number obtained by repeatedly adding 1 to it.
A value less than 0, with a sign opposite to its positive counterpart.
A natural number, a negative of a natural number, or zero.
An integer or the quotient of two integers (division by zero excluded).
The foundational value of a number system, which dictates the number of digits and the value of digit positions.
A system of expressing numbers in which the digits are arranged in succession, the position of each digit has a place value, and the number is equal to the sum of the products of each digit by its place value.
A digit in the binary number system; a 0 or a 1.
Eight binary digits.
A group of one or more bytes; the number of bits in a word is the word length of the computer.
Basic values or facts.
Data that has been organized or processed in a useful manner.
Several different media types.
Reducing the amount of space needed to store a piece of data.
The number of bits or bytes that can be transmitted from one place to another in a fixed amount of time.
The size of the compressed data divided by the size of the uncompressed data.
A data compression technique in which there is no loss of information.
A data compression technique in which there is loss of information.
A continuous representation of data.
A discrete representation of data.
The act of breaking information down into discrete pieces.
Variation in a signal that jumps sharply between two extremes.
The act of reasserting an original digital signal before too much degradation occurs.
Number representation in which the sign represents the ordering of the number (negative and positive) and the value represents the magnitude.
A representation of negative numbers such that the negative of I is 10 raised to k minus I.
A situation where a calculated value cannot fit into the number of digits reserved for it.
The dot that separates the whole part from the fractional part in a real number in any base.
A representation of a real number that keeps track of the sign, mantissa, and exponent.
An alternative floating-point representation.
A list of the characters and the codes used to represent each one.
Replacing a frequently used word with a single character.
Replacing a long series of a repeated character with a count of the repetition.
Using a variable-length binary string to represent a character so that frequently used words have short codes.
Individual dots used to represent a picture; stands for picture elements.
The number of pixels used to represent a picture.
Storing image information pixel by pixel.
Representation of an image in terms of lines and shapes.
Methods used to shrink the size of a movie.
Movie compression technique based on differences between consecutive frames.
Movie compression technique based on the same compression techniques used for still images. (removes redundant information within a frame)
A device that performs a basic operation on electrical signals, accepting one or more input signals and producing a single output signal.
A combination of interacting gates designed to accomplish a specific logical function.
A mathematical notation for expressing two-valued logical logical functions.
A graphical representation of a circuit; each type of gate has its own symbol.
A table showing all possible input values and the associated output values.
A device that acts either as a wire or a resistor, depending on the voltage level of an input signal.
Material such as silicon that is neither a good conductor nor a good insulator.
A circuit whose output is solely determined by its input values.
A circuit whose output is a function of its input values and the current state of the circuit.
The same output for each corresponding input-value combination for two circuits.
An electronic circuit that performs an addition operation on binary values.
A circuit that computes the sum of two bits and produces the appropriate carry bit.
A circuit that computes the sum of two bits, taking an input carry bit into account.
A circuit that uses a few input control signals to determine which of several input data lines is routed to its output.
Integrated Circuit (chip)
A piece of silicon on which multiple gates have been embedded.
The number of bits stored in each addressable location in memory.
Arithmetic/logic unit (ALU)
The computer component that performs arithmetic operations (addition, subtraction, multiplication, division) and logical operations (comparison of two values).
A small storage area in the CPU used to store intermediate values or special data.
A device that accepts data to be stored in memory.
A device that prints or otherwise displays data stored in memory or makes a permanent copy of information stored in memory or another device.
The computer component that controls the actions of the other components so as to execute instructions in sequence.
Instruction Register (IR)
The register that contains the instruction currently being executed.
Program Counter (PC)
The register that contains the address of the next instruction to be executed.
The central processing unit, a combination of the arithmetic/logic unit and the control unit; the "brain" of a computer that interprets and executes instructions.
The number of bits that can be transferred in parallel over the bus.
A type of of small, high-speed memory used to hold frequently used data.
A technique that breaks an instruction into smaller steps that can be overlapped.
The main circuit board of a personal computer.
A concentric circle on the surface of a disk.
A section of a track.
The information stored in a sector.
The time it takes for the read/write head to get positioned over the specified track.
The time it takes for the specified sector to be in position under the read/write head.
The time it takes for a block to start being read; the sum of seek time and latency.
The rate at which data moves from the disk to memory.
The set of concentric tracks on all surfaces.
Multiple processors apply the same program in lock-step to multiple data sets.
Shared Memory Parallel Processor
The situation in which multiple processors share a global memory.
The language made up of binary-coded instructions that is used directly by the computer.
Virtual Computer (machine)
A hypothetical machine designed to illustrate important features of a real machine.
A piece of software that takes a machine-language and places it into memory.
A low-level programming language in which a mnemonic represents each of the machine-language instructions for a particular computer.
A program that translates an assembly-language program in machine code.
Instructions to the translating program.
Explanatory text for the human reader.
A plan or outline of a solution; a logical sequence of steps that solve a program.
A language designed to express algorithms.
An expression that when evaluation is either true or false.
Tracing the execution of a design on paper.
A document that specifies how a program is to be tested.
Code Coverage (clear-box) Testing
Testing a program or subprogram based on covering all the statements in the code.
Data Coverage (black-box) Testing
Testing a program or subprogram based on the possible input values, treating the code as a black box.
Test Plan Implementation
Using the test cases specified in a test plan to verify that a program outputs the predicted results.
Abstract Data Type (ADT)
A container whose properties (data and operations) are specified independently of any particular implementation.
The implementation of a composite data field in an abstract data type.
Objects whose role is to hold and manipulate other objects.
An implementation of a container where the items are stored together with information on where the next item can be found.
An abstract composite structure with a unique starting node called the root, in which each node is capable of having two child nodes and in which a unique path exists from the root to every other node.
The unique starting node in a tree.
A tree node that has no children.
A data structure that consists of a set of nodes and a set of edges that relate the nodes to each other.
A node in a graph.
A pair of vertices representing a connection between two nodes in a graph.
A graph in which the edges have no direction.
Directed Graph (digraph)
A graph in which each edge is directed from one vertex to another (or the same) vertex.
Two vertices that are connected by an edge.
A sequence of vertices that connects two nodes in a graph.
A mechanism for communication between two parts of a program.
The identifiers listed in parentheses beside the subprogram name; sometimes called formal parameters.
The identifiers listed in parentheses on the subprogram call; sometimes called actual parameters.
A parameter that expects a copy of its argument to be passed by the calling unit (put on the message board).
A parameter that expects the address of its argument to be passes by the calling unit (put on the message board).