======   Vocabulary   ======    

Vocabulary   [Vocabulary  a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x ]

No list of computer science terms can be exhaustive. This glossary includes terms relevant to the IB Diploma Programme computer science course and these are not necessarily applicable universally. Texts do not always agree about the definitions of some terms, but ambiguity should be reduced in cases where more than one word is used for the same concept by using the definition given in the glossary.

Terms that are relevant for the higher level (HL) course only are indicated by the symbol in the second column.

EXAMPLES in bold added by Dave Mulkey.

 

abstract data structure 

 

HL icon

A way of organizing data and its related procedures and functions.
Also called Abstract Data Type (ADT)
     Queue, Stack, Linked-List, Tree

accessor methods

HL icon

Methods that do not alter the state or attributes of an object; their purpose is to return information.
     getText() ,  getSize() ,  etc.

accumulator

HL icon

A storage register in the ALU that holds data temporarily while the data is processed and before it is transferred to memory.
    Old Intel 8086 chips had AX , BX , CX , DX as 16-bit registers
    Add  AX, BX  -->  like   AX = AX + BX   in Java

A–D converter

 

Analog–digital converter. A device for converting analog signals into digital ones for subsequent computer processing; sometimes called a “digitizer”. A digital to analog (D to A) converter operates in the reverse direction.
    Sound Card ,  scanner , digital camera , thermal sensor

ADSL (Asymmetrical Digital Subscriber Line)

HL icon

Technology that increases the data rate over existing telephone lines accommodating voice and digital data transfer. A special modem is needed for access.
     "Broadband" : 1 - 16 MegaBits per second bandwidth

address bus

 

Pathway from memory to processing unit that carries the address in memory to and from which data is transferred. See the definitions for “bus” and “data bus”.
    32-bit address bus can address 2^32 = 4 GigaBytes of memory

algorithm

 

An ordered set of well-defined instructions for the solution of a problem in a finite number of steps.
    Bubble-sort , Binary Search , Merge Sorted Lists

ALU

 

See the definition for “arithmetic and logic unit”.
    speed measured in Flops (Floating Point Operations per Second)  

analog data 

 

The representation and measurement of the performance or behaviour of a system by continuously variable physical entities such as currents, voltages and so on. See alsodefinition for “digital data”.
    sound waves , temperature , light waves (colors)

and

 

The output of “and” is True if all statements are True, False if any statement is False.
   In Java &&  ,   0 and 0 = 0   ,   0 and 1 = 1   ,  1 and 1 = 1  

applet (Java)

 

A program that runs in the context of a browser.
    simple web-games ,  web-page menu system , price-calculator

application (Java)

 

A program that runs when translated by a Java compiler.
    Open Office , open-source projects , IB dossiers       

archive 

 

Data that represents a record of data held and processed at a specific time, which is held off-line for future research or for legal reasons.
    usually compressed, e.g. .zip or .tar , containing multiple files

argument

 HL icon

A value or object passed to a method when it is called.
    usually a number in a function, e.g.  sin(60) -->  60 is the argument  

arithmetic and logic unit (ALU)

 

A part of the computer that performs arithmetic operations, logic operations and related operations.
   ALU contains Registers and circuits for arithmetic and logic
   ALU does NOT contain circuits for sending addresses and data and from RAM.

