abstract data structure
abcdefghijklmnopqrstuvwx Top Syl
|
|
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 |
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) |
|
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 object’s class.
window.width() , font.size() |
B
abcdefghijklmnopqrstuvwx Top Syl
|
|
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 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 |
cable
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 |
|
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 |
|
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 |
|
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 |
|
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
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 |
|
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
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 |
|
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 |
gateway
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 |
hacking
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 |
|
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) , 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)
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 |
|
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 |
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 |
keys
abcdefghijklmnopqrstuvwx Top Syl
|
|
- 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
abcdefghijklmnopqrstuvwx Top Syl
|
|
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 |
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; }
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)
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 |
|
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 |
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) |
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. |
nand
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”).
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
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
|
packet
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) |
|
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 |
|
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 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 |
|
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 top of a
stack.
See STACK |
queue
abcdefghijklmnopqrstuvwx Top Syl
|
|
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
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 |
|
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
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 |
|
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 |
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 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 |
|
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)
abcdefghijklmnopqrstuvwx Top Syl
|
|
A
set of communications protocols used to connect hosts on the
Internet.
IP address = 32 bit integer,
written 123.012.101.255
|
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 |
|
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) |
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)
|
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
|
|
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)
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;
do
{ 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 |
xor
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 |