[Chapter 5] [Home] [Glossary]


Glossary: Chapter 5

algorithm
A predetermined series of instructions for carrying out a task in a finite number of steps.

arithmetic function
One of the arithmetic operations -- addition, subtraction, multiplication, or division -- included in most programming languages.

assembler
A program that translates assembly language code to binary machine language before it is run by a computer.

assembly language
A computer language of symbolic instructions and addresses that convert into binary machine language codes on a one-to-one basis.

bomb
A crash of a computer system caused by a virus, which may cause a hard disk or diskette to be erased or permanently damaged.

bug
A term for a program error, usually in software, that causes it to crash or malfunction.

bulletin board
A dial-up computer network site typically offering news and programs that may be downloaded to one's computer.

compiler
Software that translates a program written in a high-level language into lower-level language instructions. As an additional benefit, it searches along the way for grammar errors in the program.

Computer Fraud and Abuse Act (1986)
A U.S. federal law that makes accessing a federal computer without authorization and causing damage greater than $1000 a felony; aimed at hacker invasions of public computers.

computer virus
Software that invades operating systems or application programs through contact with corrupted files. It may seriously damage computer files if not eradicated.

copy protection
A software strategy employed by program developers to make it difficult to copy software illegally.

data bus
An electrical path to transfer data and instructions back and forth between internal memory devices and the processor.

debugging
The process of correcting errors in a computer program, often helped by error diagnostics from the compiler.

decision box (branch)
One of the fundamental building blocks of flowcharting, offering a choice between alternative directions to continue, analogous to selection in structured programming.

desktop
The background of a computer screen with a GUI on which icons and windows appear.

DOS
An abbreviation for Disk Operating System, the popular operating system developed by Microsoft and found on IBM-compatible computers.

executive (monitor) program
Other terms for an operating system.

expert system
A category of computer software in artificial intelligence designed to model the behavior of human experts in some field and frequently coded in logic programming language.

flowchart (flow diagram)
A graphic representation of an algorithm, often used in the design phase of programming to work out the logical flow of a program.

freeware
Software often made available free of charge on electronic bulletin boards and through user groups.

front-end system
"User friendly" software developed to stand between the user and a complicated operating system. Examples include Microsoft Windows for DOS and X Windows for Unix.

function keys
Shortcut keys on the keyboard that are set up to send commands to the operating system, especially in MS-DOS systems.

high-level language
A programming language that is more like English than it is like assembly language, and thus easier to use in writing programs. Compiler and interpreter languages are all high-level languages.

icon
A picture on a computer screen with a graphical user interface that represents a physical object, such as a file folder, a program, or a trash can.

if/then/else condition
A branching condition in both pseudocode and structured programming.

instruction decoder
A part of the control unit of the CPU which receives machine language instructions, interprets them, and carries them out.

internal clock speed
Measured in megahertz, the speed of the CPU clock determines how quickly binary instructions are retrieved from memory and processed.

interpreter
A computer program that translates a high-level instruction to machine language, line by line, and then executes it before considering the next instruction.

iteration (looping)
One of the four main constructs in structured programming for executing a series of steps repeatedly in a program, often called looping.

logic programming languages
A category of languages like Prolog very similar to symbolic logic, especially applicable to artificial intelligence research and expert systems.

logical comparison operator
One of the common logical operations -- less than, greater than, equal to, not equal to, etc. -- included in most programming languages.

logical error
A bug in a computer program in which the logic is faulty -- for instance, in which instructions are not in proper sequence or the wrong instructions are used.

loop
A series of program instructions performed repeatedly until a certain condition is satisfied, embodying the structured programming construct of iteration.

machine language
The basic set of binary operations, specific to each computer brand, that constitute its main power.

menu-driven
A technique of presenting command choices in the operating system by giving the user several different options, recently in pull-down menus.

multitasking
a powerful feature of modern operating systems that allows processors to work on more than one application at a time to achieve faster, more efficient operation.

object code
The binary version of a program, originally written in a high-level language, having been created as machine language code by the translation process.

object-oriented programming
A popular, recent programming technique which offers users a set of predefined objects or tools to construct applications, illustrated by such languages as Smalltalk.