array

 

  1. An arrangement of data in one or more dimensions.
  2. In programming languages, an aggregate that consists of data objects, with identical attributes, each of which may be uniquely referenced by indexing.

    String[]  days = { "Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
    String[][]  ticTacToe = new String[3][3];

ASCII: American Standard Code for Information Interchange

 

The primary encoding character set used in computers for textual data transfer between applications. The set uses eight bits for each character code, one of these bits being a check bit to verify the seven bits needed to represent one character. ASCII supports most European alphabets. Unicode supports most known alphabets and is increasingly used in data transfer. See also “Unicode”.
    asc('A') --> 65  ,  asc('9') --> 57 , 0..127 = standard ASCII, 128..255 = extended ASCII

attribute

 HL icon

Element of data contained in an object; as specified within the object’s class.
    window.width() , font.size()      

 

B

 

 

Byte.
    1 Byte = 8 bits, values from 0 to 255  

back-up (file)

 

A second copy of a file, to be used in the event of the original file being corrupted.
    An automatic .BAK copy of a document made by MSWord
    A copy of all student's grades stored on a backup tape
    An "image" of an entire hard-disk, stored on a CD-R   
 

balanced tree  

 HL icon

A tree in which the right and left subtrees of any node have heights differing by one at the most. See also the definition for “unbalanced tree”.
    With 7, 15, 31 .. 2^n  - 1   elements, the tree can be PERFECTLY balanced.
    Otherwise, there may be a few branches which are 1 element longer.
    So this tree is balanced, but not perfectly symmetrical:

                           +-->   Stevens           
        +-->   Moore
         |                 +-->  Lewis
         |                                +--> King
         |
   Kelly
         |                                + --> Irving
         |                 +-->  HAL
         |                  |             +-->  Dave
         +-->  Babbage
                           +-->  Adams     
 

bar code

 

A pattern of vertical lines distinguished from each other by width. It can be read by a bar code reader to provide data to a computer.
    On cans in the grocery store, books in the library 

bar code reader

 

An optical reader that can read bar codes.
    At cashier in the grocery store 

base

 

The basis of a notation or number system, defining a number representational system by positional representation. In a decimal system the base is 10, in a hexadecimal system the base is 16, and in a binary system the base is 2.
    Binary = BASE 2, Hexadecimal = BASE 16, Decimal = BASE 10

batch processing

 

A method of processing data in which transactions are collected and prepared for input to the computer for processing as a single unit, for example, payroll.
    Recording all the SALES in a store for one day into a MASTER file
    Converting lots
of graphics files to the same format,
         without loading and saving them one at a time.
 

behaviour

 HL icon

The way in which an object reacts to the methods applied.
    Usually determined by the METHODS in the object.

BigO notation

 HL icon

A notation used to describe the relative performance (speed) of an algorithm.
    Bubble Sort is O(N^2), Binary Search is O(ln N) , Merge is O(n)

binary operator

 HL icon

An operator that combines two operands to give a single result, for example, addition, multiplication, division, mod, div. See also the definition for “unary operator”.
     Subtraction : 8 - 2  ,  Concatentation :  firstName + lastName
     NOT  sqrt(100) -->
sqrt is a UNARY operator, has 1 operand 

binary search

 

A search in which, at each step of the search, the set of data elements is divided by two, until the searched element is found. See also the definition for “sequential search”.
    Search for "CAR" in {"BIKE", "CAR", "JEEP","TRUCK","WAGON"}
    Search("CAR",0,4)
      -->  Mid = (0+4)
/ 2 = 3
      -->  JEEP ?
                  --> CAR is smaller
    Search("CAR",0,1)
      -->  Mid = (0+1) div 2 = 0
      --> BIKE ?
                   -->  CAR is bigger
    Search("CAR",1,1)
      -->  Mid = (1+1) div2 = 1
      -->  CAR ?
\                 -->  Yes, found
     

binary   tree

 HL icon

A tree in which each node has at most two children.
     Example --> see Balanced Tree

bit (b)

 

Binary digit. The smallest unit of information for data storage and transmission. Each bit is considered to be either a “0” or a “1”.
    Could be a TRANSISTOR, a LIGHT (LED), a PIXEL (black or white)  

block

 

Smallest unit of data that can be transferred between memory and backing store in one operation.
    also Cluster for a disk drive, typically  4 KiloBytes or 16 KiloBytes

BMP

 

An extension given to files in bitmap form.
    it's NOT a Web format, it's NOT compressed , uses RGB with 3 bytes per pixel  

Boolean expression

 

An expression that has a value of True (T) or False (F).
    if  ( (Age >= 18) and (nation.equals("US") )

bps

 

Bits per second.
    56 K Modem --> 56000 bits per second ,  ADSL = 1 - 16 MegaBits per sec

browser

 

Generally used to give interactive access to information on the World Wide Web, retrieving web pages and displaying in a multi-media format.
    Internet Explorer , Firefox , Netscape , Opera

bubble sort

 

A sort in which the first two items to be sorted are examined and exchanged if necessary to place them in the specified order; the second item is then compared with the third (exchanging them if required), the third is compared with the fourth, and the process is repeated until all pairs have been examined and all items are in the proper sequence. See also the definitions for “insertion sort”, “selection sort” and “quicksort”.
    for (int pass = 0 ; pass < data.length ; pass = pass + 1 )
    {   for (int c = 0; c < data.length - 1; c = c + 1 )
         {  if ( data[c] > data[c+1] )
             int  temp = data[c];
             data[c] = data[c+1];
             data[c+1] = temp;
         }
    }
   This example is "inefficient" - an efficient algorithm would s   after
    a pass with no swaps.

buffer

 

A portion of storage used to hold input or output data temporarily.
    Printer receives an entire page, stores it, then prints it
    Web video - several second are "cached" before display starts
 
    CD burner buffers output before writing to avoid a buffere under-run

bus

 

The pathway used for sending signals between internal components of a computer. Components can share the same bus but cannot transmit simultaneously. See also definitions of “data bus” and “address bus”.
    
CPU transmits an address to RAM across the 32 bit ADDRESS bus,
    RAM transmits data back across the 64-bit DATA bus
 

bus   ology 

 

A network in which all devices are connected to a common cable, known as the “bus”. See also definitions of “star   ology” and “tree   ology”.
    Commonly uses coaxial cable and Ethernet protocol
    Sensible for a small office with only a few work-stations

Byte (B)

 

A set of bits considered as a unit; it normally consists of 8 bits and corresponds to a single character of information.
    1 Byte = 8 bits, values from 0 to 255  

 

cable

 

 

Wire or glass fibre used to connect computers over a network. Copper (coaxial and twisted pair) and glass fibre (fibre optic cable) are the most common.
    Twisted pair for Star   ology, coaxial for a Bus   ology, fibre-optic for WANs

cache

 

Part of the main store that is between main memory and the processor. It holds a copy of data and instructions that are likely to be used next by the processor and is hence faster than main memory. See also the definition for “disk cache”.
    Level I = inside CPU ,  Level II = on motherboard between CPU and RAM

CASE

 

See the definition for  “computer-assisted software engineering”. 

character set

 

A finite set of different characters that is complete for a given purpose, for example, the 128 ASCII characters.
    ISO (Windows normal), System, Wing-Dings
    Extended characters (ASCII 128-255) are Foreign letters,
       may have different codes in different character set MAPPINGS

check digit

 

A digit added to numerical data that can be recalculated and hence used to check data integrity after input, transmission and so on.
    Credit card numbers, ISBN book number 

check sum

 

A sum generated using individual digits of a number and employed as an error-detecting device.
    Internet Packets contain a check sum, the sum of all bytes in the packet 

circular queue

 HL icon

A queue in which the storage area is fixed (e.g. array) and the first item is held in a location that is logically next to the storage location for the last item of the queue. Data items can be thought of as being arranged in a circle.
    Keyboard queue in a PC
    Like days of the week (repeat in a cycle), an array
     where you go back to the beginning once you reach the end
 

clash (collision)

 HL icon

A situation in which two or more entries in a file or other data structure are given the same memory location through the use of a hash table.
    In a HashTable, when two pieces of data belong in the same place (same hash key)
      Locker numbers might be computed from the student's name:
         Jones gets J = 10, o = 15 --> 10*26 + 15 = 235
      Then Johnson and Jones would get the same locker. 

class

 

Combination of data and operations that can be performed on that data; specification of the data members and methods of the object.
    in Java, every program is a Class.  When you make a NEW object,
     it is a copy of a Class.

client

 

Desk   computer or terminal used to access a computer-based system.
    A secretaries work-station in a LAN, a PC surfing the Web

client–server 

 

A network architecture in which a system is divided between server tasks performed on the instructions received from clients, requesting information.
    Client sends print-job to a print-server, Client stores data files on the server,
     Web client downloads pages from a Web server

collection

 

A class designed to hold objects (referred to in the syllabus as data structure).

command language

 HL icon

A set of procedural operators with a related syntax, used to indicate the functions to be performed by an operating system.
   In DOS, you can write a BATCH FILE to perform backups:
      COPY  *.DOC  A:\

   or to clean up all the useless files:
      DEL  *.tmp  /s

   The commands COPY and DELETE are part of the command language.
   This is NOT a general-purpose programming language - it does not provide variables,      procedures, or input/output functions.
 

compiler

 

A program that translates a source program into machine code that can be converted into an executable program (an object program). See also the definition for “interpreter”  .
    C++ , Visual Basic , Pascal - most High Level Languages
    Java uses a compiler to produce p-code, which must run in an interpretter,
      so the Java compiler does not produce "machine code"
    NOT Java-script, which runs directly in an interpretter

computer-assisted software engineering

 

The automation of well-defined methodologies that are used in the development and maintenance of products. These methodologies apply to nearly every process or activity of a product development cycle, for example: project planning, product designing, coding and testing.
    Visual designer like NetBeans, UML designer, debuggers, run-time effiency profiler

computer architecture

 

The logical structure and functional characteristics of a computer, including the interrelationships among its hardware and software components.
    Wintel, Mac, Linux, Pocket PC - includes the chips/motherboard and the OS 

computer program

 

A sequence of instructions suitable for processing by a computer.
    Java application, C++ program (video game), Microsoft Word, Internet Explorer
    NOT a document, web-page, or database
 

constructor method   

 

A method with the same name as the class that initializes the instance variables of an object of the class when the object is instantiated.

CRC cards 

 

Class, responsibility, collaboration cards. A design tool for classes that lists a class’s name, its responsibilities and the classes with which it collaborates on an index card.

cylinder

 HL icon

Concentric disk tracks of a hard disk (one on    of the other) form a cylinder.
   With 2 platters, a cylinder consists of 4 tracks, one on each side of each disk

 

database management system (DBMS) 

 

 

A computer-based system for defining, creating, manipulating, controlling, managing and using databases.
    MySQL ,  MS-Access , Oracle

data bus

 

The pathway between the memory or peripheral and processing unit that carries data for processing or data that has been processed. See also definitions for “bus” and “address bus”
    Usually the same as the Word-Size in the machine.  
    But a 32-bit bus can be used twice to transfer a 64-bit word.
    Bandwidth = bus width * bus speed, so a 500 MegaHerz bus with 64 bit width
      can transfer 500 million * 8 Bytes = 4 GigaBytes per sec

data compression

 

A method of reducing the size of data. All redundancy in the data is removed to reduce the storage needed or to speed up transfer. The data can be uncompressed back to its original state.
    WinZip is a compression utility, which implements the Zip algorithm
    .GIF uses LOSSLESS compression , JPEG is LOSSY (removes some details)
    Videos use delta compression, starting with a "keyframe", and after that
      transmitting only the DIFFERENCES (changes) between frames.

data integrity

 

The correctness of data after processing, storage or transmission.
    Use parity checks, checksums, CRC values

data member

 

A data type that is a member of a class.
    Variables, arrays, objects inside a class      

data packet

 

Part of a transmitted message that is sent separately. Apart from containing a portion of the message it will have other data such as check digits, destination address and so on.
    In the Internet, big data files or messages are chopped up into small packets.
    The packets travel through the Internet and are re-assembled at the receiving end,
      without needing to arrive in the same order.  Each packet includes a header with
      the IP address of the destination, IP address of the sender, and error checking code.

data protection

 

Method of ensuring that personal data is correct and is not misused either by those holding it or others who have no right to access it.
    Encryption, firewall, passwords, physical access protection (locked doors)

data security

 

Method of ensuring that data is correct, safe and cannot be read or changed by those who have no right to access it.
    Encryption, firewall, passwords

DBMS

 

See the definition for “database management system”.

debugging tool 

 

A program used to detect, trace and eliminate errors in computer programs or other software.
   Can pause a program in the middle and allow the programer to investigate
    the contents of important variables.

defragmentation software

 

An application that reads file segments from non-contiguous sections of a storage device and then writes the files to the same device in such a way that each file segment is contiguous.
    Defrag in Windows - there are also 3rd party tools  

De Morgan’s law

 HL icon

If A and B are Boolean expressions, then
      not (A and B) = (not A) or (not B)         not(A or B) = (not A) and (not B)

      It's not (Sat or Sun) = not Sat AND not Sun
      I'm not big and handsome = either I'm not big or I'm not handsome

dequeue

 HL icon

To remove an item from the front of a queue. See also the definition for “enqueue”.
     In the doctor's waiting room, when they call the next patient.
     In a network, when the server delivers the next print-job to the printer.

digital data

 

Discrete data.
     Ages = 10,11,12,13 ,  NOT  10½  or  11.997  years
     Volume levels set to 0,1,2,3,... 99 , using switches rather than a rotating knob.

digital signature

 

A digital code attached to an electronic message or document, which is unique and which can be used to authenticate the sender or owner. Most often used in electronic commerce.
    In the Internet, a large data file encrypted using a password and Public Key algorithm
    Could also use simpler password technology in a private network (e.g. E-banking)

direct access file

 

A file organized in such a way that a calculation provides the address (location) of a record so that the record can be accessed directly. The records in the file may be ordered or unordered.
    Usually large databases, such as a telephone directory for an entire country,
     or a database containing airline reservations.  Direct access makes fast access
     possible, which is especially important in large databases.

DMA

 HL icon

Access to memory and devices without the direct control of the processor. This is most often used for hard disk access and screen display.
   A disk-drive reads and writes directly to/from RAM, rather than sending the data
   through the CPU.  Graphics cards can also use DMA and bypass the CPU.  
   Some cheap systems actually use the main memory RAM to store the graphics data,
   so there is no graphics card in the system - this is cheap but slow and not good for games

disk cache 

 

RAM set aside to speed up access to a hard drive. This may be part of the disk itself or may be incorporated in cache memory.
    typically 8 or 16 MegaBytes

distributed processing

 

A network in which some or all of the processing, storage and control functions, in addition to input/output functions, are dispersed among its nodes.
     SETI has a screen saver that analyses sets of radio data
       on millions of PCs connected to the Internet.  The PC analyses the data,
       and sends it's results back to a central server.

double buffering 

 HL icon

Two areas of memory set aside for data transfer between the processor and peripherals. As one is emptied the other is filled up in order to speed up transfer.
    Many video games use double buffering, drawing an entire picture
     and then quickly swapping the finished picture to the visible screen.
     Then it draws in the second buffer before swapping it to the screen.

doubly linked list

 HL icon

A linked list in which each node has both a head pointer and a tail pointer.
    A line of kids holding hands - each kid is connect to both the kid before
     and the kid after.  If used to track disk-drive sector allocation,
     it is possible to reconstruct the list even if one link gets broken.

dynamic data structure 

 HL icon

Data structures that can change in size during program execution. See also the definition for “static data structures”.
     Linked-list, tree, history list in a browser

encapsulation

 

 HL icon

The combination of data and the operations that act on the data to form a single program unit called an “object”.
    Java classes contain both variables and methods in a single package,
    and can protect the variables from incorrect changes by declaring them Private

encryption

 

In computer security, the process of transforming data into an unintelligible form in such a way that the original data cannot be easily obtained except by using a decryption process.
    PGP (pretty good privacy) is an encryption utility.
    It is a Public Key system, meaning the decryption key can be given out publicly,
    but the separate encryption key is a secret.  Then a properly encrypted message
    can only be sent by the owner of the private key - so the receiver can be certain of
    the identity of the sender.  This provides a "digital signature".
 

enqueue

 HL icon

To add an item to the rear of a queue. See also the definition for “dequeue”.
    When another patient enters the waiting room in a doctor's office,
     or you join the end of the queue in the lunch line.

exception

 

An object that is created when an abnormal situation arises in a program. See also the definition for “exception handler”.
    IOException - an error caused when a file is missing or disk is full

exception handler

 

A program code that handles exceptions that arise during the running of a program. An exception is thrown to the handler rather than causing a fatal error. See also the definition for “exception”.
    in Java, use  try...catch... to handle exceptions

expression

 

A sequence of symbols that can be evaluated.
    (3*x - 4/y)  is a numeric expression.
    (LastName
+ ", " + FirstName)  is a string expression. 
    ( (age >= 21) and (country.equals("France") ) )  is a Boolean expression.

 

fibre optic

 

 

Cabling used for networking that uses fine strands of glass. The medium can carry a great deal of data and it gives a fast transfer rate.
    Internet Backbone,  connections between servers in a server farm

field (object attribute) 

 

A subdivision of a record containing a unit of information. For example, a payroll record might have the following fields: clock number, gross pay, deductions and net pay.
     This class contains two fields:
      class Fraction
      {   int numerator;
          int denominator;
      } 
 

FIFO

 HL icon

First-in-first-out. See also the definitions for “queue”, “stack” and “LIFO”.
    The lunch-line in the cafeteria (when the students obey the rules).
     NOT an elevator, which is LIFO (last in first out)
 

file

 

An organized collection of data.
    Program source code (game.java), Executable (game.exe), Document (game.doc),
    Graphics file (screenShot.jpg), Web-page (index.html)

file manager

 

An application software that can access, create, modify, store and retrieve files.
    Windows Explorer, when you see the directory tree and can copy and paste files 

fixed-length records

 HL icon

Records whose size is determined in advance. All such records in a file have the same length. See also the definition for “variable-length records”.
    Name as a String of 30 chars + Age as 32 bit integer = 34 bytes  

fixed point

 HL icon

The performing of arithmetical calculations without regard to the position of the radix point. The relative position of the point has to be controlled during calculations.
    money always has 2 decimal points, so  5.00 EU or 99.95 EU

flag

 

An indicator with two possible states, “set” or “not set”, that can be represented by one bit. A flag can be used to indicate that a record can be deleted, to indicate end of input/output and to sense whether an interrupt has occurred.
    found = false            // a boolean flag
    loop through array
        if String matches target
            found = true
    end loop
    return found

floating point

 HL icon

In floating point arithmetic, the position of the decimal point does not depend on the relative position of the digits in the numbers (as in fixed point arithmetic), since the two parts of the floating point number determine the absolute value of the number.
    Scientific notation
    Avagadros number = 6.02 e +23 , a million = 1.0 e +06 ,  nano = 1 e -9

formal parameter

 

See the definition for “parameter”.
    the local name of a parameter inside a method, e.g. number in method below
 
         double root = cubeRoot( 125 ) ;

         public double cubeRoot(double number)
         {  return  Math.pow(number,1/3); }

formatted output

 

Data prepared for output in order to be displayed in a desired format (for example, trailing zero on 7.50$ instead of 7.5$).
    formatting a Date as "dd mmm yyyy"
    12/25/06 -->    25 Dec 2006

fully-indexed file

 HL icon

A file in which, although the records are unordered, a particular record can be found using a sequential access to the index of the file followed by direct access to the data file. See also the definition for “partially-indexed file”.
    A telephone list is fully indexed - has an entry for each person -   
    but could reference a more detailed file with more data.

    NOT a partially indexed file, with sections for each letter,
    or the index of a book which only contains some of the words
 

 

gateway

 

 HL icon

A link between two computer systems that converts data passing through into the formats needed for each system.
    proxy server for connecting a LAN to the Internet  

graphics tablet
(graphics pad)

 

An input device on which the user writes or designs. The image is reproduced on the screen.
    Used by graphic designers, artists (NOT a mouse)  

GUI

 

Graphical user interface.
    Windows OS, Swing and AWT in Java  

 

hacking

 

 

Obtaining unauthorized access to protected resources.
    Trying to guess a password, resetting the date in a shareware program,
     using a hex-editor to modify a program 
 

handshaking

 HL icon

The exchange of predetermined signals when a connection is established between two devices or components.
    The horrible noise a modem makes when you "dial-up" your ISP
    An exchange of signals between a web-client and web-server, to exchange
      IP addresses and agree on a transmission protocol, e.g. FTP or HTTP.
 

hash code

 HL icon

A method of coding to obtain a search key for the purpose of storing and retrieving items of data.
   Storing names of telephone customers by using the telephone number to choose the     position in the array, assigning lockers according to the student's name like this:
        Len(Name)*100 + (sum(ASCII codes) mod100)
 

hash table

 HL icon

A table of information that is accessed by way of a shortened search key (the hash value).
    An array or file accessed via a hash-code such as all the phone numbers
     in a country (see hash code)

hexadecimal

 

A system of numbers with the base 16; hexadecimal digits range from 0 to 9 and from A to F, where A represents 10 and F represents 15.
    FF hex --> 255 dec       B9 hex --> 11*16 + 9 = 185 

high-level language

 

A programming language whose concepts and structures are convenient for human reasoning. Such languages are independent of the structures of computers and operating systems.
    Basic, Pascal, C++, Cobol, Fortran
    NOT machine code (what the CPU understands)
 , NOT  HTML

HTML (Hyper Text Markup Language)

 

A computer language used to construct web pages. Tags are used to denote the way in which text and graphics are to be displayed. The language is interpreted by a browser to display the pages.
    Web-pages look like this on the inside:
       <HTML>
       <BODY>
           The <B>Best</B> Film of the Year
       </BODY>
       </HTML>

hub

 

In networking, a switch that sends data to the stations to which it is attached.
    4 port or 16 port hubs used for LAN game parties  

 

IDE (integrated development environment)

 

 

A programming tool that gives programmers a single environment (that is, the hardware and software environment in which the program runs) for building programs rather than using individual editors and debuggers.
    NetBeans for Java,  NOT a simple text editor  

identifier

 

The name or label chosen by the programmer to represent a variable, method, class, data type or any other element defined within the program.
    int AGE, method SEARCH ,  keyword  VOID

infix notation

 HL icon

A notation for representing logical operators in which the operator is written between the operands, for example, A+B or A*B.  See also the definitions for “postfix notation” and “prefix notation”.
    A+B or A*B  ,   NOT  Math.sqrt(25)  ,  NOT RPN

inheritance

 HL icon

The name given to the property whereby an object, which extends another object, inherits the data members and member functions of the original.
    in Java, use EXTENDS  

    class  PERSON
    {     String NAME;
          String PHONE;
    }

    class STUDENT extends PERSON
    {    String GRADE ;
         String  PARENTS ;
    }

    class TEACHER extends PERSON
    {     String CLASSROOM;
           double  SALARY  ;
    }

    TEACHER and STUDENT have both inherited NAME and PHONE from PERSON,
      but have added on fields needed only by a student or a teacher.
 

in-order traversal

 HL icon

Traversal of a tree visiting the nodes in the order left-child, parent, right-child. See also the definitions for “pre-order traversal” and “post-order traversal”.
     void INORDER(NODE  P)
    {
         if  (P.LeftChild != null)

              INORDER(P.LeftChild);   
           
        output( P.DATA);   

        if  (P.RightChild
!= null)
             INORDER(P->RightChild)
    }

insertion sort

 HL icon

A sort in which each item in a set is inserted into its proper position in the sorted set according to a specified criterion. See also the definitions for “bubble sort”, “selection sort” and “quicksort”.
    Start with an empty array
    Put first data item in position 1
    SIZE
= 1
    repeat
         get a new data item
         loop from position
0 to SIZE-1
             find appropriate place for new data item
                then insert new data item in that position
        SIZE
= SIZE + 1
    until no more data
 

interface 

 

The hardware and associated software needed for communication between processors and peripheral devices to compensate for the difference in their operating characteristics.
    Parallel Printer Interface, IDE interface for hard-disks,
    USB port (Universal Serial Bus)

interpreter

 

A program that translates and executes each instruction of a programming language before it translates and executes the next instruction. See also the definition for  “compiler”.
    Scripting languages in web pages (VBscript, JavaScript)
    Older versions of BASIC, Visual Basic if you don't run with "full compile"
    NOT C++ or Fortran, which are normally compiled
 

interrupt 

 HL icon

A suspension of a process, such as the execution of a computer program caused by an external event, performed in such a way that the process can be resumed.
    When you press a key on the keyboard, the keyboard sends an interrupt signal
    to the CPU, which reads the keystroke and displays the result

ISDN (integrated services digital network)

 HL icon

An international communications standard for sending voice, video and other data over digital telephone lines.
    2 channels , each has 64 KiloBits per second

ISO

 

International Organization for Standardization.
    ISO 9660 CD-ROM standard,  ISO 8559 character sets (Latin-1, Hebrew, etc)
    ISO 10646 Unicode, Wikipedia has a complete list 
 

iteration

 

The process of repeatedly running a set of computer instructions until some condition is satisfied.
    for loop,  while loop, any other loop  

 

JPEG (joint photographic expert group)

 

 

A recognized standard of compression of graphics files that has some loss.
    uses LOSSY compression by eliminating small details      

keys

 

 HL icon

  1. In computer security, a sequence of symbols used with a cryptographic algorithm for encrypting or decrypting data.
    Public Key cryptography uses separate keys for encryption and decryption,
    so only one person can send, but anyone can receive
     
  2. In databases, the key of a record is a field with a unique value that can be used to locate that record.
    an ID number, like a social security or passport number 

 

latency

 

 

See the definition for “rotational delay”.
    waiting for a web-page to download, waiting for a video to start  

left-child

 HL icon

In a tree, the node to the immediate left of a parent node.
See also the definitions for “parent” and “right-child”.
    See TREE 

library manager

 HL icon

Many programming languages permit user-defined functions to be stored centrally and re-used in various programs. This central storage is called a “library”. A library manager is a utility program that catalogues, pre-compiles and links library modules.
    In Java, libraries are the standard CLASSES provided with the compiler.
    There is not "manager" as such, but IDEs like NetBeans do some management.

LIFO

 HL icon

Last-in-first-out. See also the definitions of  “stack”, “queue” and “FIFO”.
    Stack, history list in a browser (the back button), undo functions in editors

linked list

 HL icon

A data structure technique of storing data in different areas of memory rather than in a contiguous block and keeping track of the data using pointers.
      Head                              Tail
        \                                /
       Al  --> Bob  -->  Carla --> null 
     

linker

 HL icon

A utility program that brings together the object modules, operating system routines and other utility software to produce a complete, executable program.
    Windows does this when using .DLLs (Dynamic Link Libraries)

loader

 HL icon

A program that copies an object program held in memory into the memory area designated by the operating system for execution.
    When you double click an application in Windows.
    Also, Windows loads the correct app when you click on a data file (document). 
 

local area network (LAN)

 

A computer network where all the computers are directly linked by cables and/or microwave transmission. This is usually located on a user’s premises within a limited geographical area. See also the definition for “wide area network (WAN)”.
    The network in our school, without the internet connection.  You might also
    have a small LAN at home, connecting a few PCs without a server.
    NOT the Internet
 

local variable

 

A variable that is defined and is capable of being used only in one specified program block.
    Variables declared inside a method
    NOT global variables
 

logic circuit

 HL icon

A circuit whose output can be determined by knowing the input and by following the path through the logic gates.
    Half Adder , Full Adder , Burglar alarm

logic error

 

An error arising from an incorrect appreciation of the problem leading to an incorrect action being performed and hence a false result being produced.
   if  (Today.equals("Sat") || Today.equals("Sun") && Season.equlas("Summer") )
   {    Swimming = true; }
     else
   {    Swimming = false; }   

  This returns true on Saturday during the winter - it needs parentheses:  

     if ( (Today .equals("Sat") || Today.equals("Sun") )  && (Season.equals("Summer") ) )

  This is NOT a syntax error, as the program can execute.  
  But it gives the WRONG RESULT.
 

logic gate

 HL icon

A combinational circuit that performs an elementary logic operation and usually involves one output.
    AND, OR, NOT, XOR, NAND, NOR 

 

magnetic ink character recognition (MICR)

 

 

The identification of characters through the use of magnetic ink. See also the definition of “OCR”.
    Dark black, strangely shaped letters at the bottom of personal checks.
    The ink is magnetic - the reader is NOT optical.
 

mainframe

 

A computer, usually in a computer centre, with extensive capabilities and resources to which other computers may be connected so that they can share facilities.
    Banks use mainframe computers to store customer accounts for millions of customers.     Research labs use mainframes to do very complex calculations on large sets of data.

    NOT a PC 

master file     

 

A permanent file holding information that can be accessed and that is periodically updated by processing with a transaction file. See also the definition for “transaction file”.
    All the student data in a schools database.  When a new student enrolls,
    or a student leaves, the database must be changed. 
     

memory address register (MAR)

 

Holds the address in memory of the instruction at present being executed.
    also called the Program Counter

memory manager  

 HL icon

A program that is usually part of the operating system that controls the allocation of memory to various applications. It is particularly important in multi-tasking systems where applications might otherwise cause conflicts, and for implementing virtual machines and virtual memory.
   Windowscontains a memory manager - any MULTI-TASKING OS must contain
   a memory manager, but you cannot see it.  

    NOT DOS - there is no memory manager - each program occupies the entire memory -
    this is a single-tasking system
 

memory mapped I/O

 

See the definition for “DMA”.
    Assigning PORT numbers or Interrupt numbers to peripheral devices

menu

 

A display of a list of optional facilities that can be chosen by the user in order to carry out different functions in a system.
    File, Edit, View menues in Windows apps

method  

 

  1. The behaviour or operation of an object.
  2. The procedure used by an object as specified within the object class. See also the definition for “method signature”.

    Normal methods are CALLED by the main program
    The actionPerformed method in an AWT app is called automatically by Windows
      when a GUI event occurs
    A Constructor is a special kind of method that only runs when the object is instatiated

method signature

 

The number and types of arguments of a method.
    Just the header line of the method, e.g.   void boolean Search(String target)

MICR

 

See the definition for “magnetic ink character recognition”.

microprocessor

 

An integrated circuit incorporating the main components of a central processor. These circuits are used for microcomputers and small devices controlled by computer.
    Pentium or AMD chip in a PC
    Smaller CPUs, 6502 or Z80 , can be used as EMBEDDED processors
      to control simple operations in an engine, heater, photocopier, etc.

microwave transmission

 

A method of electronic communication that does not require cables.
  Transmitted by the big dishes (like satellite dishes) you see on    of a switching station.
   NOT cell phones (handies)
 

modem

 

An abbreviation for “modulator/demodulator”: a piece of electronic equipment that converts digital signals from a computer into audio signals that are transmitted over telephone lines, and converts them back again.
   US Robotics 56 K, you must "dial up" to use these
    NOT DSL or ISDN, which transmit digital signals across the telephone wires
 

modular language

 

A language in which a complete program can be broken down into separate components (modules), each of which is to some extent self-contained. For example, the scope of variables can be limited to a module and does not extend through the entire program. See also the definition for “  -down design”.
    In Java, the use of separate CLASSES, as well as using METHODS inside
    each class, as well as LIBRARY classes (java.awt, java.io, etc)

    Old languages like C were NOT modular - any program was just
    one long list of instructions.
 

modularity 

 

One aspect of structured programming in which individual tasks are programmed as distinct sections or modules. One advantage is the ease with which individual sections can be modified without reference to other sections.
    see Modular Language  

module

 

A self-contained subset of a program.
    method, class, ADT

modulo arithmetic

 

Arithmetic that uses the integer result and integer remainder of division as two separate entities.
   in Java, the % sign -->   23 mod 5 = 23 % 5 = 3

multi-tasking

 

A mode of operation that provides for concurrent performance, or interleaved execution, of two or more tasks.
    Running several different downloads at once, running IE and Word simultaneously and     copying parts of a web-page into word, background printing at the same time as you are     typing or surfing the web 

multi-user system

 

A system that allows two or more people to use the services of a processor within a given period of time.
    NOT just a LAN, where service requests come at various times, but SIMULTANEOUS     access, such as a printer with several PCs connected.  A LAN game is actually a good     example, where many users are constantly be served. 

multi-processing

 

The simultaneous execution of two or more computer programs or sequences of instructions by a computer (parallel processing).
    "TRUE" Parallel processing requires multiple CPUs - not common in PCs, but pretty     common in Sun Work Stations and larger servers. 

 

nand

 

 HL icon

The output of “nand” is False only if all inputs are True, otherwise the output is True.
    The opposite of AND:   0 nand 0 = 1     0 nand 1 = 1     1 nand 1 = 0 

network

 

Any set of interconnected computer systems that share resources and data. See also the definitions for “networking”, “local area network (LAN)” and “wide area network (WAN)”.
    LAN (intranet), World-Wide-Web (Internet)

networking 

 

Making use of the services of a network. See also the definitions for “network”, “local area network (LAN)” and “wide area network WAN”).
    above

node

 

  1. In the terminology of tree structures, each position in the tree is called a “node”.
       Tree, Linked-List
  2. Any device on a computer network that can be addressed so that it can be contacted by other computers.
       Client, Server, Router
  3. A “host” computer on a network.
       Work station

nor

 HL icon

The output of “nor” is True if all statements are False, False if at least one statement is True.
    The opposite of OR :     0 nor 0 = 1     0 nor 1 = 0      1 nor 1 = 0 

not

 

The output of “not” for a statement P is True if P is False, False if P is True.
     not 0 = 1         not 1 = 0 
     A and (not A)  --> never true

object

 

 

An object is a combination of data and the operations that can be performed in association with that data. Each data part of an object is referred to as a data member while the operations can be referred to as methods. The current state of an object is stored in its data members and that state should only be changed or accessed through the methods. Common categories of operations include: the construction of objects; operations that either set (mutator methods) or return (accessor methods) the data members; operations unique to the data type; and operations used internally by the object.
    A List-Box, which has PROPERTIES and METHODS 

object-oriented programming (OOP) 

 

An approach to programming in which units of data are viewed as active “objects” rather than the passive units envisioned by the procedural paradigm.
    JAVA is strictly object-oriented.
    Older languages, like C and BASIC, did not have objects, so they were not OO.

OCR

 

Optical character recognition (reader). Refers to the use of devices and software to “read” characters and translate them into ASCII characters for later processing. Applications of OCR include the scanning of printed documents to convert the text into digital ASCII text that can then be edited in word processors.
    Scan a newspaper, use OCR to change the text into a document format,
    and then edit the document using Word.
 

OMR forms

 

Optical mark and read forms.
    Answer sheets in the SAT exam (bubble in sheets) 

on-line

 

When a user has access to a computer via a terminal.
    Surfing the web, printing in the computer lab
    NOT typing an essay at home without a modem or network
 

on-line processing (interactive)

 

Data processing in which all operations are performed by equipment directly under the control of a central processor, for example, airline reservations.
    Airline reservations, Automatic Teller Machines
    NOT a robot controller, which does not involve a user

open systems interconnection (OSI)

 HL icon

A set of protocols allowing different types of computers to be linked together.
    Consists of 3 levels :        
         Application Level -->  Browser, Word-processor
         Transmission    -->   TCP/IP protocol , ethernet
         Hardware        -->  network adapter, wires, hubs

operand

 HL icon

In an arithmetical expression, the operand is the data that is to be operated on.
     In   A * B + 4 ,  the operands are A,B, and 4

operating system (OS)

 

Software that controls the execution of programs and that may provide services such as resource allocation, scheduling, input/output control, and data management.
    Windows, Linux, DOS,  Mac OS

operator

 HL icon

A character or string of characters that designate an operation. See also the definitions for “binary operator” and “unary operator”.
    In   A * B + 4 , the operators are  * and +  

operator precedence 

 

In programming languages, an order relation defining the sequence of the application of operators within an expression.
    parentheses first , * before +  ,  && before ||

or

 

The output of “or” is True if at least one input is True, otherwise the output is False.
    In Java || ,   0 or 0 = 0       0 or 1 = 1     1 or 1 = 1

overflow

 HL icon

The generation of a quantity, as a result of an arithmetic operation, that is too large to be contained in the result location. See also the definition for “underflow”.
    9 billion  is an overflow for 32-bit integers

    9.99 e 999  is an overflow for a double 

packet

 

 HL icon

A group of bits made up of control signals, error control bits, coded information and the destination for the data.
    In the Web, all data is transferred is small packets of 1-4 Kb 
    see also Data Packet

packet switching

 HL icon

A method of transmitting data in which the data packet is transmitted as one entity irrespective of the whole message.
    Routers read the destination address in a packet header and decide the
    best route to reach the destination quickly

parallel interface 

 HL icon

An interface through which a computer transmits or receives data that consists of several bits sent simultaneously on separate wires. See also the definition for “serial interface”.
    Printers, Disk-drive interfaces
    NOT USB (Universal Serial Bus)

parameter

 HL icon

A parameter is passed to a routine or method by variable name and type. When the code is run, the parameter is replaced by the value of the variable, and becomes the argument of the routine, referred to by the variable name in the definition.
         double root = cubeRoot( 125 ) ;         // 125 is the ACTUAL parameter

         public double cubeRoot(double number)   // number is the FORMAL parameter
         {  return  Math.pow(number,1/3); }

parameter passing 

 

The assignment of values to parameters to be used in a procedure.
    In Java, all parameters are passed BY-VALUE, so it is not possible to change
     the value of the actual parameter (in the calling routine).  But if an OBJECT is
     passed, it's CONTENTS can be changed.   This is similar to PASS-BY-REFERENCE
     in other languages.

parent (node)

 HL icon

The node immediately above a given node, at the next level up. There can only be one parent node for each node, but different nodes may share the same parent.
    see TREE 

parity bit 

 

A binary digit appended to a group of binary digits to make the sum of all the digits, including the appended binary digit, either odd or even as established beforehand.
    Data = 10101100 -->  Parity bit 0 (for even parity)
    Data = 11111110 --> Parity bit 1 (for even parity)
    For odd parity, the parity bit is reversed 
 

parsing

 HL icon

The breaking down of high-level programming language statements into their component parts during the translation process. An example would be identifying reserved words and variables.
    In an Airport data file:
        LHR London, England [Heathrow Airport], United Kingdom
    this string would be PARSED into it's separate pieces:
        Code = "LHR"
        Name = "Heathrow Airport"
        Location = "London, England"
        Coutnry = "United Kingdom"
 

partially-indexed file

 HL icon

A file in which records are ordered in groups. Sequential access to an index followed by direct access to the first record in the group, then sequential access to the desired record, retrieves a particular record. See also the definition for “fully-indexed file”.
    Making a A, B, C sections in a dictionary or phone-book 

pass-by-reference

 

The parameter-passing mechanism by which the address of a variable is passed to the subprogram called. If the subprogram modifies the formal parameter, the corresponding actual parameter is also changed. In Java, all objects, including arrays, are passed-by-reference. See also the definition for “pass-by-value”.
    Arrays are commonly passed by reference, to avoid making a copy of a large amount of        data, and so that the result of a sorting algorithm actually changes the original array
    See Parameter Passing (above)

pass-by-value 

 

The parameter-passing mechanism by which a copy of the value of the actual parameter is passed to the called procedure. If the called procedure modifies the formal parameter, the corresponding actual parameter is not affected. In Java, all primitives are passed-by-value. See also the definition for “pass-by-reference”.
    If a CONSTANT is to be passed, it must be passed by value.
       e.g.   output CUBEROOT(27)

    See Parameter Passing (above) 

peripheral device 

 

Any device that can communicate with a particular computer, for example: input/output units, auxiliary storage, printers.
     keyboard, mouse, monitor, printer

pointer 

 HL icon

A reference to an address that enables the retrieval of a data item or record. Used in dynamic data structures to move from item to item.
    In Java, Objects are pointers to the actual memory location containing the Object data.
    linked-list pointers, like HEAD and TAIL and NEXTNODE 

pointing device

 

An instrument, such as a mouse, trackball or joystick, used to move an icon (sometimes in the form of an arrow) on the screen.
    mouse, joystick, stylus (small pen for pocket computer) 

polling

 HL icon

Interrogation of devices for such purposes as avoiding contention, determining operational status, or determining readiness to send or receive data.
    Older home-computers used polling to check whether a key had been pressed -
      the CPU checks each key at regular intervals.  This is not used much any more -
      now everything is INTERRUPT DRIVEN .
  

polymorphism

 HL icon

The ability of different objects to respond appropriately to the same operation.
   + can be used to add numbers, or to concatenate strings.
     3 + 4 + 5 -->  12       "3" + "4" + "5" --> "345"
   In Java, the same Method name can be polymorphic, by assigning
     different parameter lists in the signature, e.g.
        boolean Search(String target)...
        boolean Search(String target, String[] data)...

pop

 HL icon

To remove an item from the    of a stack.
    see Stack

port

 HL icon

An access point for data entry or exit.
    Standard HTTP port = 8080,  Standard FTP port = 21

postfix notation

 HL icon

A method of forming mathematical expressions in which each operator is preceded by its operands and indicates the operation to be performed on the operands or the intermediate results that precede it; for example, A added to B and the sum multiplied by C is represented by the expression AB+C*. See also the definitions for “infix notation” and “prefix notation”.
   Reverse Polish Notation (RPN):    3  4  *  5  6  +  -   =  1  

post-order traversal

 HL icon

Traversal of a tree by visiting the nodes recursively in the order left-child, right-child, parent. See also the definitions for “pre-order traversal” and “in-order traversal”.
   see TREE

prefix notation

 HL icon

A method of forming mathematical expressions in which each operator precedes its operands and indicates the operation to be performed on the operands or the intermediate results that follow it. See also the definitions for “infix notation” and “postfix notation”.
    Typcially seen in programming languages:
        subtract( mult(3,4) ,  add(5,6) ) -->  1
 

pre-order traversal

 HL icon

Traversal of a tree by visiting the nodes recursively in the order parent, left-child, right-child. See also the definitions for “in-order traversal” and “post-order traversal”.
    see TREE

primary memory 

 

The part of the memory where the data and programs that are in use at the time are stored.
    RAM or ROM or CACHE ,  NOT disk storage 

primitive data type

 

Integer, real, character or Boolean data types.
    in Java,  int , double, char , String (sort of)
    NOT an array or an object instantiated from a class

private class members

 

Members of a class that are only accessible from methods inside the class.
    In a Calendar class, a Date might be made private,
    and accessed with getDate and setDate, to ensure that dates
     are always valid (e.g. not Feb 32)

program counter

 HL icon

A register that holds the address of the next instruction to be fetched in the fetch execute cycle.
    After each command is executed, the PC is automatically incremented
     to point at the next command.

protocol 

 

An internationally agreed set of rules to ensure transfer of data between devices. A standard protocol is one that is recognized as the standard for a specific type of transfer. For example, TCP/IP.
    TCP/IP (Transmission Control Protocol / Internet Protocol)

prototyping

 

The construction of a simple version of a system in the design stage, showing the user interface but without full processing behind it. This allows the user to propose changes at the design stage.
    Might consist of a sample User Interface, with simple STUB methods

pseudocode

 

An artificial language used to describe computer program algorithms without using the syntax of any particular language. During the development of an algorithm, pseudocode often contains sections in natural language that will be replaced later.
    Open datafile
    loop through entire file
    at each item, print the item if it starts with "A"

    Should be less detailed than a computer program, but should show loops
     and method calls

public class members 

 

Members of a class that are accessible from anywhere and from any class.
    Constructors must be public (or protected) - otherwise the class cannot be instantiated

push

 HL icon

To add an item to the    of a stack.
    See STACK

 

queue

 

 HL icon

An abstract data structure where items are inserted at one end and retrieved from the other end (FIFO). (The standard operations are given in 5.2.7.)
    Print-server queue, keyboard queue, line in the cafeteria

quicksort

 HL icon

A sort in which a list is first partitioned into lower and upper sublists for which all keys are, respectively, less than some pivot key or greater than the pivot key. See also the definitions for “bubble sort”, “selection sort” and “insertion sort”.
    Effiency = O(n log n)

real-time processing

 

 

The manipulation of data that is required or generated by some process while the process is in operation; usually the results are used to influence the process, and perhaps related processes, while it is occurring.
    the auto-pilot in an airplane, control devices in a nuclear power plant
    NOT a game simulation of the stock market, where the actual time does not matter
       and there is no real connection to the real world
 

record

 

An aggregate that consists of data objects, possibly with different attributes, that usually have identifiers attached to them. See also the definition for “field”.
    in Java, use a class to group data items together, e.g.
    class Student
    {   String name;
         int  grade;
         String born;
    }

recursion

 HL icon

The process whereby a method refers to itself. In many programming languages, a procedure or function can call itself.
    Binary search, tree traversals     

reference

 HL icon

Contains the location in memory of an object. The object can contain many individual data members.
    in Java, every object contains a REFERENCE to it's storage.
    You can copy this reference, making extra references.  
    In a linked-list search:
         Node temp = head;
    makes temp as another reference to the same object that head points at.

register

 HL icon

A part of internal storage that has a specified storage capacity and is usually intended for a specific purpose.
    Old Intel processors contained AX, BX, CX, DX registers, each of which can hold
       a 16 bit integer, and they can be added or multiplied together.  
    All processors contain and Program Counter Register which keeps track of
       the memory address of the current instruction in the program.
 

requirements specification   

 

A document that sets out the customer requirements of a computer system. It is written as part of the systems analysis and can be used later to evaluate the system when implemented.
    Goals, hardware requirements, development time limits (deadlines), cost limits

right-child

 HL icon

In a tree, the node to the immediate right of a parent node.
See also the definitions for “parent” and “left-child”.

robotics

 

The techniques used in designing, building and using robots.
    Automobile assembly line robots, rescue robots which can work deep underwater
    where it is unsafe for human beings.  Robotics includes issues like real-time processing,
    sensing, and artificial intelligence
 

robustness

 

A term used to describe the ability of a program to resist crashing due to incorrect input or incorrect intermediate results.
    Good error handling prevents crashes:

        if  (COUNT != 0)
        {    AVERAGE = TOTAL / COUNT;  }

   Without the if..then.. error handler, the program is less robust and might crash
   due to a division-by-zero error.

rotational delay  

 HL icon

In a disk drive, the time required for the disk to revolve until the correct sector is under/over the read/write heads.
    at 7200 rpm, maximum rotational delay is  1/7200 sec = 0.14 milliseconds

router

 

A device that identifies the destination of messages and sends them via an appropriate route.
    In the Internet, a powerful computer with multipile network connections.
    Receives packets, reads destination address, and sends the packet to another router. 
 

 

search engine 

 

 

A program that searches a large database to find matching items. The most common use of a search engine is to find Internet addresses based on given key words.
    Google, Yahoo, Ask Jeeves

secondary memory 

 

A type of memory that allows a user to store data and programs for as long as desired, in, for example, a hard disk drive.
    Disk-Drive, Floppy, CD-ROM, Flash-Eprom, Memory stick or
      SD card in an MP3 player or digital camera
 

sector

 HL icon

The smallest accessible storage unit on a disk. The point at which the sector intersects with a track is used to reference the location.
    In a hard-disk, each TRACK (circle) is divided into sectors, typically 64.

security

 

Security in the context of computing is a large subject but in outline it might refer to:

  1. risk to hardware
      fire, power surge, theft
  2. risk to software
      corruption, deletion, incorrect changes (bad programming), viruses
  3. risk to information.
      data-entry errors, deletion, privacy violations

seek time

 HL icon

In a disk drive, the time taken for the read/write heads to position themselves over the appropriate track. See also the definition for “rotational delay”.
    average seek time for HDD is generally under 10 millisec  

selection sort

 

A sort in which the items in a set are examined to find an item that fits specified criteria. This item is appended to the sorted set and removed from further consideration, and the process is repeated until all items are in the sorted set. See also definitions for “bubble sort”, “insertion sort” and “quicksort”.
    Find largest item in list
    Swap it into position 1
    Find largest item in positions 2..max
    Swap into position 2
    Repeat through all positions
 

semantics

 

The relationships of characters or groups of characters to their meanings, independent of the manner of their interpretation and use.
    Output, Print, Put have similar semantic meanings,
      but perform significantly different operations.
 

sensor

 

A device that detects measurable elements of a physical process for transfer to a computer.
    Thermostat (temperature sensor), electric-eye (optical) in a burglar alarm,
      motion sensor to automatically turn a light on
 

sentinel

 HL icon

A special value that marks the end of a set of data. Also called an “end of data marker” or “rogue value”.
    "xxx" to mark the end of an array of strings 

sequential access

 

An access method in which records are read from, written to, or removed from a file based on the logical order of the records in the file.
    Tape drives , Text-Files
    NOT disk-drives which are Random Access
 

sequential file

 

A file in which records are ordered and are retrieved using sequential access.
    a Text File of names
     NOT a random-access file containing records with fixed-length fields
 

sequential search 

 

A search in which records in a file or in another data structure are examined one by one in the order in which they were entered until a specified criterion is met or until there are no more records to examine. See also the definition for “binary search”.
    for (int x = 0; x < data.length; x=x+1)
    {  if (data[x].equals(target) )
       {  output("Found"); }
    }

NOT a binary search  

serial interface

 HL icon

An interface through which a computer transmits or receives data, one bit at a time. See also the definition for “parallel interface”.
    USB (Universal Serial Bus) , modem - only 1 data wire
    NOT a parallel printer interface, which has 8 data wires  
 

server

 

  1. A program that provides services requested by client programs.
        Printer server or file server in a LAN 
  2. A computer that provides services to another computer connected over a network.
        Web-server

signature

 

A combination of specifiers, the method name and the parameter list, that uniquely identifies the method.
    in Java, the first line (header) of a method

simulation

 

The use of a data processing system to represent selected behavioural characteristics of a physical or abstract system.
    flight-simulator, stock-market analysis program, scientific experiment simulations 

single-tasking

 

A mode of operation that allows only one program to be in use at any time.
    a DEDICATED or EMBEDDED computer, like a controller for heating system.  
    Also DOS programs, which take over the entire computer and
       don't allow other programs to run
 

single-user system

 

A system that only allows one user at a time.
    a PC, some game consoles, a cell phone, GPS computer
    NOT a game console with multiple game-controllers, NOT a server

software design

 

The systematic application of scientific and technological knowledge, methods and experience to the design, implementation, and testing of software to optimize its production and support.
     also known as Software Engineering, including data-flow diagrams, testing strategies

software reuse

 HL icon

Creating classes that operate on a wide variety of different objects, and can be “dropped into” a current project, leading to reduced software cost and increased reliability.
    classes in Java, methods instead of copying and pasting code, Windows .DLL modules

speech recognition (voice recognition)  

 

A process of comparing spoken words with those stored in the system.
    voice input for a word-processor

stack

 HL icon

An abstract data structure where only the    is accessible for the insertion and retrieval of items (LIFO).
    used by OS for temporary storage of procedure return addresses
      and values of parameters
 
    Push(data) --> add data to the    of the Stack
    Pop()  -->  remove most recent data from the    of the Stack 
       -->  pointer to the    of the Stack, usually private

star   ology

 

A network in which each device is connected to a central hub. See also the definitions for “tree   ology” and “bus   ology”.
    Like lab 329, each workstation has it's own wire connecting it to a central switch  

static data structure 

 

Data structures of which the size and nature are determined before a program is executed.
    Arrays, like   String[] days = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};

