IB Computer Science (SL+HL) - Vocabulary 2006-2013
Dave Mulkey, Frankfurt International School, Jan 2007

 [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 

abcdefghijklmnopqrstuvwx Top Syl 

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


abcdefghijklmnopqrstuvwx Top Syl 

    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
         |                                + --> 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   The way in which an object reacts to the methods applied.
    Usually determined by the METHODS in the object.
BigO notation   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"}
      -->  Mid = (0+4)
/ 2 = 3
      -->  JEEP ?
                  --> CAR is smaller
      -->  Mid = (0+1) div 2 = 0
      --> BIKE ?
                   -->  CAR is bigger
      -->  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 stop 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 topology    A network in which all devices are connected to a common cable, known as the “bus”. See also definitions of “star topology” and “tree topology”.
    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  


abcdefghijklmnopqrstuvwx Top Syl 

  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 topology, coaxial for a Bus topology, 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
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   Desktop 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 top 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) 

abcdefghijklmnopqrstuvwx Top Syl 

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

abcdefghijklmnopqrstuvwx Top Syl 

  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.
+ ", " + FirstName)  is a string expression. 
    ( (age >= 21) and (country.equals("France") ) )  is a Boolean expression.

fibre optic

abcdefghijklmnopqrstuvwx Top Syl 

  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 point   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   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


abcdefghijklmnopqrstuvwx Top Syl 

  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  


abcdefghijklmnopqrstuvwx Top Syl 

  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.
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)
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:
           The <B>Best</B> Film of the Year
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)

abcdefghijklmnopqrstuvwx Top Syl 

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

        output( P.DATA);   

        if  (P.RightChild
!= null)
insertion sort   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
= 1
         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 + 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
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)

abcdefghijklmnopqrstuvwx Top Syl 

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

abcdefghijklmnopqrstuvwx Top Syl 

 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 


abcdefghijklmnopqrstuvwx Top Syl 

  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 
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   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; }
   {    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   A combinational circuit that performs an elementary logic operation and usually involves one output.

magnetic ink character recognition (MICR)

abcdefghijklmnopqrstuvwx Top Syl 

  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

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


abcdefghijklmnopqrstuvwx Top Syl 

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

abcdefghijklmnopqrstuvwx Top Syl 

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


abcdefghijklmnopqrstuvwx Top Syl 

  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   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    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   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   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"
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    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   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 top of a stack.
    see Stack
port   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   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 top of a stack.
    See STACK


abcdefghijklmnopqrstuvwx Top Syl 

 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

abcdefghijklmnopqrstuvwx Top Syl 

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

abcdefghijklmnopqrstuvwx Top Syl 

  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
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   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  
  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.
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   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 top 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 top of the Stack
    Pop()  -->  remove most recent data from the top of the Stack 
    Top -->  pointer to the top of the Stack, usually private
star topology   A network in which each device is connected to a central hub. See also the definitions for “tree topology” and “bus topology”.
    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
structure diagram   A diagram that represents the working relationships between the parts of a system or program.
    Top-down hierarchical chart, data-flow diagram
    NOT a flow-chart, which shows sequences of processing steps
subclass   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
                                                       [ Batch Update ]   <--  Master File
                                                           /                 \
                                              Error Log                \--->    New Data File

TCP/IP (transmission control protocol/Internet protocol)

abcdefghijklmnopqrstuvwx Top Syl 

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


top-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.
                                 /             \
                     (parent)             (leaf)
                      /         \
           (left child)   (right child)
  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   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    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

abcdefghijklmnopqrstuvwx Top Syl 

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

abcdefghijklmnopqrstuvwx Top Syl 

  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;
    {  age = inputInt("Type your age"); }
    while (age < 1  ||  age > 110);
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)

abcdefghijklmnopqrstuvwx Top Syl 

  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


abcdefghijklmnopqrstuvwx Top Syl 

  (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