Dictionary of Computer Science



1.5 (2)
Numero di pagine:22
Formato di file:.doc (Microsoft Word)
Download   Anteprima
dictionary-of-computer-science_1.zip (Dimensione: 18.7 Kb)
trucheck.it_dictionary-of-computer-science.doc     71 Kb
readme.txt     59 Bytes


Dictionary of Computer Science
abstract = virtual; many hardware and software components can be viewed as providing virtual environments for use by other components (eg abstract machines or abstract data types).
accumulator: a register in a processor which is used to hold a `running total' during arithmetic instruction sequences.
acknowledgement: a message sent back in reply to a data message to say that the data arrived intact.
address: a number which specifies the position of a particular memory location (the memory bytes are usually numbered 0, 1, 2, ...); an identifier which specifies where a particular computer can be found on a network.
algorithm: an informal but precise description of a computational method for solving a problem.
ambient lighting: effects caused by a general background level of brightness.
analogue = analog; continuously varying rather than digital; an A-D (Analogue-to-Digital) converter is a sampling device, and a D-A (Digital-to-Analogue) converter is a playout device.
animation: graphics involving moving pictures.
ATM = Asynchronous Transfer Mode; a type of switching network capable of carrying both time-critical data such as speech and bulk computer data on the same network.
attenuation: reduction in signal strength with distance in a network.
architecture: the overall design, particularly of a processor.
argument: a value passed to a procedure when it is called.
ASCII = American Standard Code for Information Exchange; an old but widely used character set for representing plain text using code numbers from 0 to 127, now superseded by international character sets such as the ISO LATIN 1 or "Western" character set which extends ASCII using codes 128 to 255.
assembler: a translator from assembly language to machine language.
assembly language: a textually readable form of machine language, with names for memory locations etc instead of numbers.
assignment: a statement in a program instructing the computer to change the contents of a named memory location to the value of a given expression.
asynchronous: working independently, as with communicating processes in which the timings of sending and receiving are decoupled; see synchronous.
AI = Artificial Intelligence.
authentication: proving someone's identity, eg with passwords or public key cryptography.
baud rate: a measure of trasmission speed, particularly of modems; it refers to the clock rate which is not necessarily the same as the bit rate.
bezier: a type of graphic curves or surfaces similar to splines.
big endian: written or stored with the most significant component first (eg 1997, /home/staff/ian).
big O notation: the mathematical order of magnitude notation, eg O(n^2) used to measure the complexity of algorithms.
binary: a way of representing numbers, and any other kind of information, using only 0s and 1s; binary chop is an algorithm for finding an item in a sorted array by repeated halving.
bit = binary digit; a single 0 or 1; the atomic unit of information storage; a bit rate is a measure of speed of data transmission.
BNF = Backus Naur Form; a precise language for presenting a grammar; most grammars are written in variants of BNF.
bomb: a deliberate or accidental software disaster; see millenium bomb for example.
bootstrapping: starting up a computer when the power is switched on; creating a compiler from scratch; creating any tool when it appears that you need that same kind of tool to build it with.
branch: a place in a program where one or other of two paths can be taken, according to some test.
bridge: a device which stores and forwards frames from one LAN to another, making two or more LANs act like a single LAN.
byte: the usual unit of memory consisting of 8 bits; just enough to store a single character.
C: a popular programming language forming a compromise between the control of assembly language and the convenience of higher level languages.
CAD = Computer Aided Design.
call: use a procedure, passing particular arguments to it to work on; call-by-value is where copies of values are passed as arguments, call-by-name is where references to variables are passed, call-by-need is where unevaluated expressions are passed.
cell: a message sent over a switching network (eg ATM); a unit of memory in languages (eg LISP) or applications with fixed-size allocation units.
character: an indivisible unit of text such as a letter, digit, punctuation mark or symbol, usually stored in one byte as a number from 0 to 255 which represents its position within a particular character set.
checksum: a word added to a message to help detect corruption of the message during transit; formed from the sum of the words of the message, with wraparound, and computed in software, unlike CRCs.
chip: an integrated circuit on a sliver of silicon, eg a processor chip or a memory chip.
Church's thesis = Church-Turing thesis; the idea that all general purpose computers and programming languages are equivalent, in the sense that they are all universal, ie capable of solving any algorithmic problem.
clock: a device which ticks regularly; a processor clock ticks quickly to execute instructions; a real-time clock ticks with long-term accuracy to provide date, time of day, and timer services to programs.
compression: storing files in less space by taking advantage of their redundancy; the simplest example is run-length compression.
computer: this is what it's all about; a universal machine.
computer vision: extracting information about the world from images.
concurrency: doing several things at once; includes time slicing of processes as well as parallelism.
conditional: a statement or instruction in a program which specifies different actions to be taken according to some test.
congestion: an effect on networks when routers are unable to cope with the amount of traffic and start discarding packets, which then have to be retried.
convolution: an image processing technique in which each pixel is altered by some function of the surrounding pixels; different functions produce a variety of effects.
CRC = Cyclic Redundancy Check; some bits added to a message to help detect corruption of the message during transit; formed using exclusive OR arithmetic by special hardware, with better error detection properties than checksums.
CRT = Cathode Ray Tube; a large valve with a flat front face used as a computer screen; still the commonest type of computer screen, but now being overtaken by the LCD.
cryptography: encoding information for secrecy or authentication.
compiler: a program which translates a high level language into an assembly language or machine language form, ready for linking and loading.
code: the text of a program (an unfortunate word, because it implies that program text is obscure and unreadable).
complement: the opposite of a binary value, where all the 0s are changed to 1s and vice versa.
complexity: the order or magnitude of time taken by an algorithm as a function of problem size.
CSG = Constructive Solid Geometry; a way of representing objects by volumes rather than surfaces, starting with simple volumes such as cubes and cylinders and using union, intersection and difference operations.
CPU = Central Processing Unit = processor.
data: information in a computer-digestible form; a database is a permanently stored collection of data, usually in the form of tables of records handled using a general purpose database package.
declaration: a program statement which introduces a new variable, giving its properties.
declarative: a style of programming language, eg Haskell, which is not based on assignment and sequencing as in the procedural style of C, but on static definitions and expressions.
depth-buffer = z-buffer; a way of working out what objects are visible in a scene using an array giving the current depth of each pixel.
determinism: describes predictable and repeatable situations where a program's behaviour is completely determined by its data and environment (see nondeterminism).
device: a piece of hardware connected to a computer; a device driver is a procedure library and/or an interrupt handler process which communicates directly with a device.
diffuse lighting: effects caused by a general level of random reflection from a particular surface.
digital cash or digital cheques: money represented as information, usually encoded and authenticated with public key cryptography.
disc = disk; a flat plate coated in iron oxide (rust!) used to store information permanently; hard disks hold more and are built-in; floppy disks allow transfer from one computer to another.
distortion: change in shape of a signal with distance in a network, mostly caused by different attenuation of different component frequencies.
distribution: spreading a program over several computers connected by a network.
double precision: a format for floating point numbers using two words (8 bytes) with greater range and accuracy than single precision.
DOS = Disk Operating System; often refers to MSDOS = Microsoft DOS for PCs which preceded Windows.
DMA = Direct Memory Access; a method where devices which involve bulk data can carry out transfers while the processor is doing something else, to save processor time.
email = electronic mail; local on a shared computer, or global via the Internet.
embedded computer: a computer which is part of some product such as a car or plane, and is connected to sensors and actuators rather than to the usual keyboard, screen etc. Although such a computer runs only a single program, it is often better to use a cheap mass-produced general purpose processor than to develop a special-purpose chip.
ethernet: the most popular type of local area network (see LAN).
exception: the result of an illegal or unusual instruction, eg division by zero or accessing non-existent memory or carrying out a kernel call, which results in an interrupt-like transfer of control to the operating system.
exclusive or: see XOR.
expression: a program fragment which is like a mathematical formula specifying how to compute a value from its components.
evaluation: the process of finding the value of an expression using a sequence of individual operations.
file: a named collection of data stored permanently, eg on disk.
file manager: the part of an operating system which provides file storage services to programs and users (see window manager, program manager).
finite state machine: a machine with a fixed number of states and no memory, eg the processor in a Turing Machine; used as a theoretical basis for creating efficient algorithms for, eg, communication protocols, lexical analysis and pattern matching.
float = floating point number; an approximation to a real number, stored in a binary version of `scientific notation' (eg 1.2 * 10^3) usually using a single or double precision format.
Fortran: short for Formula Translation, the first high level procedural programming language (1950s), ancient ancestor of C.
frame: a message sent on a broadcast (LAN) network.
FTP = File Transfer Protocol, or file transfer program; the program and protocol which allows files to be transferred across the Internet; now also incorporated into WWW browsers such as netscape.
function: a pure operation in the mathematical sense (as in Haskell); any procedure (as in C); the general overall behaviour of a system.
garbage: data which is no longer in use, but which is taking up memory or storage space; garbage collection is the automatic detection and retrieval of that space for reuse.
GIF = Graphics Interface Format; a simple standard for storing images, particular on the WWW, without very good quality or compression.
Godel: a mathematician who showed that mathematics is incomplete; there are statements which can never be proved (including the statement that mathematics is self-consistent).
grammar: a specification of the syntax of a computer language itself written in a precise language such as BNF.
graphics: the hardware, data, conventions, programs and algorithms which allow computers to generate and/or display pictures.
handler = interrupt handler.
hardware: the physical parts of a computer system; processor, memory, devices, peripherals, networking.
hashing: randomising values to produce numbers spread evenly over some range; used in software on keys for fast lookup, and in hardware on addresses to reduce collisions in interconnects.
Haskell: the most popular functional programming language.
HCI Human Computer Interface; the study of how humans interact with computer and programs (used to be called Man Machine Interface).
hex = hexadecimal; base 16 numbering, with digits 0123456789ABCDEF, used as an abbreviated form of binary (4 bits to 1 hex digit).
HTML = HyperText Markup Language; the language in which WWW pages are written.
HTTP = HyperText Transfer Protocol; the conventions by which WWW pages are moved across the Internet.
hub: a router which connects several local LANs together to make them look like a larger LAN.
huffman: a general purpose compression method where shorter codes are used for more common items in the original data.
hypertext: a format for presenting information as text with pictures and cross-references included in it; the most popular example of hypertext is HTML, used on the WWW.
IBM = International Business Machines; the company which designed the original IBM PC from which innumerable compatibles have developed.
image processing: the transformation of images in various ways to improve quality or reduce storage or as part of computer vision.
image space: the coordinate system of the image produced from an internal representation of a scene in object space (2D + depth into the screen).
instruction: a single indivisible step in a machine language program.
integrated circuit: a circuit manufactured all in one piece on a chip, rather than being built up by joining smaller components together.
interconnect: a small-scale network used to connect processors and memory banks within a single parallel computer.
Internet: the global network of computers; produced from a motley collection of local and national networks by adding standard conventions and programs; provides email, ftp, WWW and other services; the Internet is the most important example of an internet (lower case i) which connects networks together.
interpreter: a program written in one language which executes a program written in another language, by obeying it more or less directly rather than by compiling it.
interrupt: a signal sent from a hardware device to a processor to indicate that it is ready to communicate; the processor suspends the currently executing process and uses an interrupt vector (table of addresses) to find an interrupt handler (an uninterruptible process) which communicates with the device.
instruction pointer: the register in a processor which holds the address of the instruction currently being executed.
IO = I/O = Input and Output.
IP = Internet Protocol; the low level Internet protocol which deals with sending packets, and which is used by TCP.
ISO = International Standards Organisation.
iteration: carrying out some operation repeatedly, eg using a loop.
JPEG = Joint Photographic Expert Group standard; a particular compression method for storing single images.
jump: a transfer of control from one part of a program to another.
Kb = kilobit; 1000 bits (eg when measuring network speed).
KB = kilobyte; 1024 bytes (eg when measuring amounts of memory).
kernel: the inner core, particularly of an operating system; a kernel call is a procedure call from a program to the OS kernel process, carried out in a similar way to an interrupt.
key: a unique part of a value used to look it up; one push-button on a keyboard.
keyboard: a device for typing text into a computer.
label: a name for a position within an assembly language program.
lambda calculus: an early mathematical theory of computation forming the basis of functional programming languages.
LAN = Local Area Network; a network in one building where a single wire or fibre is shared by all the computers connected to it.
latency: the total amount of time for an operation, regardless of the reason.
LCD = Liquid Crystal Display; flat type of computer screen used in portable computers, and which is taking over from CRT screens on other computers.
lexing: analysing the symbol structure of a program; a lexer is a lexical analysis program.
library: a collection of generally useful pre-compiled procedures, stored in a file, and arranged so that a linker can extract the ones needed by any particular program.
linker = link editor; a program which takes compiled program fragments and combines them into a complete program, ready for loading.
Lisp: short for List Processing, the first high level declarative programming language (1950s), ancient ancestor of Haskell.
little endian: written or stored with the least significant component first (eg cs.bris.ac.uk, 1-Jan-1997).
loading: copying a program from a file into main memory, ready for running; also used generally to mean transfering data from permanent to temporary locations (eg memory to registers); the opposite of storing.
logic: (1) a branch of mathematics (2) circuitry which manipulates binary information using logic gates (3) a style of programming based on logic, as in eg the Prolog language.
login; the act of logging in, ie telling a shared computer who you are when you start to use it.
logout; the act of logging out, ie telling a shared computer you have finished using it.
loop: a program statement which specifies an action to be taken repeatedly, usually until some test succeeds or fails.
lossless: any form of compression where the result of decompression is identical to the original (opposite to lossy).
lossy: forms of compression used for audio or visual data in which some quality may be lost in the translation (opposite to lossless).
LSI = Large Scale Integration; a development of integrated circuits allowing large circuits to be placed on a single chip.
Mb = megabit; a million bits (eg when measuring network speed).
MB = megabyte; 1024 KB (eg when measuring amounts of memory).
Mac = Macintosh; a computer made by Apple, noted for ease of use and artistic applications such as graphic design.
machine = computer or processor, sometimes emphasising the hardware or `mechanical' aspects; machine language = the language of instructions which a processor executes directly.
memory = RAM; space for storing programs and their data temporarily while they are executing.
memory mapping: a method for attaching a device to a computer without using special I/O instructions; instead the device responds to memory read/write requests from the processor just as if it consisted of a few words of memory at some specific fixed locations, and the processor communicates with the device by writing to and reading from those locations.
memory management: automatic handling of the dynamic memory requirements of programs, including the reclaiming of unreferenced memory through garbage collection.
memory protection: a method of preventing a program from accessing memory belonging to other programs, usually implemented in hardware.
mesh = polygon mesh; a way of representing a surface as a collection of joined polygons.
message: a frame or packet or cell or any other single piece of information communicated from one computer or program to another.
millenium bomb: the potential software disaster at the beginning of the year 2000, when programs which use short dates such as 1-Jan-97 instead of 1-Jan-1997 will stop working or do unpredictable things.
modem = modulator and demodulator; a device for transmitting computer information over telephone lines etc.
module: a reasonably self-contained portion of a program with a well-defined interface which can be compiled separately; similarly it can be a self-contained portion of a hardware system.
monochrome: black-and-white, or having one background and one foreground colour.
motion flow: a technique used in computer vision where changes in position from one frame to the next of a movie help to place objects in the scene.
mouse: a device for pointing at things on a computer screen.
MPEG: like JPEG, but for movies.
multimedia: graphics, video and sound, and the real-time software, hardware and networking needed to support them on computers.
multiplex: to carry several streams of communication along a single channel.
multi-programming = multi-tasking; describes an operating system which runs several programs apparently at the same time by time slicing; multi-processing is similar, but usually refers to computers which use several processors to achieve more efficient multi-programming.
network: a way of connecting computers together, over a local area or over a wide area or global (the Internet).
newline: a break between one line and the next in a piece of text; represented as a CR (carriage return character) when typing on a keyboard and in Mac files, as a LF (line feed character) in programs and Unix files, or as two CR and LF characters when sending output to a screen and in PC files.
noise: unwanted interference in signals on networks; often coming in bursts caused by, eg, switching nearby equipment on or off.
NFS = Network File System; a way of accessing files over a network as if they were local (instead of using FTP); the network protocol which supports this.
nondeterminism: describes unpredictable situations where a program's behaviour is partly determined by accidental timings (eg which message arrives first, or which process accesses a memory location first).
object file: a file produced by compiling a program or module, containing compressed assembly language ready for linking and loading.
object space: the 3D coordinate system of an internal representation of objects in a scene, transformed to image space to produce an picture.
operand: one of the pieces of data to be acted on by a particular instruction or operator.
optical fibre: a thin strand of glass used in networks for transmitting information optically with very low error rates, and therefore very high data rates.
OS = operating system: a collection of cooperating programs which control a computer's hardware, provide an environment for programs to run in, and allow the user to manage the computer's resources.
package: a large general purpose application program or collection of cooperating programs.
packet: a message sent over a (wide area) routing network.
paging: a virtual memory technique used in an operating system to allow programs to use more memory than is actually available by storing currently unused memory blocks (pages) of the program on disk (see swapping).
paper tape: an early method of storing information on rolls of paper about 3 cm wide with rows of 8 holes, each representing one byte; the origin of the ASCII character set.
parallel: a parallel computer is one which has many processors and so can run many programs or processes at once; a parallel program is one which is organised as a collection of cooperating processes so that it can take advantage of a parallel computer.
parameter: a variable such as an argument variable of a procedure which allows a piece of software to be reused in a variety of circumstances.
parity: whether a number is odd or even; a parity bit is added to a byte or word to make the number of 1 bits even as a crude but cheap form of error detection.
parsing: analysing the syntax of a program; a parser is a parsing program; a parse tree is a data structure representing an analysed program.
PC = Personal Computer; technically means any one-owner computer, but often used to mean only the IBM compatible kind; also IBM PC often means any IBM compatible PC rather than just the original IBM version.
peripheral: something attached to a computer but not essential to it, and which is partly under the computer's control, eg a printer.
pipeline: a technique used to make processor design more efficient; instructions are carried out in stages, with each stage using separate circuits, so that several consecutive instructions of a program can be executed at once, each being at a different stage.
pixel: a single dot on a screen; a single spot of colour in a two-dimensional array representing a picture.
pointer: a variable holding an address.
procedure: a self-contained portion of a program which can be reused by being called repeatedly from different places in a program, or from different programs.
process: a single sequential thread of execution; a program or one piece of a parallel program, as seen from an operating system point of view.
processor: the part of the computer which obeys program instructions, usually on one chip.
program: instructions telling a computer how to carry out a particular task.
program manager: the part of an operating system which provides services to do with running programs to users and other programs (see window manager, file manager).
program counter = instruction pointer.
programming language: a precise artificial language for writing programs which can be automatically translated into machine language.
propagation: the movement of a message from one point to another along a network (see transmission); propagation speed is the speed at which the signals travel, usually about 2/3 of the speed of light.
protocol: a set of conventions allowing two programs to communicate, eg via a network.
public key: a kind of cryptography in which everyone has a private and public key, allowing people to communicate without prior contact, authenticate messages with digital signatures, and implement digital money.
punched cards: an early method of storing information on cards, each about post-card size, by punching holes in them.
quadric: a type of surface described by a second order polynomial equation.
RAM = Random Access Memory; the memory in a computer where running programs are stored with their data; this memory forgets everything when the power is switched off. Also RAM = Random Access Machine; the general design of computers with addressible memory locations.
recursion: a technique where a procedure can call itself to solve a simpler but similar subproblem.
region growing: a segmentation technique in which seed pixels are expanded into regions by extending their boundaries according to some coherence criteria.
register: a one-word memory location in a processor, for holding data temporarily during processing; data items are loaded into registers from main memory, then processed, then the results are stored back into main memory.
relocation: changing relative addresses to absolute addresses during the loading of a program into memory, once the actual location of the program is known (not usually needed for Transputer programs).
rendering: the process of producing images from internal representations of objects or scenes, including subtle effects such as lighting.
repeater: a signal booster on a (local area) network which allows it to be longer.
resolution: the quality of a screen or picture, measured in terms of the number of pixels.
resume: to restart a suspended process by loading the previous contents of the registers from memory.
ROM = Read Only Memory; memory which is like RAM, but where the contents are unchangeable, even when the power is switched off; used to hold bootstrap instructions and other permanent machine-dependent code needed by the operating system.
router: a (wide area) network device which routes messages by reading them in and then forwarding them.
run-length: a simple form of compression where repeated identical bytes or pixels are replaced by a count.
RSA: the Rivest, Shamir and Adleman algorithm for public key cryptography.
scheduler: a process which manages other processes, switching between them in response to timer interrupts.
segmentation: a technique computer in computer vision in which an image is divided into regions.
sequential: a sequential computer executes one instruction at a time; a sequential program is designed to be executed on a sequential computer.
semantics: the rules of a programming language which govern the meaning and behaviour of programs, excluding syntax.
server: a computer or program which provides a service to other computers or programs, by listening for and responding to requests.
set-top box = set-top computer; a computer which is connected to a TV set and provides services such as video on demand.
shell: an operating system component which provides a textual user interface to a computer by obeying commands which are typed in.
shift register: a register in which all the bits can be rapidly moved along by one place; used in circuits which process streams of bits, eg CRC error checking.
single precision: a format for floating point numbers using one word (4 bytes); see double precision.
sliding window: a technique which improves efficiency in network connections by allowing the sender to send many packets in advance before requiring an acknowledgement of receipt.
software: parts of a computer system which are programmed rather than physical; operating systems, device drivers, programs.
specular lighting: effects caused by a general level of direct reflection from a particular surface.
splines = b-splines; graphic curves or surfaces produced using simple polynomial equations to interpolate a given set of points.
spreadsheet: a program which allows the user to store numbers and formulas in a grid, and do calculations on them.
stack: a list which is accessible only at one end using push and pop operations which add and remove items; used in a wide variety of situations, eg to remember where a procedure was called from in order to return there later.
statement: a program fragment which instructs a computer to do something, or tells it about something.
storage: space for keeping programs and data permanently, in files.
storing: transfering data from temporary locations to more permanent locations (registers to memory or memory to storage).
string: a list of characters forming a piece of text.
subroutine = procedure.
supercomputer: a large, expensive and fast computer, usually arranged so that it can perform the same operation on all the items in a vector at once; useful for intensive number-crunching programs such as weather forecasting or high-quality graphics, but not usually effective for general parallel programs.
suspend: to stop a program temporarily with the intention of resuming it later, eg during the processing of an interrupt, by storing the current register contents in memory.
swapping: a technique used in an operating system to save memory space by moving currently inactive programs to disk (see paging).
switch: a change from running one process to running another in an operating system; a device in a network or interconnect or telephone exchange which passes on messages by creating suitable signal paths, in contrast to a router which stores and forwards messages.
synchronous: working in step, as with communicating processes where the timings of sending and receiving are tightly coupled; see asynchronous.
syntax: the rules of a programming language governing the way programs are written, independently of their meaning, ie excluding semantics; syntax analysis = parsing; syntax tree = parse tree.
system call: = kernel call.
systems programming: the programming of complete systems rather than just isolated programs, requiring knowledge of operating systems, devices, communications and efficient programming.
TCP = Transfer Control Protocol; the main Internet protocol which supports long-term connections between computers using IP.
tele-conference: a way of allowing several people to communicate remotely via a network, each able to see real-time video pictures of the others.
telnet: the program and protocol which allows you to login to a remote computer over a network via a text-based terminal (or terminal emulator program).
terminal: a screen and keyboard providing access to a remote shared computer; a PC with a modem or network connection running a terminal emulator program (eg telnet).
texture: small scale surface features forming an overall impression; texture mapping is used in graphics to add texture to surfaces.
timeout: a technique used in communications where contingency measures are taken if an expected event doesn't happen within a given time.
thrashing: an effect seen when a computer runs out of memory; programs spend most of their time moving virtual memory pages to and from disk instead of getting work done.
thresholding: dividing values into those below and those above some particular level; used in image processing to increase contrast.
throughput: the total rate of work done by a computer or network.
time slicing: a technique used by an operating system to run several programs, apparently simultaneously, by giving a small amount of time to each in turn, using timer interrupts and a scheduler.
token: an item such as a word or name or symbol forming the smallest piece of program text or data with a separate meaning; a marker held by one of a number of programs or computers to indicate whose turn it is.
token ring: a type of LAN, more expensive than an ethernet but more reliable.
transistor: an electronic switch, originally in its own container with three wires coming out, now integrated in large numbers into miniature circuits on chips.
transmission: sending a message out onto a network (see propagation); transmission speed is the number of bits sent per second.
transparency: lighting effects caused by (diffuse and specular) light refracted through surfaces.
Transputer: a kind of computer designed by Inmos for embedded and parallel situations with processor, memory, communications and process management on a single chip.
tree: a structure in which data is stored in a hierarchical way.
tunneling: a technique where a complete packet belonging to one protocol is transmitted as the data part of another packet belonging to a possibly different protocol.
Turing: a mathematician regarded as the inventor of the computer, and perhaps as the first computer scientist, responsible for a wide range of ideas and designs which are still relevant today; the Turing Machine was the first abstract (but potentially practical) computer design; the Turing Test is a test to see if a computer has become intelligent by engaging it in conversation.
Unix: the family of operating systems used on workstations.
universal: a programming language is universal if it is capable of expressing any algorithm.
vacuum tube = valve.
valve: a glass-encased electronic component used before transistors were invented.
variable: a name for a memory location holding a value which can be changed during program execution.
virtual: not real, illusory; virtual reality = computer-generated interactive worlds; virtual memory = memory which appears to a program to be larger than the actual memory, and which the operating system moves to and from disk as needed.
virus: a program fragment infecting a program, often on a PC; when executed, it attaches copies of itself to other programs, as well as performing other benign or malignant actions.
VLSI = Very Large Scale Integration; a development of LSI allowing even larger circuits to be placed on a single chip.
Von Neumann: a mathematical engineer often regarded as the inventor of the electronic (ie practical) computer; his design, called the Von Neumann architecture, is the one used today.
VR = Virtual Reality (see virtual).
WAN = Wide Area Network; a long-distance network in which messages are routed between LANs.
windows: rectangular areas of the screen; the associated graphical output, mouse/keyboard input, and software conventions used in operating systems and programs for interacting with users.
window manager: the part of an operating system which provides window services to programs and users; versions are Mac Windows, Windows 95 for PCs, and the X Window System for workstations (see file manager, program manager).
word: a secondary unit of memory, usually 32 bits but sometimes 16 or 64 depending on the computer; the amount of memory for storing a number or a pointer, usually also the size of registers and the amount of memory transferred from processor to memory or vice versa in one go.
worm: a virus-like program which duplicates and propagates itself on a network.
wormhole routing: a technique used in interconnects and switches (eg ATM) in which a message is forwarded immediately on receipt of its header, before the rest of the message has arrived.
workstation: a computer attached to a local area network, providing fast transparent access to shared resources such as filestores; it can be a PC with a direct network connection and suitable software, or it can be a graphics terminal attached to a shared computer via the network.
WWW = World Wide Web; the conventions and programs used to publish information on the Internet in a hypertext form accessible via browser programs such as netscape.
XOR = exclusive or; the boolean operation "x or y but not both" and arithmetic based on it which is easy to implement in hardware.