storage requirements

 

A description of how much memory is required during the running of the program.
    Should be part of the requirements specification from the analysis and design

storyboard

 

A diagrammatic form of a prototype showing a planned sequence of screen displays, demonstrating the different paths available to the user.
    A plan of screen-shots and processing steps connected to a Use-Case (user story)

structure diagram

 

A diagram that represents the working relationships between the parts of a system or program.
      -down hierarchical chart, data-flow diagram
    NOT a flow-chart, which shows sequences of processing steps
 

subclass

 HL icon

A class that extends the attributes and methods of a parent class.
     see Inheritance - Teacher is a subclass of Person

subprogram

 

A program invoked by another program.
     a method or a class

subtree

 HL icon

A tree that is part of another tree.
    see TREE

superclass

 HL icon

A class that provides its attributes and methods to a subclass.
    see Inheritance - Person is the superclass of Teacher

syntax

 

The rules that govern the structure of language statements; in particular, the rules for forming statements in a source language correctly.
    in Javascript, write :  var x = 0;
    in Java, write :   int x = 0;

syntax error

 

An error in the rules that govern the structure of language statements.
    System.outprinting "Hello!)    --> contains several syntax errors 
    NOT a run-time error, such as division by zero

system documentation

 

Documentation of the result of the systems analysis stage giving the purpose of the system, the required inputs and outputs, a test plan and the results that are expected.
    similar to the user-manual