object
In software engineering, an instance of data encapsulated with all its features and possible uses in constructing program applications, like an interchangeable part in manufacturing.

operating system
The computer's own system software for monitoring all of its operations, such as moving data into and out of storage and coordinating the running of application programs.

OS/2
An acronym for Operating System/2, a powerful GUI personal computer operating system owned by IBM.

paperless office
A term used to describe a totally computerized office where all communications will be handled electronically in soft copy.

pirated software
Programs that have been copied illegally rather than purchased legally.

plugboard
Before programming languages were invented, programs were individually wired for one application using such a wiring board, and modification required stopping the machine for rewiring.

procedure
In structured programming, one of a series of independent subtasks that stand alone and can be performed one at a time in a modular fashion.

processing cycle
The implementation of the throughput process from input to output, which requires a partnership of hardware and software in carrying out the five functions of all computer applications.

pseudocode
A kind of structured English used to describe the algorithmic steps needed in a program, analogous to a flowchart as a planning tool for programming.

pull-down menu
A menu of command options that is hidden from view until revealed by a combination of keystrokes or depression of a mouse.

rapid applications development (RAD) tools
Programming environments with objects, graphical interfaces, and superior debugging features for rapid prototyping of applications. Both Delphi and Visual BASIC fall into this category.

selection
The term used in structured programming for the choice represented by a decision box or an if/then/else condition.

sequence
The structured program construct for a series of statements that are carried out in linear order, one after another.

sequential search
A programming strategy of searching for an item in a data file by examining items in the order in which they are stored, often not the most efficient searching method.

shareware
Software distributed free of charge on a trial basis through bulletin boards or among friends. Those who like it are expected to pay a nominal fee in order to receive additional documentation and news of upgrades.

software license
Paying a license fee to software developers for access to a program by a number of users without restriction, common in businesses and institutions.

software piracy
Illegal or unauthorized copying of software.

source code
The statements that make up a computer program in a high-level programming language, ready for an interpreter or a compiler.

spaghetti code
A term for a computer program not following structured programming principles, with many "go-to's" that allow unlimited transfer of control between modules.

stack
A term for an individual HyperCard application, analogous to a file.

stored program concept
The storage of data and instructions in central memory so that instructions can be treated like data. Von Neumann proposed this principle in the 1940s, so that the computer did not have to be hard-wired each time a specific task was to be performed.

string-handling language
A category of programming languages like LISP and SNOBOL appropriate for lists and textual data, such as natural language.

structured program design
The process of designing the components of a computer program as a set of individual self-contained modules that can be interrelated.

syntax error
An error found in a computer program in the compiling stage because a statement violates the grammatical rules of the programming language.

systems analysis
A field of analysis that looks at a proposed computer application from the top down and tries to put together an efficient, coordinated system made up of hardware, software, and people to achieve the desired goal.

template
A cardboard or plastic pattern sometimes packed with software for placement on a keyboard, listing the most common commands in the package.

top-down design
An approach in structured program design that breaks up a general task into a series of more detailed subtasks, which are further divided until no more detail is necessary.

transfer
Programming statements, like the "go-to" in nonstructured programming languages, that allow program code to be transferred into and out of modules.

trash can
An icon common with graphical user interface systems used for getting rid of files. "Emptying the trash" means deleting files stored there.

Trojan horse
An unauthorized program hidden inside a legitimate program, usually doing some harm to the computer system while the host program appears to be performing normally.

Unix
An operating system designed for portability and flexibility among a variety of computers, from microcomputers to supercomputers.

user interface
The way a user communicates with the computer.

virus checker
Computer software that monitors the system, looking for computer viruses and correcting or deleting them if they show up.

workstation
A category of desktop computers targeted for high-performance specialized applications such as computer-aided design and publishing, modeling, and visualization. Bigger, faster, and until recently more expensive than a typical personal computer.

Windows 95 (Win 95)
A true operating system introduced in 1995 into the Microsoft family of Windows software for personal computers. It includes numerous improvements over DOS- based Windows 3.1.

Windows NT
The upgrading of Microsoft's Windows environment into a full operating system that can be used by all kinds of computers and communications devices.


[Chapter Contents] [Home] [Glossary]