abstract data structure
|
|
A way of organizing data and its related
procedures and functions.
Also called Abstract Data Type (ADT)
Queue, Stack, Linked-List, Tree
|
accessor methods
|
|
Methods that do not alter the state or attributes of an
object; their purpose is to return information.
getText() ,
getSize() , etc.
|
accumulator
|
|
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
|
AD converter
|
|
Analogdigital 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)
|
|
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.
|
array
|
|
- An arrangement of data
in one or more dimensions.
- 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
|
|
Element of data contained in an object; as specified
within the objects 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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)
|
|
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
|
clientserver
|
|
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
|
|
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 classs name, its responsibilities and the classes with
which it collaborates on an index card.
|
cylinder
|
|
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 Morgans 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
fully-indexed file
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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)
|
|
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
|
|
- 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
- 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 users 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; }
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
|
|
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
|
|
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
|
|
- The behaviour
or operation of an object.
- 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
|
|
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
|
|
- In the terminology of tree structures,
each position in the tree is called a node.
Tree, Linked-List
- Any device on a computer
network that can be addressed so that it can be contacted by other
computers.
Client, Server, Router
- 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
|
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)
|
|
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
|
packet
|
|
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)
|
|
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"
|
partially-indexed file
|
|
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
|
|
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
|
|
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
|
|
To remove
an item from the
of a stack.
see Stack
|
port
|
|
An access
point for data entry or exit.
Standard HTTP port = 8080, Standard FTP port
= 21
|
postfix notation
|
|
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
|
|
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
|
|
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
|
|
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
|
|
To add an
item to the of
a stack.
See STACK
|
queue
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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:
- risk to hardware
fire, power surge, theft
- risk to software
corruption, deletion, incorrect changes (bad
programming), viruses
- risk to
information.
data-entry errors, deletion, privacy violations
|
seek time
|
|
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
|
|
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
|
|
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
|
|
- A program that provides
services requested by client programs.
Printer server or file server in a LAN
- 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
|
|
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
|
|
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
|
|
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
|
|
A tree that
is part of another tree.
see TREE
|
superclass
|
|
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
|
|
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
|
|
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
|
|
- 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
- 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)
|
twos 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
|
|
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
|
|
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.
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
|
|
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
|
|
(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
|