system life cycle

 

The course of development changes through which a system passes from its conception to the termination of its use; for example, the phases and activities associated with the analysis, acquisition, design, development, testing, integration, operation, maintenance, and modification of a system.
    going from version 7 to version 8 of a commercial application
    redesigning and reprogramming a database to meet new requirements

systems analyst

 

A person who carries out a systematic investigation of a real or planned system to determine the information requirements and processes of the system, and how these relate to each other and to another system.
    Normally an engineer with deep understanding of the problem area,
     e.g. the systems analyst for an airline ticket database should know
     a great deal about airline operations.

systems design 

 

The investigation and recording of existing systems and the design of new systems.
    Might be a very experienced and highly competent programmer

systems flowchart

 

A flowchart used to describe a complete data processing system, with the flow of data through the clerical operations involved, down to the level of individual programs, but excluding details of such programs.
    Librarian ---> [Check out] -->  Daily Transactions
                                                                     |
                                                                    V
                                                       [ Batch Update ]   <--  Master File
                                                           /                 \
                                              Error Log                \--->    New Data File


TCP/IP (transmission control protocol/Internet protocol)

 

 

A set of communications protocols used to connect hosts on the Internet.
     IP address = 32 bit integer, written  123.012.101.255 

 

  -down design

 

A method of solving a problem by breaking it down into smaller subproblems. These are then broken down in turn until ultimately a pseudocode representation is obtained that can be used as a basis for program construction. See also the definition for “modular language”.
    Problem --> Tasks --> program features --> sub-programs + data structures

