# Chapters 1-6 and 8

## 117 terms

### Computing System

Computer hardware, software, and data, which interact to solve problems.

### Computer Hardware

The physical elements of a computing system.

### Computer Software

The programs that provide the instructions that a computer executes.

### Abstraction

A mental model that removes complex details

### Number

A unit of an abstract mathematical system subject to the laws of arithmetic.

### Natural Number

The number 0 and any number obtained by repeatedly adding 1 to it.

### Negative Number

A value less than 0, with a sign opposite to its positive counterpart.

### Integer

A natural number, a negative of a natural number, or zero.

### Rational Number

An integer or the quotient of two integers (division by zero excluded).

### Base

The foundational value of a number system, which dictates the number of digits and the value of digit positions.

### Positional Notation

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.

### Binary Digit

A digit in the binary number system; a 0 or a 1.

Binary digit.

### Byte

Eight binary digits.

### Word

A group of one or more bytes; the number of bits in a word is the word length of the computer.

### Data

Basic values or facts.

### Information

Data that has been organized or processed in a useful manner.

### Multimedia

Several different media types.

### Data Compression

Reducing the amount of space needed to store a piece of data.

### Bandwidth

The number of bits or bytes that can be transmitted from one place to another in a fixed amount of time.

### Compression Ratio

The size of the compressed data divided by the size of the uncompressed data.

### Loseless Compression

A data compression technique in which there is no loss of information.

### Lossy Compression

A data compression technique in which there is loss of information.

### Analog Data

A continuous representation of data.

### Digital Data

A discrete representation of data.

### Digitize

The act of breaking information down into discrete pieces.

### Pulse-code Modulation

Variation in a signal that jumps sharply between two extremes.

### Reclock

The act of reasserting an original digital signal before too much degradation occurs.

### Signed-magnitude Representation

Number representation in which the sign represents the ordering of the number (negative and positive) and the value represents the magnitude.

### Ten's Complement

A representation of negative numbers such that the negative of I is 10 raised to k minus I.

### Overflow

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.

### Floating Point

A representation of a real number that keeps track of the sign, mantissa, and exponent.

### Scientific Notation

An alternative floating-point representation.

### Character Set

A list of the characters and the codes used to represent each one.

### Keyword Encoding

Replacing a frequently used word with a single character.

### Run-length Encoding

Replacing a long series of a repeated character with a count of the repetition.

### Huffman Encoding

Using a variable-length binary string to represent a character so that frequently used words have short codes.

### Pixels

Individual dots used to represent a picture; stands for picture elements.

### Resolution

The number of pixels used to represent a picture.

### Raster-graphics Format

Storing image information pixel by pixel.

### Vector Graphics

Representation of an image in terms of lines and shapes.

### Video Codec

Methods used to shrink the size of a movie.

### Temporal Compression

Movie compression technique based on differences between consecutive frames.

### Spatial Compression

Movie compression technique based on the same compression techniques used for still images. (removes redundant information within a frame)

### Gate

A device that performs a basic operation on electrical signals, accepting one or more input signals and producing a single output signal.

### Circuit

A combination of interacting gates designed to accomplish a specific logical function.

### Boolean Algebra

A mathematical notation for expressing two-valued logical logical functions.

### Logic Diagram

A graphical representation of a circuit; each type of gate has its own symbol.

### Truth Table

A table showing all possible input values and the associated output values.

### Transistor

A device that acts either as a wire or a resistor, depending on the voltage level of an input signal.

### Semiconductor

Material such as silicon that is neither a good conductor nor a good insulator.

### Combinational Circuit

A circuit whose output is solely determined by its input values.

### Sequential Circuit

A circuit whose output is a function of its input values and the current state of the circuit.

### Circuit Equivalence

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.

### Multiplexer

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).

### Register

A small storage area in the CPU used to store intermediate values or special data.

### Input Unit

A device that accepts data to be stored in memory.

### Output Unit

A device that prints or otherwise displays data stored in memory or makes a permanent copy of information stored in memory or another device.

### Control Unit

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.

### CPU

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.

### Bus Width

The number of bits that can be transferred in parallel over the bus.

### Cache Memory

A type of of small, high-speed memory used to hold frequently used data.

### Pipelining

A technique that breaks an instruction into smaller steps that can be overlapped.

### Motherboard

The main circuit board of a personal computer.

### Track

A concentric circle on the surface of a disk.

### Sector

A section of a track.

### Block

The information stored in a sector.

### Seek Time

The time it takes for the read/write head to get positioned over the specified track.

### Latency

The time it takes for the specified sector to be in position under the read/write head.

### Access Time

The time it takes for a block to start being read; the sum of seek time and latency.

### Transfer Rate

The rate at which data moves from the disk to memory.

### Cylinder

The set of concentric tracks on all surfaces.

### Synchronous Processing

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.

### Machine Language

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.

### Assembly Language

A low-level programming language in which a mnemonic represents each of the machine-language instructions for a particular computer.

### Assembler

A program that translates an assembly-language program in machine code.

### Assembler Directives

Instructions to the translating program.

### Comment

Explanatory text for the human reader.

### Algorithm

A plan or outline of a solution; a logical sequence of steps that solve a program.

### Pseudocode

A language designed to express algorithms.

### Boolean Expression

An expression that when evaluation is either true or false.

### Desk Checking

Tracing the execution of a design on paper.

### Test Plan

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.

A container whose properties (data and operations) are specified independently of any particular implementation.

### Data Structure

The implementation of a composite data field in an abstract data type.

### Containers

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.

### Binary Tree

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.

### Root

The unique starting node in a tree.

### Leaf Node

A tree node that has no children.

### Graph

A data structure that consists of a set of nodes and a set of edges that relate the nodes to each other.

### Vertex

A node in a graph.

### Edge (arc)

A pair of vertices representing a connection between two nodes in a graph.

### Undirected 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.

### Path

A sequence of vertices that connects two nodes in a graph.

### Parameter List

A mechanism for communication between two parts of a program.

### Parameters

The identifiers listed in parentheses beside the subprogram name; sometimes called formal parameters.

### Arguments

The identifiers listed in parentheses on the subprogram call; sometimes called actual parameters.

### Value Parameter

A parameter that expects a copy of its argument to be passed by the calling unit (put on the message board).

### Reference Parameter

A parameter that expects the address of its argument to be passes by the calling unit (put on the message board).