trace

 

A record of the execution of a computer algorithm exhibiting the sequences in which the instructions were executed.
  What is printed by this algorithm?          Trace Table
                                                           ---------------------------------------------
                                                               C           X          X > 0 ?     Output
   int C
= 0;                                             0
   int X
= 10;                                                       10      
   while(  X > 0)                                                                True
   {  C
= C + 1;                                        1
       X = X
/ 2;                                                       5 
       output(C+","+ X);                                                                      1 , 5
   }                                                                                     True
                                                              .... etc.....
 

track

 HL icon

A series of concentric rings placed on a disk surface by the operating system.
    a typical Hard Disk might have 1024 tracks

transaction file     

 

A temporary file holding data that is later used for processing, generally to update a master file. See also the definition for “master file”.
    The daily sales receipts in a store - each sale is a transaction -
     these are posted in a batch update each evening.

translator

 

A computer program that transforms all or part of a program expressed in one programming language into another programming language or into a machine language suitable for execution. See also the definitions for “compiler” and “interpreter”.
    Compiler, interpreter

tree

 HL icon

A non-linear data structure (representing a strictly hierarchical system of data) where each data item is thought of as a node.
                                    (root)                       
                                 /             \
                     (parent)             (leaf)
                      /         \
           (left child)   (right child)

tree   ology

 

A network that combines the characteristics of bus and star   ologies. Groups of star   ologies are connected to a central cable. See also the definitions for “star   ology” and “bus   ology”. 

truncation

 HL icon

  1. The process of approximating a number by ignoring all information beyond a set number of significant figures. Truncation error is the error introduced by this process.
        In Java,  Math.floor(3.7) -->  3.0
        Internally,  3.1415926892827376  -->  3.14159  automatically truncated
     
  2. The deletion or omission of a leading or a trailing portion of a string in accordance with specified criteria.
        In Java,   String.trim()  removes leading and trailing spaces.

truth table

 HL icon

A table that describes a logic function by listing all possible combinations of input values and indicating the output value for each combination.

     A      B       A xor B       A and B      (A xor B) or (A and B)
     0        0              0                0                               0
     0        1              1                0                               1
     1        0              1                0                               1
     1        1              0                1                               1

    By looking at the last column, we see that

         (A xor B) or (A and B)  ==  A or B     (equivalent) 

two’s complement 

 HL icon

A method of representing negative numbers in the binary system.

    01010011 -->  64 + 16 + 2 + 1 = 83
    10101100 -->  -128 + 32 + 8 + 4  = -84
    10101101 -->  -83

    The "two's complement" of a number is formed by switching all the 0's to 1's
    and all the 1's to 0's, and then adding 1 .   This creates the negative of the
    original number.  The entire system is called "Two's Complement Notation"
 

unary operator

 

 HL icon

An operator requiring only one operand to give a single result; for example, negation (overbar for a Boolean expression). See also the definition for “binary operator”.
    c++ ;  - 6 ;  ! a

unbalanced tree

 HL icon

A tree in which the right and left subtrees have heights differing by more than one. See also the definition for “balanced tree”.
    See balanced tree

underflow

 HL icon

The generation of a result whose value is too small for the range of the number representation being used. See also the definition for “overflow”.
    0.00000000000000000000000000000000000000000000000000001
    Actually, the limit is  e-300, which has 300 zeroes!
 

Unicode

 

A standardized 16-bit character set that represents the character sets of most major languages in the world. See also the definition for “ASCII”.
    Unicode supports 65536 characters (2^16)  

user-defined methods  

 

Methods written by the user which are not inherent to the language.
    search(String target);  sort(String[]  data)

user-defined objects  

 

Objects whose members and methods are defined by the user and not inherent in the language.
   see inheritance - the classes Person, Student, Teacher

user interface

 

Hardware, software, or both, that allow a user to interact with and perform operations on a system, program, or device.
    GUI (Graphical User Interface) ,  CLI (Command Line Interface)

utility

 

A program designed to perform an everyday task such as copying data from one storage device to another.
    virus scanner, disk deframenter, file manager

validation (data input)

 

 

The process of checking, with software, that the data input is of the right type and within reasonable limits. See also the definition for “verification (data input)”.
    int age;
    do
    {  age = inputInt("Type your age"); }
    while (age < 1  ||  age > 110);

variable-length records

 HL icon

Records whose length is not determined in advance. Each record is allocated the space that it needs to store the information it holds. See also the definition for “fixed-length record”.
    In a text-file, we can write a separate field on each line, any length we wish:
         Fred Flintstone
         72
          Bedrock

verification (data input)

 

A method of ensuring that the data in the computer system is the same as the original source data. This may be done by double entry. See also the definition for “validation (data input)”.
    When checking out a library book, could verify that the title and Dewey Decimal code
    match correctly, by consulting a database of all the books.

virtual memory

 

The use of secondary memory as if it were primary memory.
    in Windows, a SWAP-FILE on the hard-drive 

virus

 

A program that infects other programs or files by embedding a copy of itself into the target files.
    Melissa, Love Bug and other MACRO viruses
    Executable viruses like Yankee Doodle
    Boot Virus - Pakistani Brain
 

virus checker

 

A utility program that seeks out and eliminates known viruses.
    Mcaffee Antivirus was the first commercial product.

wide area network (WAN)

 

 

A network that provides communication services to a geographic area larger than that served by a local area network or a metropolitan area network, and that may use or provide public communication facilities. See also the definition for “local area network (LAN)”.
    World-Wide-Web, Bank networks connecting automatic teller machines,
        airline reservation system
    NOT our school network which connects two building 500 m apart
        Our network is a LAN, because we own the connecting optical fiber cable
 

word

 

A group of bits that can be addressed, transferred and manipulated as a single unit by the central processing unit.
    Older PCs were 32-bit systems, newer ones contain a 64-bit CPU


xor

 

 HL icon

(Exclusive or gate.) The output is True if the two inputs are different; the output is False if the two inputs are alike.
    0 xor 0 = 0      0 xor 1 = 1     1 xor 1 = 0