Grade 10-12 NSC IT

Cram Notes Key Grade 10 – Blue Grade 11 – Green Grade 12 – Red INPUTBOX MATHEMATICAL FUNCTIONS & PROCEDURES Allows user to enter data StringResult := InputBox StrToInt DELPHI BASICS CONCEPTS AND TOOLS (‘Windows caption’, ‘Prompt’, Default value’); Converts string value to integer iN := StrToInt(sNumber); Procedure TForm1.Button1Click(Sender: TObject); DELPHI FILES Var IntToStr Eight files when you save and run the program, main files; sName : string; Converts integer value to string

begin sNumber := IntToStr(iN); Project file (.dpr / .dproj) sName := InputBox (‘Name’, ‘Enter your name’, ‘’); Form file (.dfm) lblName.Caption := sName; StrToFloat Unit file (.pas) end; Converts string value to real

rN := StrToFloat(sNumber); BASIC RULES

Assignment operator := CALCULATIONS USING VARIABLES FloatToStr left side gets, right side gives Converts real value to string

A := sNumber := FloatToStr(rN); VARIABLES

String Text must be place between single quotes ‘ ‘ FloatToStrF Values that are text (Numbers and letters) sText := ‘Hello World’ Converts real value to string with formatting (1 number Abbreviation: (sName) after the decimal for example)

Strings are joined by a + sign sN := FloatToStrF(rN, ffFixed, 15, 1); Integer sText := 'Hello' + 'World' Whole numbers (Numbers with no digits after the decimal Trunc point Input, Processing, Output (IPO) Truncates (cuts) the decimal point Abbreviation: i (iNumber) Trunc(4.5);

Real Val Whole and fractions (Numbers with digits after the decimal Converts string value to integer or real. Also checks for point) errors. Abbreviation: (rAmount) Val(sOriginal, iNum, iError); ERRORS Val(sOriginal, rNum, iError); Syntax Errors: Common mistakes: no semi-colon at the end Char of a line; : = instead of := (no space between : and =) spelling Any single characters (Text, Symbol or Number) Round errors Abbreviation: (cInitial) Rounds real number to the nearest integer Round(4.8); Logical Errors: Errors created by the programmer in Boolean specifying the wrong steps in the program. These errors True or False Roundto cause the program to produce incorrect output. Abbreviation: b (bValid) Rounds to a set power of 10 iH := Roundto(2745,3); Run-Time Errors: Errors that cause the program to abort or Take note; crash prior to its normal expected termination. These - Variables is a place keeper used to store values in Inc include the program not finding a data file it expected or - Variables are declared after the abbreviation “var” Increases value of variable dividing by zero. - Global Variables are declared above implementation at the (You can also do this as: top of the programming code. These variables are valid iNumber := iNumber + 1;) NAMING CONVENTIONS throughout the program. Inc(iNumber) - Local Variables are declared inside the event handler (the Components must be renamed with an abbreviation procedure you create yourself by double clicking on a button Dec indicating the type of component, followed by a descriptive in design mode). You must type in the var as well as the Decreases value of variable name. variables themselves. These variables are only valid within (You can also do this as: Form (frm) this specific event handler or procedure. iNumber := iNumber - 1;) Shape (shp) - Variables with the same data types can be listed after each Dec(iNumber); Button (btn) other separated by a comma: Panel (pnl) Frac Label (lbl) var Provides decimal part of real number Edit (edt) sName, sSurname : String; rK := Frac(3.54); RichEdit (red) iAge, iNumb1, iNumb2 : Integer; Image (img) rAmount : Real; Sqr Groupbox (gbx) Gives square of number typed in Bitmap button (bmb) MATHEMATICAL OPERATORS rK := Sqr(16); Memo (mem) Addition + Radiogroup (rgp) Integer / Real Sqrt Radiobutton (rad) iX := iA + iB; Gives square root of a number Timer (tmr) rK := Sqrt(16); Checkbox (cbx) Subtraction - MaskEdit (med) Integer / Real Power SpinEdit (sed) rX := rA – RB Raises first number to the power of the second number Progress (prb) (134) Page Control (pgc) Multiplication Power(13,4) StatusBar (stb) Integer / Real ListBox (lst) iX := iA * iB; Pi Provides the value of pi (π) Examples Division ÷ rW := rK * Pi; Editbox receiving name – edtName Integer / Real Label displaying a final mark – lblFinal iX := iD / iS; Random Provides a random number within a range of 0 and limit-1. RICHEDIT COMPONENT DIV Randomize; Integer Division iX := Random(100); The RichEdit component can be used for both input as well iX := iA DIV iB; (iX = any number between 0 and 99) as output.

MOD Remember to add the Math unit to the uses section of your Add text to RicheEdit, #9 refers to a Tab (ASCII) Remainder after division / Integer program when using the RoundTo and Power functions. RichEdit1.Lines.Add (‘Text’ + #9 + ‘Text’); iX := iA MOD iB;

Clear RichEdit RichEdit.Clear

Files can also be opened using the LoadFromFile procedure RichEdit1.Lines.LoadFromFile (‘test.rtf’);

RichEdit text can be saved directly into a RTF (RichText Format) using the SaveToFile procedure. RichEdit1.Lines.SaveToFile (‘test.rtf’);

SHOWMESSAGE COMPONENT Small popup window with text ShowMessage (‘This is a showMessage!’); REPEAT LOOP - Conditional Loop MAKING DECISIONS - Post-test Loop – condition will be tested after the loop! HUMAN COMPUTER INTERACTION - Will loop at least once! - Repeats depending on a certain condition(s). IF & CASE STATEMENTS DETERMINING THE FOCUS - No begin.. end needed Basic Structure of an if Statements edtName.Setfocus; - The condition(s) indicate when to stop; not when to go on if then as with the WHILE. begin - ITC DEFENSIVE PROGRAMMING MESSAGE DIALOG BOX - Variables to be tested must be initialised before Provide the user with certain options or warnings and let the end; Execution. user then accept the message or decision.

- Variable must be changed at the end of loop to avoid an Basic Structure of an if..then..Else statement: infinite loop (loop will never stop repeating Message types: if then - Variable is tested at the end of the loop. If the statement - mtWarning begin Is FALSE then the loop will be repeated again. - mtError - mtInformation end Basic structure of the Repeat loop: - mtConfirmation else {If the top condition is not met then…} repeat - mtCustom begin Button types: end; until ; - mbYes

- mbNo Basic Structure of a Nested If statement: - mbCancel If then - mbHelp

begin - mbAbort SIMPLE STRING HANDLING - mbRetry end - mbIgnore else STRING HANDLING - mbAll if then begin sSourceText := ‘The man walks’ There are also groupings such as - mbYesNoCancel end Text variables are usually declared as Strings. A Number of - mbOKCancel else {If the top conditions are not met then…} component properties are also string (text) values. For - mbAbortRetryIgnore begin example Button1.Caption or Edit1.Text Examples end; For example sSourceText can be declared as String under var MessageDlg (‘Invalid Input!’, mtWarning, [mbOK], 0);

Additional logical operators can also be added: AND, OR, Take note that each character in a String variable can be if MessageDlg (‘This is an error’, mtError, [mbOK, mbAbort], NOT (use brackets around conditions) referred to by using an index. The character sSourceText[2] 0) = mrOK then would for instance be ‘’. lblOutput.Caption := ‘User pressed OK’ Example else if (inumber >= 5) and (inumb2 >= 5) then lblOutput.Caption := User pressed Abort; lbloutput.caption := ‘Both numbers are greater than five’ else if MessageDlg (‘Do you want to exit’, mtConfirmation, Lbloutput.caption := ‘None of the numbers are greater than [mbYes, mbNo], 0) = mrYes then Application.Terminate; five’; Even the spaces therefore has index values (see characters 4 {Close form with Form1.Close} and 8 above). Basic Structure of the case statement: - Determine the position of a piece of a text within a string case of IntegerVariable := Pos(StrToBeFound, SourceText); := ; For example: iX := Pos (‘’, sSourceText); := ; {The value of iX is now: 5} := ; else - Display a certain character within a string using square brackets at the end of a variable. end; StringVariable := SourceText[CharacterPosition]; For example: sNewText := sSourceText[2]; {The value of sNewText is now: ‘h’}

- Display a certain section of text within a string. LOOPS (ITERATION) For example: StringVariable := Copy(SourceText, BeginPosition, Length); FOR LOOP sNewText := Copy(sSourceText, 5, 3); - Unconditional Loop – no condition that must be met {The value of sNewText is now: ‘man’} - Repeat instructions for a set number of times. - Uses a counter (must be ordinal: integer or char) - Insert a certain section of text within a string. - Users a start and ending value that determines repetitions For example: Insert(InsertText, SourceText, Position); - Can count/move up (.. 1 TO 10) or down (10 DOWNTO 1) Insert(‘big ’, sSourceText, 5); {The value of sSourceText is now: ‘The big man walks’} Basic Structure of a for loop: for := to do - Remove a certain section of text within a string. begin For example: Delete(SourceText, Position, Length); Delete(sSourceText, 5, 4); end; {The value of sSourceText is now: ‘The walks’}

WHILE LOOP - Determine the length of a string. - Conditional Loop For example: IntegerVariable := Length(SourceText); - Pre-test Loop – condition will be tested before it loops! iX := Length(sSourceText); - Might not loop at all if condition is FALSE {The value of iX is now: 13} - Repeats depending on a certain condition(s). - Repeats while the condition is TRUE - Change the whole string to lowercase. - No semi-colon after do For example: LowerCase(SourceText); - ITC (Initialise, Test, Change): LowerCase(sSourceText); - Variable tested at beginning of loop must have an initial {The value of sSourceText is now: ‘the man walks’} value - Variable is tested at the beginning of loop - Change the whole string to uppercase. - Variable must change in order for loop to stop For example: UpperCase(SourceText); UpperCase(sSourceText); Basic structure of the While loop: {The value of sSourceText is now: ‘THE MAN WALKS’} while do Take note: Use UpCase for Char type. Begin end;

BINARY SEARCH IN AN ARRAY

TEXT FILES ARRAYS & STRINGGRID procedure TfrmArrays.btnBinarySearchClick (Sender: TObject); ARRAYS (ONE DIMENSIONAL) var iForCount : Integer; a File is a data structure that can be stored permanently on a var iSearch, iLowBound, iUpBound, iMiddle, secondary storage medium. frmArrays: TfrmArrays; iPosition : Integer; arrNumbers : Array[1..100] of Integer; bFound : Boolean; A data structure… iCount : Integer; begin - is a set of related data items; bFound := false; - saved with one name; LOAD NUMBERS FROM A TEXT FILE INTO AN ARRAY iLowBound := 1; - and organised in such a way that the individual data items procedure TfrmArrays.btnLoadClick(Sender: TObject); iUpBound := iCount; can be accessed. var iPosition := 0; fTFile : TextFile; iSearch := StrToInt(edtFind.Text); A text file contains only ASCII (American Standard Code of sTemp : String; While (iLowBound <= iUpBound) AND (bFound = False) do Information Interchange) characters and therefore no begin begin formatting or graphics. iCount := 0; iMiddle := (iLowBound + iUpBound) DIV 2; AssignFile(fTFile, 'numbers.txt'); if iSearch = arrNumbers[iMiddle] then Created text files to be used in Delphi can be created in Reset(fTFile); begin Delphi (File > New > Text), in Notepad or in MS Word While not eof(fTFile) do iPosition := iMiddle; (remember to select ‘Plan text (*.txt)’ when saving). Most begin bFound := True; often, the extension TXT is used to indicate that it is a text iCount := iCount + 1; end file but you could use an extension DAT or any other Readln(fTFile,sTemp); else available one for your programs. arrNumbers[iCount] := StrToInt(sTemp); if iSearch > arrNumbers[iMiddle] then end; iLowBound := iMiddle + 1 Example CloseFile(fTFile); else end; iUpBound := iMiddle - 1; Use a RichEdit and two buttons (one to save and one to end; open with); REMOVE NUMBERS THAT REPEAT IN AN ARRAY if bFound = True then

procedure TfrmArrays.btnRemoveRepeatsClick (Sender: begin Procedures used; TObject); ShowMessage('Number found at: ' + IntToStr(iPosition)); - AssignFile – assigns file name to file variable var end - Reset – Set focus to start of file; file read to be read iOutBound, iInBound, iReplace : Integer; else - ReadIn – Reads line of file and stored it in a string variable begin begin - CloseFile – closes file for reading or writing for iOutBound := 1 to iCount-1 do ShowMessage('Number not found'); - Append – opens up already created file and places focus at begin end The end of the file to add new text for iInBound := iOutBound+1 to iCount do end; - Rewrite – creates new file and sets focus to start of file begin

if arrNumbers[iOutBound] = ARRAYS – SELECTION SORT The RESET, APPEND, REWRITE and CLOSEFILE procedures are arrNumbers[iInBound] then essential because files need to be OPENED before use and begin Procedure TfrmArrays.btnSelectionSortClick (Sender: CLOSED after use for iReplace := iOutBound to iCount do TObject); begin var procedure TForm1.Button1Click(Sender: TObject); arrNumbers[iReplace] := iCountOut, iCountComp, iTemp : integer; var arrNumbers[iReplace+1]; begin myfile : TextFile; end; for iCountOut := 1 to iCount DO soneline : String; arrNumbers[iCount] := 0; begin iCount : integer; iCount := iCount - 1; for iCountComp := iCountOut to iCount DO end; begin begin end; if arrNumbers[iCountOut] > AssignFile(myfile, 'c:\test.txt'); end; arrNumbers[iCountComp] then if FileExists('c:\test.txt') <> true then end; begin Rewrite(myfile) iTemp := arrNumbers[iCountOut]; else SHOW NUMBERS FROM AN ARRAY IN A LISTBOX Append(myfile); arrNumbers[iCountOut] := procedure TfrmArrays.btnShowArrayClick(Sender: TObject); for iCount := - to RichEdit1.Lines.Count-1 do arrNumbers[iCountComp]; var begin arrNumbers[iCountComp] := iTemp; iForCount : Integer; soneline := RichEdit1.Lines[iCount]; end; begin WriteIn(myfile, soneline); end; ListBox1.Clear; end; end; for iForCount := 1 to iCount do CloseFile(myfile); end; begin end; ListBox1.Items.Add(IntToStr (arrNumbers[iForCount])) ARRAYS – BUBBLE SORT end; procedure TForm1.Button2Click(Sender: TObject); end; var procedure TfrmArrays.btnBubbleSortClick(Sender:

myfile : TextFile; TObject); FIND NUMBER (ITEM) IN AN ARRAY soneline : String; var procedure TfrmArrays.btnFindClick(Sender: TObject); iTemp, iCounter : Integer; var begin bSwap : boolean; iForCount : Integer; if FileExists('c:\text.txt') <> true then begin iSearch : Integer; begin Repeat begin Showmessage('File does not exist'); bSwap := true; iSearch := StrToInt(edtFind.Text); Exit; For iCounter := 1 to iCount - 1 do FOR iForCount := 1 to iCount do end; begin begin AssignFile(myfile, 'c:\test.txt'); if arrNumbers[iCounter] > if iSearch = arrNumbers[iForCount] then Reset(myfile); arrNumbers[iCounter+1] then begin While not eof(myfile) do begin ShowMessage('Number found at: ' + begin iTemp := arrNumbers[iCounter]; IntToStr(iForCount)); ReadIn(myfile, soneline); arrNumbers[iCounter] := arrNumbers[iCounter+1]; Exit; RichEdit1.Lines.Add(soneline); arrNumbers[iCounter+1] := iTemp; end; end; bSwap := false; end; CloseFile(myfile); end; end; end; end; until bSwap = true; end;

procedure TForm1.Button1Click var METHOD AND SUBROUTINES (SUBPROGRAMS) inumb1, inum2, ians : integer; DYNAMIC OBJECTS

begin ADVANTAGES inum1 := strtoint(edit1.text); - Allows us to break the program into smaller units > easier inum2 := strtoint(edit2.text); When a component is created during run-time of an To understand and work with Add(inum1, inum2, ians); application, it is called dynamic instantiation of an object. - Avoids repetition Label1.Caption := inttostr(ians); - Splits the program into a number of smaller independent end; Example modules - Reusable Code procedure TForm1.Add(inum1, inum2 : integer; ians : type - Facilitates easier and less time-consuming debugging integer); TFrmPicture = class(TForm) begin btnShow: TButton; ians := inum1 + inum2; btnDestroy: TButton; PROCEDURES procedure btnShowClick(Sender: TObject); end; Four main concepts: procedure btnDestroyClick(Sender: TObject); - Input TAKE NOTE: private - Call - Reference Parameter { Private declerations } - Process - Button Procedure > Input, Call and Output MyPanel: TPanel; - Output - Add Procedure > Process ONLY MyImage: TImage;

- Value of ians is sent back to the button procedure and the MyLabel: TLabel; These tasks take place in different sections depending on the Answer is then displayed public type of parameter and procedure used. { Public declerations }

procedure TForm1.Button1Click end; Procedures make use of parameters (variables that are in begin brackets behind the procedure heading) which sends values Add; var from one procedure to another. end; frmPicture: TformPicture;

There are two types of parameters: value and reference Procedure TForm1.Add implementation

var {$R*.dfm} Value parameter: are used to supply an input to the inum1, inum2, ians : integer; procedure and NO value is returned to the calling procedure Begin procedure TFrmPicture.btnShowClick(Sender: TObject); Reference parameter: returns a value back to the calling inum1 := strtoint(edit1.text); begin procedure inum2 := strtoint(edit2.text); MyPanel := TPanel.Create(frmPicture);

ians := inum1 + inum2; MyLabel := TLabel.Create(MyPanel); Example of procedure headings: Label1.Caption := inttostr(ians); MyImage := TImage.Create(MyPanel);

end; procedure TForm1.add; > In procedure Add Input, Process with MyPanel do and Output will take place TAKE NOTE: begin

- No Parameters Parent := frmPicture; procedure TForm1.Add(inum1, inum2 : integer); > In - Button Procedure > Call left := 20; // Left of parent (frmPicture) procedure Add Process and Output will take place - Add Procedure > Input, Process and Output Top := 100; // Top of parent (frmPicture)

- Usually use a procedure like this when you are sorting an Width := 350; Procedure TForm1.Add(inum1, inum2; var ians : integer); > Array because the array is normally declared globally Height := 350; In procedure Add Process will take place Caption := ''; TabOrder := 0; HOW TO WRITE YOUR OWN PROCEDURE FUNCTIONS Color := clBlack; 1. Type the procedure heading and if it is using any - a Function returns a single value end; parameters include them. - CALL STATEMENTS: with MyImage do 2. Copy the procedure heading and paste it under public 1. If statement begin 3. Add the TForm1 > if you are making use of components - If Add (inum1, inum2) >= 10 then Parent := MyPanel; on Form1 then you have to add in the class TForm1 so 2. Assignment statement Left := 50; // Left of parent MyPanel that Delphi can locate the components eg label1, edit1 - ians := Add(inum1, inum2); Top := 50; // Top of parent MyPanel ect. - The answer of the processing must be assigned to either Width := 250; 4. Add the necessary code to the procedure. (You have to The function name or to the RESULT Height := 260; type the begin and end;) Picture.LoadFromFile('Flower.jpg'); 5. Remember to add in a call statement in the procedure function TForm1.Add(inum1, inum2 :integer) : integer; Stretch := True; that is going to call your procedure begin end; 6. Parameters must be of the same data type to avoid data add := inum1 + inum2; PROCESS with MyLabel do type mismatch end; begin Parent := MyPanel; Examples Procedure TForm1.Button1Click Left := 120; // Left of parent MyPanel var Top := 10; // Top of parent MyPanel procedure TForm1.Button1Click inum1, inum2, ians : integer; DATATYPE OF ADD Width := 30; var begin Height := 20; inum1, inum2 : integer; inum1 := strtoint(edit1.text); INPUT Caption := 'The flower'; inum2 := strtoint(edit2.text); Font.Style := [fsBold, fsUnderline]; begin Label1.Caption := inttostr(add(inum1, inum2)); Font.Color := clWhite; inum1 := strtoint(edit1.text); CALL+OUTPUT end; inum2 := strtoint(edit2.text); end; end; Add(inum1, inum2); end; TAKE NOTE: procedure TFrmPicture.btnDestroyClick(Sender: TObject); - Function must be typed above the calling procedure begin Procedure TForm1.Add(inum1, inum2 : integer); - No need to type function header under public MyPanel.Free var - Last line in function must be assigning answer either to MyPanel := nil; ians : integer; function name or to result (do not need to declare result) end; begin ians := inum1 + inum2; end. Label1.Caption := inttostr(ians); end;

TAKE NOTE: - Value Parameters - Button Procedure > Input and Call - Add Procedure > Process and Output

3.4 Add a record from a ComboBox: DELETE RECORD MEETING SEARCH CRITERIA procedure TForm1.Button1Click(Sender: TObject); DATABASES – ADO TABLES procedure TForm1.Button1Click(Sender: TObject); begin begin ADOTable1.First; ADOTable1.Append; while not ADOTable1.Eof do SET UP ADO TABLE ADOTable1['Team'] := begin 1.1 Create database file in MS Access ComboBox1.Items[ComboBox1.ItemIndex]; if ADOTable1['Name'] = Edit1.Text then 1.2 In Delphi: choose ADOTable under the ADO menu ADOTable1.Post; begin on the component palette end; ADOTable1.Delete; 1.3 Change settings in the Object Inspector: set the Exit; Connection String settings by clicking on the ellipse OR (if the contents of the ComboBox should not end 1.4 Click on Build… be transferred as it is to the database) else 1.5 Choose: Microsoft Jet 4.0 OLE DB Provider ADOTable1.Next; 1.6 Click Next >> procedure TForm1.Button1Click(Sender: TObject); end; 1.7 Select database file (mdb file) begin end; 1.8 Erase user name (‘Admin’) ADOTable1.Append; 1.9 Make sure 'Blank Password' is selected Case ComboBox1.ItemIndex of DELETE RECORD CURRENTLY IN FOCUS 1.10 Click OK (on 'Data Link Properties' window) 0 : ADOTable1['Grade'] := '10'; Click on record then click on Button1: 1.11 Click OK (on 'ConnectionString' window) 1 : ADOTable1['Grade'] := '11'; 1.12 Click on ADOTable component: choose Table 2 : ADOTable1['Grade'] := '12'; procedure TForm1.Button3Click(Sender: TObject); name for ADOTable end; begin 1.13 Set ADOTable Active to TRUE ADOTable1.Post; ADOTable1.Delete; 1.14 Add DataSource (link to table) end; end; 1.15 Add DBGrid and DBNavigator (found under ‘Data

Controls’; link to table) 3.5 Add a record from a DBLookupComboBox FILTER RESULTS 3.5.1 Set up DBLookupComboBox by choosing the 9.1 Filter according to exact search criteria (e.g. Name = Datasource to be used in ListSource SET UP ADO CONNECTION 'John'): 3.5.2 Choose the field to be listed in ListField (To be used with Tables or Queries) 3.5.3 Choose a field as keyfield in KeyField 2.1. Create database file in MS Access procedure TForm1.Button3Click(Sender: TObject); 3.5.4 When choosing a value the focus is placed on that 2.2. In Delphi: choose ADOConnection under the ADO begin particular record in the table used and any field can menu on the component palette ADOTable1.Filter := 'Name = ' + '''' + be used from that record, for example: 2.3. Change settings in the Object Inspector: set the Edit1.Text + '''';

Connection String settings by clicking on the ellipse ADOTable1.Filtered := True; procedure TForm1.Button1Click(Sender: TObject); 2.4. Click on Build… end; begin 2.5. Choose: Microsoft Jet 4.0 OLE DB Provider ADOTable1.Append; 2.6. Click Next >> 9.2 Filter according to similar search criteria (e.g. Name ADOTable1['Name'] := ADOTable2['Name']; 2.7. Select database file (mdb file) LIKE 'Jo%'): ADOTable1.Post; 2.8. Erase user name (‘Admin’) end; 2.9. Make sure 'Blank Password' is selected procedure TForm1.Button3Click(Sender: TObject);

2.10. Click OK (on 'Data Link Properties' window) begin 2.11. Click OK (on 'ConnectionString' window) SEARCH FOR A RECORD IN A TABLE ADOTable1.Filter := 'Name LIKE ' + ''''+ Edit1.Text +'%'''; 2.12. Click on the ADOConnection and go to the Object procedure TForm1.Button1Click(Sender: TObject); ADOTable1.Filtered := True; Inspector begin end; 2.13. Set Login Prompt to false ADOTable1.First; 9.3 Filter according to number value: 2.14. Set Connected to true while not ADOTable1.Eof do

2.15. On ADOTable or ADOQuery choose this begin procedure TForm1.Button3Click(Sender: TObject); ADOconnection in the Connection property in the if ADOTable1['Name'] = Edit1.Text then begin Object Inspector begin ShowMessage('This record is present'); ADOTable1.Filter := 'Amount > ' + Edit1.Text; Exit; ADOTable1.Filtered := True; ADD RECORD TO TABLE USING CODING end end; 3.1 A new record can be added using set data: else procedure TForm1.Button1Click(Sender: TObject); ADOTable1.Next; DELETE ALL RECORDS begin end; procedure TForm1.Button3Click(Sender: TObject); ADOTable1.Append; end; begin ADOTable1['Name'] := 'John'; ADOTable1.First; ADOTable1['Surname'] := 'Doe'; SEARCH AND REPLACE FIELDS WITH SET DATA while not ADOTable1.Eof do ADOTable1.Post; procedure TForm1.Button2Click(Sender: TObject); begin end; begin if ADOTable1['Name'] <> '' then ADOTable1.First; ADOTable1.Delete 3.2 A new record can be added from an EditBox: while not ADOTable1.Eof do else procedure TForm1.Button1Click(Sender: TObject); begin ADOTable1.Next; begin if ADOTable1['Name'] = Edit1.Text then end; ADOTable1.Append; begin end; ADOTable1['Name'] := Edit1.Text; ADOTable1.Edit; ADOTable1['Surname'] := Edit2.Text; ADOTable1['Name'] := Edit2.Text; COUNT RECORDS ADOTable1.Post; end; procedure TForm1.Button3Click(Sender:TObject); Edit1.Clear; ADOTable1.Next; var Edit2.Clear; end; iCount : Integer; end; end; begin 3.3 Add a record from from SpinEdit: iCount := 0; DO A CALCULATION IN A FIELD USING DATA FROM ADOTable1.First; procedure TForm1.Button1Click(Sender: TObject); EXISTING FIELDS while not ADOTable1.Eof do begin procedure TForm1.Button1Click(Sender: TObject); begin ADOTable1.Append; begin if ADOTable1['Name'] <> '' then ADOTable1['Grade'] := SpinEdit1.Value; ADOTable1.First; iCount := iCount + 1; ADOTable1.Post; while not ADOTable1.Eof do ADOTable1.Next; end; begin end; 3.4 Add a record from RadioGroup: ADOTable1.Edit; Label1.Caption := IntToStr(iCount); ADOTable1['Total'] := end; procedure TForm1.Button1Click(Sender: TObject); ADOTable1['Unit'] * begin ADOTable1['Amount']; ADOTable1.Append; ADOTable1.Next; ADOTable1['Class'] := end; RadioGroup1.Items[RadioGroup1.ItemIndex]; end; ADOTable1.Post; end;

When using the RadioGroup, take note: - Add the entries using the Items property - The first item’s index is 0 - RadioGroup1.ItemIndex refers to the selected item

CLASS UNIT var unit SingU; Form1: TForm1; OBJECT ORIENTED PROGRAMMING (OOP) interface arrClasses : array[1..10] of TSingClass; {Array of objects} iCount : Integer; {Count number of objects}

uses SysUtils; {Add when using IntToStr for example} implementation Object Oriented Programming uses objects (self-contained type modules) to solve problems. A class can be created in a TSingClass = class(TObject) {$R *.dfm} separate unit. private TYPICAL COURSE OF ACTION fClass : String; procedure TForm1.Button1Click(Sender: TObject); 1.1 Open Delphi; save main program fJudge1 : Integer; var 1.2 Create a new unit (class unit) fJudge2 : Integer; fFile : TextFile; 1.3 Save the unit (use this name as reference in main fJudge3 : Integer; sTemp, sClassI : String; program) fAverage : Integer; iJudge1I, iJudge2I, iJudge3I : Integer; 1.4 Do the following in the class unit: public begin 1.5 Type in the word ‘Interface’ constructor Create(sClass : String; AssignFile(fFile,'oopdata.dat'); {Open text file} 1.6 Add a uses statement – depends on what is needed, iJudge1,iJudge2,iJudge3 : Integer); Reset(fFile); but to be safe use: uses SysUtils, Dialogs, Math; procedure setJudge(iChoice, iMark : Integer); While not eof(fFile) do 1.7 Add type section: type TClassName = class (TObject) function getClass : String; begin 1.8 Add properties (declare them in the same way as function getOutput : String; Readln(fFile,sTemp); variables) – possibly under private procedure calculateAverage; inc(iCount); 1.9 Add a constructor (to create object) – possibly under end; sClassI := copy(sTemp,1,pos(',',sTemp)-1); public {Separate data fields; commas out} 1.10 Add methods (functions and procedures) – possibly implementation Delete(sTemp,1,pos(',',sTemp)); under public iJudge1I := StrToInt(copy(sTemp,1,pos(',',sTemp)-1)); 1.11 Add the word end; { TSingClass } Delete(sTemp,1,pos(',',sTemp)); 1.12 Standing between the type and end (mentioned iJudge2I := StrToInt (copy(sTemp,1,pos(',',sTemp)-1)); above) press Ctrl+Shift+C procedure TSingClass.calculateAverage; Delete(sTemp,1,pos(',',sTemp));iJudge3I := 1.13 Add coding for the methods begin StrToInt(sTemp); 1.14 Add class unit name in uses section of main program fAverage := (fJudge1+fJudge2+fJudge3) DIV 3; arrClasses[iCount] := TSingClass.Create 1.15 Add declaration of array of objects in the var section {Calculate integer average} (sClassI,iJudge1I,iJudge2I,iJudge3I); above implementation end; end; 1.16 Add a counter in the var section above Closefile(fFile); implementation constructor TSingClass.Create(sClass: String; end; 1.17 Add button (or use FormActivate) to retrieve data iJudge1, iJudge2, iJudge3: Integer); from a text file and create the objects begin procedure TForm1.FormCreate(Sender: TObject); 1.18 Invoke methods to add/edit (set) objects fClass := sClass; {Assign values from text files} begin 1.19 Invoke methods to get information and display it in a fJudge1 := iJudge1; iCount := 0; {Number of objects to zero} RichEdit for example fJudge2 := iJudge2; end; fJudge3 := iJudge3; OOP EXAMPLE end; procedure TForm1.Button2Click(Sender: TObject); Create a program that uses OOP to simulate a var competition between school class sections function TSingClass.getClass: String; iForCount : Integer; begin begin getClass := fClass; {Return class name} for iForCount := 1 to iCount do {Calculate averages for all end; objects} begin function TSingClass.getOutput: String; {Output with tabs} arrClasses[iForCount].calculateAverage; begin end; getOutput := fClass + #9 + IntToStr(fJudge1) + #9 + end; - Create a program that uses OOP techniques. Use the IntToStr(fJudge2) + #9 + IntToStr(fJudge3) + #9 + datafile (oopdata.dat) to populate an array of objects. IntToStr(fAverage); procedure TForm1.Button4Click(Sender: TObject); The object must be constructed with a parameterized end; var constructor. Add SysUtils to allow calculations and iForCount : Integer; conversions in your program. procedure TSingClass.setJudge(iChoice, iMark: Integer); sTemp : String; begin begin - Create the object unit that includes the following private if iChoice = 1 then {Change values} RichEdit1.Clear; fields: fJudge1 := iMark; RichEdit1.Paragraph.TabCount := 4; {For TABS used} if iChoice = 2 then RichEdit1.Paragraph.Tab[0] := 70; fClass : String; fJudge2 := iMark; {First tab in points from left margin} fJudge1 : Integer; if iChoice = 3 then RichEdit1.Paragraph.Tab[1] := 110; fJudge2 : Integer; fJudge3 := iMark; RichEdit1.Paragraph.Tab[2] := 160; fJudge3 : Integer; end; RichEdit1.Paragraph.Tab[3] := 210; fAverage : Integer; end. RichEdit1.Lines.Add('Class' + #9 + 'J1' + #9 + 'J2' + #9 + 'J3' + #9 + 'Average'); - Add the following methods: MAIN UNIT for iForCount := 1 to iCount do constructor Create(sClass : String; iJudge1,iJudge2,iJudge3 unit Unit1; begin : Integer); sTemp := arrClasses[iForCount].getOutput; Get values from text file interface RichEdit1.Lines.Add(sTemp) procedure setJudge(iChoice, iMark : Integer); end; Change value of certain class per Judge uses end; function getClass : String; Windows, Messages, SysUtils, Variants, Classes, Graphics, Return class name (e.g. 8A2) Controls, Forms, Dialogs, StdCtrls, ComCtrls, SingU, Spin, procedure TForm1.Button3Click(Sender: TObject); function getOutput : String; ExtCtrls; {Add object unit name} var Return the output as shown in the RichEdit above iForCount,iJudge,iNewMark : Integer; procedure calculateAverage; type sClassName : String; Calculate the average (fAverage) from fJudge1, fJudge2, TForm1 = class(TForm) begin fJudge3 – remember they are all whole numbers. Button1: TButton; sClassName := Edit1.Text; {Class name} RichEdit1: TRichEdit; iJudge := RadioGroup1.ItemIndex+1; {Add one because - Design a user interface (main unit) that allows to load Button2: TButton; index start at 0} the data from the textfile (oopdata.dat) into an array of Button3: TButton; iNewMark := SpinEdit1.Value; {New mark allocated by objects (arrClasses). Use the [Load data] button for this Button4: TButton; judge} purpose. RadioGroup1: TRadioGroup; for iForCount := 1 to iCount do Edit1: TEdit; begin - Use the [Get Average] button to invoke the SpinEdit1: TSpinEdit; if arrClasses[iForCount].getClass = sClassName then ‘calculateAverage’ method for all the objects in the array. procedure Button1Click(Sender: TObject); arrClasses[iForCount].setJudge(iJudge,iNewMark); procedure FormCreate(Sender: TObject); end; - Use the [Show All] button and use the getOutput method procedure Button2Click(Sender: TObject); end; to display all the objects in the RichEdit. Set adequate procedure Button4Click(Sender: TObject); end. tabs. procedure Button3Click(Sender: TObject); private - Use the [Set] button to change the score of the class { Private declarations } specified in the Edit box for the Judge specified in the public Radiogroup. Use the getClass method to find the class { Public declarations } and invoke setJudge to change the value. end;

SET ALL VALUES IN A STRINGGRID TO 0 LOOK FOR VALUE IN STRINGGRID procedure TfrmStringGrid.btnSetAllOClick (Sender: TObject); procedure TfrmStringGrid.btnFindClick(Sender: TWO DIMENSIONAL ARRAYS / STRINGGRID var TObject); iRow, iCol : Integer; var begin sFind : String; var For iCol := 0 to 9 do iCol, iRow : Integer; frmStringGrid: TfrmStringGrid; begin begin for iRow := 0 to 9 do sFind := edtFind.Text; arrSeats : array[0..9,0..9] of String; begin For iCol := 1 to 3 do sgdNames.Cells[iCol,iRow] := ''; begin LOAD TEXT FILE INTO 2D ARRAY end; for iRow := 1 to 5 do procedure TfrmStringGrid.btnLoadSeatsClick (Sender: end; begin TObject); end; if sgdSales.Cells[iCol,iRow] = sFind then var SAVE DATA FROM A STRINGGRID IN A TEXT FILE begin fFile : TextFile; procedure TfrmStringGrid.btnSaveNamesClick (Sender: Showmessage('Found at coordinates: sLine : String; TObject); Column ' + IntToStr(iCol) + '; Row ' + iRow, iCol : Integer; var IntToStr(iRow)); begin fFile : TextFile; end; iRow := 0; sLine : String; end; AssignFile(fFile, 'data.txt'); iRow, iCol : Integer; end; Reset(fFile); begin end; While NOT eof(fFile) DO iRow := 0; begin AssignFile(fFile, 'data.txt'); MOVING ITEMS AROUND IN A STRINGGRID - RESET Readln(fFile, sLine); Rewrite(fFile); procedure TfrmStringGrid.btnResetClick(Sender: For iCol := 0 to 9 do For iRow := 0 to 9 do TObject); begin begin begin arrSeats[iCol, iRow] := sLine[iCol+1]; sLine := ''; For iPosCol := 0 to 9 do end; For iCol := 0 to 9 do begin iRow := iRow + 1; begin For iPosRow := 0 to 9 do end; sLine := sLine + sgdNames.Cells[iCol, iRow]; begin CloseFile(fFile); end; sgdMoveArea.Cells[iPosCol,iPosRow] := ''; end; Writeln(fFile, sLine); end; end; end; LOAD 2D ARRAY INTO STRINGGRID CloseFile(fFile); iPosCol := 0; procedure TfrmStringGrid.btnDisplayArrayClick (Sender: end; iPosRow := 0; TObject); COUNT AND IN A STRINGGRID sgdMoveArea.Cells[iPosCol,iPosRow] := 'X'; var procedure TfrmStringGrid.btnCountClick(Sender: TObject); end; iRow, iCol : Integer; var begin iRow, iCol, iCountX, iCountO : Integer; MOVE UP For iCol := 0 to 9 do begin procedure TfrmStringGrid.btnUpClick(Sender: TObject); begin iCountX := 0; begin for iRow := 0 to 9 do iCountO := 0; sgdMoveArea.Cells[iPosCol,iPosRow] := ''; begin For iCol := 0 to 9 do iPosRow := iPosRow - 1; sgdNames.Cells[iCol,iRow] := arrSeats[iCol,iRow]; begin sgdMoveArea.Cells[iPosCol,iPosRow] := 'X'; end; for iRow := 0 to 9 do end; end; begin end; if sgdNames.Cells[iCol,iRow] = 'X' then MOVE DOWN iCountX := iCountX + 1 procedure TfrmStringGrid.btnDownClick(Sender: TObject); LOAD TEXT FILE (COMMA DELIMITED) INTO A else begin STRINGGRID if sgdNames.Cells[iCol,iRow] = 'O' then sgdMoveArea.Cells[iPosCol,iPosRow] := ''; procedure TfrmStringGrid.btnLoadSalesClick(Sender: iCountO := iCountO + 1 iPosRow := iPosRow + 1; TObject); end; sgdMoveArea.Cells[iPosCol,iPosRow] := 'X'; var end; end; fFile : TextFile; lblTotalX.Caption := 'Total Xs: ' + sLine, sTemp : String; IntToStr(iCountX); MOVE LEFT iRow : Integer; lblTotalO.Caption := 'Total Os: ' + procedure TfrmStringGrid.btnLeftClick(Sender: TObject); begin IntToStr(iCountO); begin iRow := 0; end; sgdMoveArea.Cells[iPosCol,iPosRow] := ''; AssignFile(fFile, 'comma.txt'); iPosCol := iPosCol - 1; Reset(fFile); CHANGE VALUES OF STRINGGRID ACCORDING TO sgdMoveArea.Cells[iPosCol,iPosRow] := 'X'; While NOT eof(fFile) DO COORDINATES FROM SPINEDITS end; begin procedure TfrmStringGrid.bntChangeClick(Sender: TObject); Readln(fFile, sLine); var MOVE RIGHT sTemp := copy(sLine, 1, Pos(',',sLine)-1); iCol, iRow : Integer; procedure TfrmStringGrid.btnRightClick(Sender: Delete(sLine,1,Pos(',',sLine)); begin TObject); sgdSales.Cells[0, iRow] := sTemp; iCol := sedColumn.Value; begin iRow := sedRow.Value; sgdMoveArea.Cells[iPosCol,iPosRow] := ''; sTemp := copy(sLine, 1, Pos(',',sLine)-1); if sgdNames.Cells[iCol, iRow] = 'X' then iPosCol := iPosCol + 1; Delete(sLine,1,Pos(',',sLine)); begin sgdMoveArea.Cells[iPosCol,iPosRow] := 'X'; sgdSales.Cells[1, iRow] := sTemp; sgdNames.Cells[iCol, iRow] := 'O'; end; end sTemp := copy(sLine, 1, Pos(',',sLine)-1); else Delete(sLine,1,Pos(',',sLine)); sgdNames.Cells[iCol, iRow] := 'X'; sgdSales.Cells[2, iRow] := sTemp; end;

sgdSales.Cells[3, iRow] := sLine; GET TOTALS OF COLUMNS IN A STRINGGRID procedure TfrmStringGrid.btnGetTotalClick (Sender: iRow := iRow + 1; TObject); end; var CloseFile(fFile); rTotal : Real; end; iRow, iCol : Integer;

begin CLEAR A STRINGGRID sgdSales.Cells[0,5] := 'TOTAL'; procedure TfrmStringGrid.btnClearGridClick(Sender: For iCol := 1 to 3 do TObject); begin var rTotal := 0; iRow, iCol : Integer; for iRow := 1 to 4 do begin begin For iCol := 0 to 9 do rTotal := rTotal + begin StrToFloat(sgdSales.Cells[iCol,iRow]); for iRow := 0 to 9 do end; begin sgdSales.Cells[iCol,5] := FloatToStr(rTotal); sgdNames.Cells[iCol,iRow] := ''; end; end; end; end; end; FILTER ACCORDING TO INPUT FROM AN EDIT BOX DATE procedure TForm1.Button3Click(Sender: TObject); Year returns year from a date field, Month returns year DATABASES – SQL QUERIES begin from a date field, Day returns year from a date field with ADOQuery1 do begin Example: SETUP A QUERY SQL.Clear; Select Name, Day(DateBorn) AS DayBorn 1.1 Create database file in MS Access SQL.Add('SELECT *'); FROM tblResults; 1.2 In Delphi: choose ADOQuery under the SQL.Add('FROM tblTableName'); ADO menu on the component palette SQL.Add('WHERE NAME = ''' + Edit1.Text + ''''); Date() returns current date 1.3 Change settings in Object Inspector: set Open; Select Name, Date() AS CurrentDate Connection String settings by clicking on the end; FROM tblResults; ellipse end; 1.4 Click on Build… DateValue converts a String value to a date 1.5 Choose: Microsoft Jet 4.0 OLE DB DELETE A RECORD Select * FROM tblResults Provider procedure TForm1.Button3Click(Sender: TObject); WHERE DateBorn > DateValue(''' + 1.6 Click Next >> begin Edit1.Text + '''); 1.7 Select database file (mdb file) with ADOQuery1 do 1.8 Erase user name (‘Admin’) begin Returns records where the date of birth is later than 1.9 Make sure 'Blank Password' is selected Active := False; the value typed into Edit1. 1.10 Click OK (on 'Data Link Properties' window) SQL.Clear; 1.11 Click OK (on 'ConnectionString' window) SQL.Add('DELETE FROM tblTableName WHERE Name = 1.12 Set Query in Object Inspector LINKING TABLES '''+ Edit1.Text+''''); - Click on ellipse next to (TStrings) for SQL Show all (or selected) fields from two different ExecSQL; property of the ADOQuery tables with a common field end; - Type in SQL code (see below) end; - Set Active property to True Using WHERE procedure TForm1.Button3Click(Sender: TObject); Remove ‘WHERE’ statement to delete all records begin SHOW ALL FIELDS AND ALL RECORDS with ADOQuery1 do INSERT A RECORD begin SELECT * FROM tblTableName; procedure TForm1.Button3Click(Sender: TObject); Active := false; begin SQL.Clear; SHOW CERTAIN FIELDS AND ALL RECORDS with ADOQuery1 do SQL.Add('SELECT *'); begin SQL.Add('FROM tblTable1, tblTable2 SELECT Name, Surname FROM tblTableName; Active := False; WHERE tblTable1.UserID = SQL.Clear; tblTable2.UserID;'); SHOW ALL FIELDS FOR RECORDS MEETING CERTAIN SQL.Add('INSERT INTO tblTableName(Name,Surname) Active := true; EXACT CRITERIA VALUES (''' + Edit1.Text + ''',''' + Edit2.Text + ''')'); end; ExecSQL; end; SELECT * FROM tblTableName WHERE Name = "John"; end; end; Using INNER JOIN SHOW ALL FIELDS FOR RECORDS MEETING SIMILAR procedure TForm1.Button3Click(Sender: TObject); CRITERIA CREATE NEW FIELD FROM CALCULATION begin Creates a new field ‘AmountTax’ created by adding 15% to with ADOQuery1 do the value in the Amount field begin SELECT * FROM tblTableName WHERE Name LIKE "Jo%" Active := false; SQL.Clear; procedure TForm1.Button3Click(Sender: TObject); SHOW ALL FIELDS AND ALL RECORDS SORTED SQL.Add('SELECT *'); begin ACCORDING TO A FIELD (ASCENDING) SQL.Add('FROM tblTable1 INNER JOIN with ADOQuery1 do tblTable2 ON tblTable1.UserID = begin tblTable2.UserID; '); SELECT * FROM tblTableName ORDER BY Name; Active := false; Active := true; SQL.Clear; end; SQL.Add('SELECT Name, Amount, [Amount]*1.15 AS SHOW ALL FIELDS AND ALL RECORDS SORTED end; AmountTax FROM tblTableName;'); ACCORDING TO A FIELD (DESCENDING) Active := true; end; SELECT * FROM tblTableName ORDER BY Name DESC; end;

SHOW ALL FIELDS AND ALL RECORDS WITHIN A SET COUNT NUMBERS OF RECORDS RANGE (UNIT IS AN INTEGER FIELD) SELECT Count(*) FROM tblResults WHERE Num2 > 50; SELECT * FROM tblTableName WHERE Unit BETWEEN 1 AND 6

SET A QUERY WITH CODING FIND MINIMUM VALUE procedure TForm1.Button3Click(Sender: TObject); SELECT MIN(Num2) AS Lowest begin FROM tblResults with ADOQuery1 do begin Active := false; FIND MAXIUM VALUE SQL.Clear; SELECT MAX(Num2) AS Highest SQL.Add('SELECT * FROM tblTableName;'); FROM tblResults Active := true; WHERE Num1 < 30 end; end; GET TOTAL OF A PARTICULAR FIELD SELECT SUM(Num2) AS Total CHANGE DATA (AMOUNT FIELD BECOMES 10) FROM tblResults ACCORDING TO A CONDITION (UNIT EQUALS TO 4) WHERE Date > #2009/05/01# procedure TForm1.Button3Click(Sender: TObject); begin GET AVERAGE OF A PARTICULAR FIELD with ADOQuery1 do SELECT AVG(Num2) AS [Num2''s Average] begin FROM tblResults Active := false; WHERE UserID = 11 SQL.Clear; SQL.Add('UPDATE tblTableName'); SQL.Add('SET Amount=10 WHERE Unit=4'); ExecSQL end; ADOTable1.Refresh; end;

ASCII TABLE # SYMBOL ASCII CODE 86 (Capital V) 176 ░ 0 NULL (Null character) 87 (Capital W) 177 ▒ 1 SOH (Start of Header) 88 X (Capital X) 178 ▓ 2 STX (Start of Text) 89 (Capital Y) 179 │ (Box drawing character) 3 ETX (End of Text) 90 (Capital Z) 180 ┤ (Box drawing character) 4 EOT (End of Transmission) 91 [ (square brackets or box brackets) (Capital letter "A" with acute accent or 5 ENQ (Enquiry) 92 \ () 181 Á "A-acute") (letter "A" with circumflex accent or "A- 6 ACK (Acknowledgement) 93 ] (square brackets or box brackets) 182 Â circumflex") 7 BEL (Bell) 94 ^ (Caret or circumflex accent) 183 À (letter "A" with grave accent) 8 BS (Backspace) 95 _ (underscore , understrike , underbar or low line) 184 © (Copyright symbol) 9 HT (Horizontal Tab) 96 ` (Grave accent) 185 ╣ (Box drawing character) 10 LF (Line feed) 97 a (Lowercase a ) 186 ║ (Box drawing character) 11 VT (Vertical Tab) 98 b (Lowercase b ) 187 ╗ (Box drawing character) 12 FF (Form feed) 99 c (Lowercase c ) 188 ╝ (Box drawing character) 13 CR (Carriage return) 100 (Lowercase d ) 189 ¢ ( symbol) 14 SO (Shift Out) 101 e (Lowercase e ) 190 ¥ (YEN and sign) 15 SI (Shift In) 102 (Lowercase f ) 191 ┐ (Box drawing character) 16 DLE (Data link escape) 103 g (Lowercase g ) 192 └ (Box drawing character) 17 DC1 (Device control 1) 104 h (Lowercase h ) 193 ┴ (Box drawing character) 18 DC2 (Device control 2) 105 i (Lowercase i ) 194 ┬ (Box drawing character) 19 DC3 (Device control 3) 106 (Lowercase j ) 195 ├ (Box drawing character) 20 DC4 (Device control 4) 107 (Lowercase k ) 196 ─ (Box drawing character) 21 NAK (Negative acknowledgement) 108 (Lowercase l ) 197 ┼ (Box drawing character) 22 SYN (Synchronous idle) 109 m (Lowercase m ) (Lowercase letter "a" with tilde or "a- 23 ETB (End of transmission block) 110 (Lowercase n ) 198 ã tilde") 24 CAN (Cancel) 111 o (Lowercase o ) 199 Ã (Capital letter "A" with tilde or "A-tilde") 25 EM (End of medium) 112 p (Lowercase p ) 200 ╚ (Box drawing character) 26 SUB (Substitute) 113 (Lowercase q ) 201 ╔ (Box drawing character) 27 ESC (Escape) 114 r (Lowercase r ) 202 ╩ (Box drawing character) 28 FS (File separator) 115 s (Lowercase s ) 203 ╦ (Box drawing character) 29 GS (Group separator) 116 (Lowercase t ) 204 ╠ (Box drawing character) 30 RS (Record separator) 117 u (Lowercase u ) 205 ═ (Box drawing character) 31 US (Unit separator) 118 v (Lowercase v ) 206 ╬ (Box drawing character) 32 (Space) 119 w (Lowercase w ) 207 ¤ (generic currency sign) 33 ! (Exclamation mark) 120 x (Lowercase x ) 208 ð (Lowercase letter "eth") 34 " (Quotation mark ; quotes) 121 y (Lowercase y ) 209 Ð (Capital letter "Eth") 35 # (Number sign) 122 z (Lowercase z ) (letter "E" with circumflex accent or "E- 36 $ () 123 { (curly brackets or braces) 210 Ê circumflex") (letter "E" with umlaut or diaeresis ; "E- 37 % (Percent sign) 124 | (vertical-bar, vbar, vertical line or vertical slash) 211 Ë umlaut") 38 & (Ampersand) 125 } (curly brackets or braces) 212 È (letter "E" with grave accent) 39 ' (Apostrophe) 126 ~ (Tilde ; swung dash) 213 ı (lowercase dot less i) (round brackets or 127 DEL (Delete) (Capital letter "I" with acute accent or "I- 40 ( parentheses) 128 Ç (Majuscule C-cedilla) 214 Í acute") (round brackets or 129 ü (letter "u" with umlaut or diaeresis ; "u-umlaut") (letter "I" with circumflex accent or "I- 41 ) parentheses) 130 é (letter "e" with acute accent or "e-acute") 215 Î circumflex") 42 * (Asterisk) 131 â (letter "a" with circumflex accent or "a-circumflex") (letter "I" with umlaut or diaeresis ; "I- 43 + (Plus sign) 216 Ï umlaut") 132 ä (letter "a" with umlaut or diaeresis ; "a-umlaut") 44 , (Comma) 217 ┘ (Box drawing character) 133 à (letter "a" with grave accent) 45 - (Hyphen) 218 ┌ (Box drawing character) 134 å (letter "a" with a ring) 46 . (Dot , full stop) 219 █ (Block) 135 ç (Minuscule c-cedilla) 47 / (Slash) 220 ▄ (Bottom half block) 136 ê (letter "e" with circumflex accent or "e-circumflex") 48 0 (number zero) 221 ¦ (vertical broken bar) 137 ë (letter "e" with umlaut or diaeresis ; "e-umlaut") 49 1 (number one) 222 Ì (letter "I" with grave accent) 138 è (letter "e" with grave accent) 50 2 (number two) 223 ▀ (Top half block) 139 ï (letter "i" with umlaut or diaeresis ; "i-umlaut") 51 3 (number three) (Capital letter "O" with acute accent or 140 î (letter "i" with circumflex accent or "i-circumflex") 52 4 (number four) 224 Ó "O-acute") 141 ì (letter "i" with grave accent) 53 5 (number five) 225 ß (letter "Eszett" ; "scharfes S" or "sharp S") 142 Ä (letter "A" with umlaut or diaeresis ; "A-umlaut") 54 6 (number six) (letter "O" with circumflex accent or "O- 143 Å (Capital letter "A" with a ring) 226 Ô circumflex") 55 7 (number seven) 144 É (Capital letter "E" with acute accent or "E-acute") 227 Ò (letter "O" with grave accent) 56 8 (number eight) 145 æ (Latin diphthong "ae" in lowercase) 228 õ (letter "o" with tilde or "o-tilde") 57 9 (number nine) 146 Æ (Latin diphthong "AE" in uppercase) 229 Õ (letter "O" with tilde or "O-tilde") 58 : (Colon) 147 ô (letter "o" with circumflex accent or "o-circumflex") (Lowercase letter "Mu" ; micro sign or 59 ; (Semicolon) 230 µ micron) 148 ö (letter "o" with umlaut or diaeresis ; "o-umlaut") 60 < (Less-than sign) 231 þ (Lowercase letter "Thorn") 149 ò (letter "o" with grave accent) 61 = (Equals sign) 232 Þ (Capital letter "thorn") 150 û (letter "u" with circumflex accent or "u-circumflex") 62 > (Greater-than sign ; Inequality) (Capital letter "U" with acute accent or 151 ù (letter "u" with grave accent) 63 ? (Question mark) 233 Ú "U-acute") 152 ÿ (Lowercase letter "y" with diaeresis) 64 @ (At sign) (letter "U" with circumflex accent or "U- 153 Ö (letter "O" with umlaut or diaeresis ; "O-umlaut") 234 Û circumflex") 65 A (Capital A) 154 Ü (letter "U" with umlaut or diaeresis ; "U-umlaut") 235 Ù (letter "U" with grave accent) 66 B (Capital B) 155 ø (slashed zero or empty set) 236 ý (Lowercase letter "y" with acute accent) 67 C (Capital C) 156 £ ( ; symbol for the pound sterling) 237 Ý (Capital letter "Y" with acute accent) 68 D (Capital D) 157 Ø (slashed zero or empty set) 238 ¯ (macron symbol) 69 E (Capital E) 158 × (multiplication sign) 239 ´ (Acute accent) 70 F (Capital F) 159 ƒ (function sign ; f with hook sign ; ) 240 (Hyphen) 71 G (Capital G) 160 á (letter "a" with acute accent or "a-acute") 241 ± (Plus-minus sign) 72 H (Capital H) 161 í (letter "i" with acute accent or "i-acute") 242 ‗ (underline or underscore) 73 I (Capital I) 162 ó (letter "o" with acute accent or "o-acute") 243 ¾ (three quarters) 74 J (Capital J) 163 ú (letter "u" with acute accent or "u-acute") 244 ¶ (paragraph sign or pilcrow) 75 K (Capital K) 164 ñ (letter "n" with tilde ; enye) 245 § (Section sign) 76 L (Capital L) 165 Ñ (letter "N" with tilde ; enye) 246 ÷ (The division sign ; Obelus) 77 M (Capital M) 166 ª (feminine ordinal indicator) 247 ¸ (cedilla) 78 N (Capital N) 167 º (masculine ordinal indicator) 248 ° (degree symbol ) 79 O (Capital O) 168 ¿ (Inverted question marks) 249 ¨ (Diaeresis) 80 P (Capital P) 169 ® (Registered trademark symbol) 250 · (Interpunct or space dot) 81 Q (Capital Q) 170 ¬ (Logical negation symbol) 251 ¹ (superscript one) 82 R (Capital R) 171 ½ (One half) 252 ³ (cube or superscript three) 83 S (Capital S) 172 ¼ (Quarter or one fourth) 253 ² (Square or superscript two) 84 T (Capital T) 173 ¡ (Inverted exclamation marks) 254 ■ (black square) 85 U (Capital U) 174 « (Angle quotes or guillemets) 255 nbsp (non-breaking space or no-break space) 86 V (Capital V) 175 » (Guillemets or angle quotes)

GRADE 10 THEORY Information and Communications Technology (ICT) is a term MODULAR DESIGN OF COMPUTERS that expands IT to include the transmission of data using Means that computers consist of a variety of separate SECTION 1 - ALGORITHM DESIGN AND communications technology. It includes technologies such as components for ease of upgrading and maintenance. computers, cell phones, the Internet and other networks as PROGRAMMING well as broadcasting technologies (radio and television). MOTHERBOARD A Large piece of circuitry with slots and connectors for

OPEN SOURCE SOFTWARE (OSS) different components and peripherals to connect to it. Software made available with a license that allows you to MODULE 1.1 – THINKING FOR COMPUTERS access and modify the source code, but not sell the OPTICAL STORAGE software. Stores data by means of laser, for example CD, DVD, Blu-ray/ ABSTRACT SOLUTION A solution which makes use of general concepts and OUTPUT PERIPHERALS variables in solving a problem. A way of allowing the computer to show the results of Devices connected to the computer. processing it has done. ALGORITHM RAM A sequence of steps that can be followed in order to solve a POS SYSTEM (POINT OF SALE SYSTEM) RAM or Random Access Memory is where any program that specific problem. Specialized software and hardware designed to be used at is run is loaded and temporarily stored, and where files that the till point. It manages stock and creates reports (such as a are open are temporarily stored. COMPUTER PROGRAM till slip) when stock is sold to customers) A solution which makes use of fixed, specific values and ROM ***EXTRA LEARNING*** steps in solving a problem. PROPRIETARY SOFTWARE ROM or Read-Only Memory. It refers to computer memory Software developed by a certain software house. Users have chips containing permanent or semi-permanent data. Unlike CONCRETE SOLUTION to pay a license fee to be allowed to use the software. No RAM, ROM is non-volatile; even after you turn off your A solution which makes use of fixed, specific values and access to the source code is provided. computer, the contents of ROM will remain. steps in solving a problem. SHAREWARE ROUTER FLOWCHART Software which is distributed freely, but either it can only be Device that makes communication between networks over A diagrammatic visual representation of the sequence of used for a limited time, or limited capabilities are available. the internet possible by helping to direct data to its correct steps require to solve a problem. Also you do not receive the source code. destination.

PROBLEM SOLVING SOFTWARE SSD (SOLID STATE DRIVE) Working out the steps required to reach a desired state The programs – sets of instructions – that tells the A type of disk that stores data electronically. based on a given set of starting values. device/computer what to do. SYNCHRONISE PSEUDO CODE SOURCE CODE The process of getting two sets of the same data files on two Pseudo code is a structures, language-based way of The programming code used to develop a specific different devices updated with the latest copy of the file(s) presenting an algorithm, similar to the methods of recipes in application. a cookbook – short and clear step-by-step instructions. TOUCH PAD SYSTEM SOFTWARE Touch pads are rectangular pressure sensitive areas built Software that is used to control and maintain your into the laptop. They are input devices that can be used computer. instead of a mouse.

SECTION 2 – SYSTEM TECHNOLOGIES

USB (UNIVERSAL SERIAL BUS)

Port that a variety of devices can be connected to. MODULE 2.2 – BASIC CONCEPTS OF HARDWARE

USB HUB MODULE 2.1 – BASIC CONCEPTS OF COMPUTING BIOMETRIC SCANNERS Connects to a USB port and expands it to 4 or more ports

Biometric scanners (usually optical) are specifically designed that devices can be connect to. APPLICATIONS SOFTWARE for security, and read and identify unique identifying Software that is used to do productive work and accomplish characteristics of people, like fingerprints or the pattern of specific tasks. an iris.

MODULE 2.3 – BASIC CONCEPTS OF SYSTEM COMPUTER CPU (CENTRAL PROCESSING UNIT) SOFTWARE A multi-purpose electronic tool that can receive data (input), The part of the computer that does all the processing. can process the data, produce results and output the results. DEVICE DRIVERS DATA PROJECTOR Programs that allow operating systems to communicate with DATA A data projector connects to your computer and projects and control hardware devices. Raw, unprocessed facts. what is on your monitor on a screen or wall so that everyone

can see a larger version of what would be on your monitor. DISK MANAGEMENT FREEWARE A function of an operating system whereby it manages Software which is distributed freely. You do not receive the DIMM (DUAL INLINE MEMORY MODULES) storage – both how the data is organised on the storage source code. There is no limitation on the time or Electronic circuit boards with RAM on. device and how or when a program can access the storage functionality included. device. DOT MATRIX PRINTERS HARDWARE A very old technology using pins hitting ink ribbons to create DISK MANAGEMENT Physical components and device, the parts of a computer images on paper. A function of an operating system whereby it manages that you can physically touch. torage – both how the data is organised on the storage FIREWIRE ICT SYSTEM device and how or when a program can access the storage Devices can be connected to this port for fast data transfer. device. An ICT system is a combination of hardware, software, data, Mainly used for transferring video but is being used less and processes and people with the purpose to collect, less. EMBEDDED OPERATING SYSTEM manipulate, convey, store and retrieve data and Embedded operating systems differ from those installed and information. INKJET PRINTER used on a general-purpose computer such as a PC in that Sprays drops of ink on paper. INFORMATION they are stored on internal memory chips. They are not loaded from disk as is the case of a computer with a hard The results of processing data and it should be useful and LASER PRINTER drive. meaningful. Works by melting toner into the paper

INPUT GUI (PRONOUNCED GOO-EY) MAGNETIC STORAGE A graphical user interface makes use of visual controls to The way of getting both data and instructions into the Stores data by means of magnetic fields, for example hard allow the user to interact with the computer and with computer. disks. programs on the computer.

IPO MODEL MODEM INPUT/OUTPUT MANAGEMENT Input, Processing, Output model. Device that converts the signal from a computer to a format

that can be transmitted over a communication channel. A function of an operating system whereby it manages input IT AND ICT and output of the computer and how programs use the Information Technology (IT) is a term that refers to all 3G Modem: To transfer data over a cellular phone network. input and output devices – i.e. which programs receive input technology involved with the collecting, processing and from input devices and which programs can use an output storing of data/information. ADSL Modem: For high-speed data transfer over digital devices. telephone networks.

MEMORY MANAGEMENT NETWORK OPERATING SYSTEM A function of an operating system whereby it manages the Network operating system is software that controls all the memory (RAM) to control how programs use it – i.e. make MODULE 2.5 – IMPROVE YOUR BROWSER communication in a network as well as security on a sure that programs don’t try to use the same area of network. memory at the same time and so corrupt each other’s ADOBE READER PLUG-IN data/instructions. NETWORK SECURITY This plug-in allows you to view and print contents of PDF Network security refers to policies put into place to ensure documents directly from within your browser. NETWORK OPERATING SYSTEM the security of a network by preventing unauthorised access

An operating system which has extra features that give it and misuse of the computer network. FLASH PLAYERS additional ability to control and manage shared resources Examples include Adobe Flash Player, Silverlight and Adobe (e.g. files, printers) and users on a network. PEERS Shockwave Player. These multimedia plug-ins enable users Peers are those computers that both use and provide to experience a very wide range of applications and OPERATING SYSTEM network resources. multimedia web content in any browser, irrespective of the An operating system is system software which controls all operating system. activities that take place in a computer. PEER-TO-PEER NETWORK

JAVA A peer-to-peer network is a local area network in which PROCESS AND TASK MANAGEMENT network resources are shared among workstations, without Generally used to write plug-in programs for other A function of an operating system whereby it manages the a dedicated server. applications. CPU and how it runs programs – i.e. which programs and tasks can use the CPU and for how long. MEDIA PLAYER PLUG-INS PRINT SERVERS Print servers are used to handle all the printing A plug-in such as QuickTime, which allows you to play SYSTEM SOFTWARE requirements of a network with a large number of embedded audio and video on web pages without needing System software is software that is intended to control, computers. to have or open the Windows Media Player application on support or operate the computer. your computer.

SERVER UTILITES PDF A server is a computer that provides shares resources, such Programs that are part of system software and do as files, e-mail and Internet facilities or printing to the Portable Document Format (PDF). A popular format to maintenance and administrative tasks. network users. distribute documents electronically.

PLUG-IN SWITCH A switch is a hardware device used to connect computers on Software which adds functionality to a bigger program, often a network so that communication can occur. MODULE 2.4 – COMPUTER MANAGEMENT used when browsing the Web.

ADMINISTRATOR ACCOUNT THIN CLIENTS Thin clients have no hard-drives, but depend almost A special account which allows that account holder (user) to completely on a server to run applications and store data make any changes they wish to the system, including to SECTION 3 – COMMUNICATION AND INTERNET files. other accounts. TECHNOLOGIES

ARCHIVING WIDE AREA NETWORK (WAN) A WAN is a network that is spread over a wide geographical To store files that are static (not going to be changed), area, such as a city, across provinces or countries and even usually onto a secondary system or onto a DVD for example. continents. MODULE 3.1 - NETWORKS

DISK CLEANUP WIRELESS LAN (WLAN) A utility that removes: CLIENTS A wireless LAN (WLAN) is a LAN which communicates using  Temporary files downloaded from the internet. Clients are computers that use but do not provide network high-frequency radio waves rather cables to communicate.  Deleted files and folders permanently by emptying resources.

the Recycle Bin

 Temporary files created by Windows E-MAIL SERVERS  Components of Windows that you are not using E-mail servers are used to handle all the e-mail needs of the  Installed programs that you no longer or seldom use. organisation. MODULE 3.2 - ELECTRONIC COMMUNICATION

DISK DEFRAGMENTATION EXTRANET CAP To reorganise the parts of files and speed your computer up An extranet is a network where access is provided to the Cap is the amount of data an ISP allows a person to upload again. organisations private network to use from outside the and download in a month. organisation. DISK FRAGMENTATION ELECTRONIC COMMUNICATION (E- Files and parts of files are scattered on disk. FAT CLIENTS COMMUNICATION) Fat clients run most of their applications from their local E-communication refers to all forms of communication via DRIVERS hard drives and make little use of network services. electronic means. In other words, it is the process in which Software that enables the operating system to communicate computers and other devices such as cellphones are used to with a hardware device. FAT CLIENTS exchange messages and/or digital data. Fat clients run most of their applications from their local FIREWALL hard-drives and make little use of network services. ELECTRONIC MAIL (E-MAIL) Software that allows you to control which programs can E-mail is composing, sending and receiving messages access the internet – and tries to hide your computer from INTERNET OR PROXY SERVER electronically over a network including the internet. the others ‘out there’ (or at least prevent them from Users connect to the Internet via this server so security contacting and taking over your computer). control for viruses ect. Can be implemented at once central INSTANT MESSAGING (IM) point. Access to the Internet can also be speeded up by IM is an online, text-based communication usually between INSTALLATION WIZARD storing (caching) recently accessed web pages on disk. two people using computers or other devices such as A program that presents you with options and performs an cellphones. installation based on your choices and preferences. INTRANET An intranet is an organisation’s private network and is an INTERNET SERVICE PROVIDER (ISP) PLUG-AND-PLAY internet-like environment consisting of web pages relating An ISP is a company that has permanent, fast connection to The technology whereby devices that are added or to the organisation’s business. the Internet and sells Internet access to individuals or connected to a PC are automatically ‘detected’, and organisations for a monthly fee. whereby the PC is configured for their use, provided drivers LOCAL AREA NETWORK (LAN) are available for the devices. A local area network is a privately owned network ISP-BASED E-MAIL connecting computers in a small area such as a school, When using ISP-based e-mail, you will be able to access your WinZip university campus or company offices in one building. e-mail by using software such as Microsoft Outlook, and Probably the most widely-used utility program used to Outlook Express on the PC or Laptop where your account compress files. NETWORK settings have been entered. A network is a collection of computers or other computing devices such as smartphones that are connected by some MESSAGING sort of communication media (either via calbe or wirelessly) Messaging refers to the exchange of brief typed messages to allow users to share software, hardware, data and between cellphones. These can be in the form of text using information. SMS (Short Message Service) and can also contain images, video and sound content using MMS (Multimedia Message Service).

ONLINE CHAT INTERNET PROTOCOL ADDRESS (IP ADDRESS) BYTE Online chat is an application that gives two or more people Every computer that connects to the Internet or in a A collection of 8bits – the smallest unit of storage in a the ability to have a ‘conversation’ by typing on a computer network must have its own unique Internet Protocol (IP) computer system. using the Internet or cellphone. address. CODING SCHEME SOCIAL NETWORKING SITE INTERNET SERVIE PROVIDER (ISP) Schemes used to represent or store text or characters by A social networking site is where individuals (or An ISP is a company that has a permanent, fast connection giving each character a unique numerical code. organisations) can post their likes, dislikes, interests, to the Internet. They sell Internet access and services to photographs and activities for their friends (and virtually individuals or organisations for a monthly fee. DECIMAL everyone else unless access is blocked) to see and read. The base 10 number system that consists of the digits 0, 1, 2, SEARCH ENGINE 3, 4, 5, 6, 7, 8 and 9. VIDEO CONFERENCING A search engine is a program that is used to search for Video conferencing is the ability to hold an on-line documents located on the Internet by using keywords or HEXADECIMAL conference between two or more people at different phrases entered by the user when looking for information. The base 16 number system that consists of the digits 0, 1, 2, locations using a computer network to transmit audio and 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E and F. video data s if they were all in the same room. UNIFORM RESOURCE LOCATOR (URL) A URL is the unique address of a web page. OCTAL VOICE OVER INTERNET PROTOCOL (VOIP) The base 8 number system that consists of the digits 0, 1, 2, VoIP is a technology that allows telephone calls to be made WEB BROWSER 3, 4, 5, 6 and 7. over LANs, WANs and the internet. A web browser is a software application that allows one to view and explore web pages on the Web either via OVERFLOW WEB-BASED E-MAIL (WEBMAIL) hyperlinks or in cases where the URL is already known, by An error condition that occurs when there are not enough Web-based e-mail or webmail is a service that allows you to typing the address in the address in the address bar of the bits available to represent an integer value accurately. access an e-mail account through a web browser from any web browser. location that has Internet access. PRIMITIVE DATA TYPE WEB PAGE The core types of a programming language. Variables are A web page is any electronic document on the Web. Web declared and used to store a particular type of data. pages can include text graphics, sound video and links to MODULE 3.3 – INTERNET AND WWW other Web pages. TRUNCATION The misrepresentation of a string variable because there are 3G WEB SERVER not enough bytes available to store all the characters in the A web server is a computer that hosts websites and is 3G is currently the newest generation of mobile (cellular) string. connected to the web. phone technologies.

ASYMMETRIC DIGITAL SUBSCRIBER LINE (ADSL) WEBSITE A website consists of related web pages. ADSL is a permanent digital connection to the Internet using MODULE 4.2 – FILE MANAGEMENT a telephone line. WORLD WIDE WEB (WWW) AUDIO FILES The World Wide Web is a service that runs on the Internet BANDWIDTH Files that contain sound or music. Common audio file and is a vast collection of interlinked, interactive documents Bandwidth or data transfer rate, refers to the total amount formats include MP3, MP4, WAV, CDA, WMA. stored on computers all over the world, accessed via the of data that can be carried from one point to another in a Internet. given time period. COMPILER

A program that checks to see that the code adheres to all WORLD WIDE WEB CONSORTIUM BROADBAND the rules of the programming language and creates an The World Wide Web Consortium (W3C) is an organisation Broadband refers to any permanent, high speed, high executable file which can be ‘run’ or executed. founded and headed by Time Berners-Lee. Its function is to bandwidth connection to the Internet. develop standards so that the WWW reaches its full COMPRESSED FILES potential and to ensure the long-term growth of the Web. CAP A file format used for files that contain files or folders in

Cap means that you are limited to a certain amount of compressed format to save space. Typical file extensions gigabytes of data downloaded and uploaded on a month. include rar and zip.

DATA TERMINATING DEVICE (‘MODEM’) MODULE 3.4 – WEB PAGE TECHNOLOGY DATA HIERARCHY The function of a ‘modem’ is to convert signals from your Refers to the two levels of data storage – the lower bits and computer to those transmitted over the telephone line and HTML (HYPERTEXT MARKUP LANGUAGE) bytes level and the higher levels of files, databases and data vice versa so that communication can occur. A set of formatting codes, placed in a text file to change the warehouses. way a browser displays text. FILE TRANSFER PROTOCOL (FTP) DATA WAREHOUSE File Transfer Protocol (ftp) is the protocol used for the fast, TAGS A data warehouse is a vast collection of data fathered from a easy transfer of files between remote computers that have Formatting codes placed between ‘<’ and ‘>’ in a text file. variety of databases and other data sources. It is specifically an Internet connection. designed to determine trends and patters within the data TEXT FILE and it is designed for reporting and querying. FTP SERVER A file that contains ASCII text only and no formatting. A computer allowing people to use FTP to upload or DLL FILES download files. TYPOGRAPHY DLL or Dynamic Link Libraries are files that contain code or Typography involves the placing and formatting of text. The routines that can be called and used by programs. HOME PAGE choice and use of fonts is an important aspect of A home page is the first page of a website and contains typography. FILE information about the website’s purpose and content. It also A file is a collection of data or information that is stored on a provides links to other web pages, websites and documents. computer under a single name. They are represented as icons on the computer. HYPERLINK SECTION 4 – DATA AND INFORMATION A hyperlink is a built-in connection to another related web MANAGEMENT FILE EXTENSION page, and is indicated as text underlined in blue, or by a This set of characters (usually 3-5) is added to the end of a graphic with blue outline. file name and it identifies the type of file e.g. docx is the file extension of a Microsoft Word file. HYPERTEXT TRANSFER PROTOCOL (HTTP) HyperText Transfer Protocol (http) is the protocol that MODULE 4.1 – DATA AS THE COMPUTER SEES IT FILE FORMAT defines how pages are transferred on the web. How data is structured or organised within a file. Each ASCII program has its own file structure for its files. Some INTERNET ASCII (American Standard Code for Information Interchange) programs can interpret or read files that have a different file The internet, also called the Net, is a worldwide computer is a coding system which is limited to 256 different structure to the one they use. network, consisting of computers and networks that are characters. linked using telephone lines, undersea cables, satellite or FILE MANAGER microwave for the purpose of sharing resources and BINARY A utility program like Windows Explorer that comes as part communication. The base 2 number system that consists of just two digits, of the operating system. It allows the user to manage their namely a 0 and a 1. files and folders. INTERNET PROTOCOL (IP) IP (Internet Protocol) is the protocol used for BIT FILE NAME communication over a network or the internet A binary digit i.e. a 0 or a 1 Name given to a file followed by a full stop and the file extension e.g. MyFile. docx

FILE –NAMING CONVENTIONS DIGITAL DIVIDE IDENTITY THEFT Rules and restrictions that the operating system places on The gap between people that have access to computers and Identity theft is when someone steals your personal details how a file can be named. Organisations or individuals might technology and people that do not. such as your ID number, credit card details or driver’s license also choose to name their files according to a fixed format to commit fraud or another crime. that they choose. EULA (END USER LICENSE AGREEMENT) A license agreement (which is a legally binding contract) in INTERNET HOAX FOLDER which you agree to use software only according to the An internet hoax is an e-mail message or article intended to A folder is a storage place or container in which you can software company’s terms. Most software won’t finish deceive or defraud others. store files or more folders on disk. installing until you have indicated that you are aware of the terms and conditions of this license agreement, and that you NETIQUETTE FONT FILES accept them. These terms and conditions differ from license Netiquette (Internet + Etiquette), is the name given to the Files containing fonts that can be used by programs on the to license, but they mostly involve things such as the use of good manners and showing respect for other user computer where the fonts are installed. They typically have number of computers you may install the software on, and when using the Internet. a file extension of TTF or OTF. whether you may distribute the software or not. PHARMING GRAPHICS FILES GNU / GPL Pharming is an identity theft scam, where the user’s Files that contain images or graphics. Common graphics Is a license specifically for software that allows people to computer is infiltrated so that they are automatically formats include JPEG, BMP, GIF, WMF, TIF, PNG. distribute the software for free or even charge for it so long redirected to another (fake) website, even if they type in the as the source code is made available. GNU is Copyleft and is correct URL for that website. HYPERTEXT MARKUP LANGUAGE (HTML) FILES the license most freeware is distributed under. Hypertext Markup Language files are used to define the PHISING structure and layout of web page. INTELLECTUAL PROPERTY Phishing refers to attempts from people to con the user into The idea behind any original creation is the property of its giving out personal, confidential details such as PIN numbers creator, and not only the physical objects which express that and passwords, by posing as a legitimate organisation, The ‘sequence’ of folders that lead to the location of a idea. If, for example, you were to write a poem or a book, or usually via e-mail. specific file. The backslash character is used to separate the take a photo, and someone were to make a copy of it ‘list’ of folders in the path e.g. D:\Documents\Invoices\ without asking your permission or compensating you, that SECURE URL person would have stolen your intellectual property, even if A secure URL begins with https:// or has a small closed lock PDF FILES he didn’t steal your physical exemplar of the work. displayed somewhere on the page, often next to the URL.

Portable Document Format files are used to distribute document files, as they do not require the program in which PIRACY SPAM the document was created to be installed to read. You just The act of stealing intellectual property. i.e. using or making Spam is the electronic equivalent of ‘junk mail’. It is an e- need a free utility program called Adobe Reader to read it. a copy of the kind of work protected by copyright law. mail being sent to you in the form of advertising of products that you did not request. PLAIN TEXT FILES A text file that contains lines of plain text. The file extension SPYWARE .txt is associated with text files. Text files can be opened by MODULE 5.2– GREEN, HEALTH AND GLOBAL E- Spyware is software that tries to monitor and track the way any word processing application or simple text editing COMMUNICATION ISSUES you use your computer. It is installed on user’s computers utilities such as WordPad and Notepad. without their knowledge. CARPAL TUNNEL SYNDROME PROGRAM FILES This is caused by inflammation of the tendons in the wrist, TROJAN These are actual programs, not data files, that run (execute) causing pressure on the nerves in the wrist, resulting in pain A Trojan is a destructive program disguised as an useful when opened. They normally have a .COM or .EXE file and sometimes weakness in parts of the hand. application. extension. E-WASTE VIRUS SIGNATURE (DEFINITION) PROGRAMMING LANGUAGES The broken, old, outdated and discarded hardware that we A virus signature or definition is the pattern that uniquely Programs such as Delphi, Java and C# that allow one to don’t want and don’t need. identifies a virus. construct and specify a set of programming instructions or source code. ERGONOMICS GRADE 11 THEORY Studies of the human body to try to design products so they RICH TEXT FILES better fit the way that we actually function. SECTION 1 – SYSTEM TECHNOLOGIES Rich Text format files support ‘rich text’, which includes text formatting, such as bold and italics, fonts and font sizes, GREEN COMPUTING page setup and tab settings and even images. Green computing refers to initiatives to design, use and

disposal of technology in an environmentally or eco-friendly MODULE 1.1 – HARDWARE WILDCARDS way.

Characters that represent one or more characters. For example Windows allows us to use an asterisk (*) to RSI (REPETITIVE STRAIN INJURY) BIOS Basic Input Output System – the essential start-up represent any number of characters or a question mark (?) A class of injuries (to tendons, ect) caused by repetitive instructions of a computer, in ROM chips on the to represent one single character when searching for files or actions. motherboard, and representing the lowest level of folders. programming firmware.

BUS MODULE 5.3 – SAFE INTERNET AND E-MAIL USE A set of electrical paths etched on a motherboard, used to SECTION 5 – SOCIAL IMPLICATIONS transfer data between different parts, e.g. between an ADWARE expansion card and RAM. Adware is software that downloads and bombards your computer with adverts that pop-up whenever you are CACHING connected to the Internet. It is more of a nuisance than a MODULE 5.1 – SOCIAL, ETHICAL AND LEGAL ISSUES A method used to compensate for the loss of efficient, or threat. ‘bottleneck’, that becomes inevitable when a faster medium SURROUNDING ICTs tries to communicate with a slower medium. ANTI-VIRUS SOFTWARE COPYLEFT Anti-virus software is a computer program that scans CMOS A type of Copyright law which allows people to use and computer files for viruses and eliminates them. Complementary Metal Oxide Semiconductor – the type of distribute work whilst still allowing the creator some control memory that stores the BIOS settings that can be updated or over where and how it can be used. COMPUTER VIRUS changed. This memory is kept ‘alive’ by a small battery on A computer virus is a program that is written to disrupt the the motherboard. COPYRIGHT normal functioning of a person’s computer without their A law designed to protect intellectual property by creating knowledge or consent. CPU legal limits on who can copy, sell and use types of work such Central Processing Unit – a chip that can contain more than as photos, documents, books or poems. Copyright is COMPUTER WORM on ‘core’ (complete processor) and which connects to the normally indicated by the word Copyright or the © symbol A computer worm is malware that is able to distribute itself motherboard using the ZIF socket. Responsible for all the followed by the name of the copyright owner and the year over a network, normally via e-mail, without a person having processing. that the copyright was first applied. run an infected program. CPU CACHE CREATIVE COMMONS E-MAIL SPOOFING Special type of high-speed memory built into the CPU, used A copyright license that allows you to use parts of, copy and E-mail spoofing is the changing of an e-mail header so that to maximise CPU productivity. distribute work for non-profit purposes. Creative commons the origin of the e-mail appears to be from a different is a Copyleft-style license. source.

DIMM ROM MULTITASKING Dual Inline Memory Module – thin rectangular electronic Read Only Memory – permanent, non-volatile memory The operating system splits the CPU time between multiple boards, which contain banks of RAM chips; inserted into associated with Firmware, typically found in the ROM chip, programs, and so the computer seems to be doing more DIMM slots on the motherboard, and the means whereby which holds the start-up instructions (BIOS) of the computer. than one task at a time. the memory of a computer is upgraded. SATA CONNECTORS MULTITHREADING DISK CACHE Connectors on the motherboard for attaching cables for The ability of an operating system to allow programs to split A certain amount of high-speed memory built into every storage devices, such as hard drives and optical drives. themselves into multiple tasks (or threads) that can be run hard drive. Used to cache data from the (slower) disk, and at the same time. thereby speed up subsequent calls for the same ‘chunk’ of STORAGE code or data. Storage provides a place where a computer can keep data OPERATING SYSTEM instructions permanently. System software, which controls all the activities that take EEPROM place in a computer. Electronically Erasable Programmable Read Only Memory – SYSTEM CLOCK a type of ROM that can be erased electronically, after which A small quartz crystal that pulses at a regular frequency OPERATING SYSTEMS FOR COMPUTERS a new ‘image’ of upgraded contents can be written back. measured in GHz; used to coordinate activates on a Windows, OS X, Linux motherboard. EXPANSION SLOTS OPERATING SYSTEMS FOR MOBILE DEVICES Slots on the motherboard for attaching additional circuit THUNDERBOLT iOS, Android, Windows RT, Windows Phone 8, Blackberry OS boards in order to ‘expand’ the capabilities of the computer A new superfast connection technology, which can support 10 – mostly dedicated video and sound cards for high-end multiple simultaneous connections. gaming and design work. PROCESS USB Any sequence of instructions that can be executed by a CPU. EXTERNAL CONNECTORS Universal Serial Bus – the most widely used connection Situated both ad the bac and the front of the casing, e.g USB option for attaching devices to a computer, via a USB port. PROCESS MANAGEMENT ports, VGA port for monitor, RJ45 port for Ethernet network The task of making sure that each process gets enough CPU cabling, speaker and microphone jacks, ect. VIDEO CARD / GRAPHICS CARD time and access to hardware resources so that it can work Hardware component that generates the images – both without interfering with or being interfered with by other FIREWIRE graphic and text – displayed on the monitor. Either processes. A type of port that can transfer data faster that USB. It integrated on the motherboard or supplied as a separate usually used where high speed data transfer is desirable, card plugged into a PCIe expansion slot. PROGRAM such as videos from a video camera, and data to or from an A set of instructions mean to accomplish a single task. external hard drive. WEB CACHING The process of storing recently accessed web pages locally THREAD FIRMWARE on the relatively much faster hard drive so that they are A part of a larger program that runs independently by Software that is permanently installed, or ‘hard-coded’ on a quicker to retrieve the next time they are needed. Retrievals simultaneously with other parts of the same program. ROM chip, and used to control the basic operation of a from local storage are much faster than Internet downloads. device, e.g a printer. VIRTUAL MEMORY

ZIF SOCKET An area of storage or disk space that the operating system FLASHING THE ROM Zero Insertion Force – a type of socket on the motherboard keeps for its own use. The process whereby the existing contents of firmware is for connecting a CPU. wiped and replaced with an updated version – always to be VIRTUALISATION performed with great care. Creating an entity (memory, storage, machine ect) that only

exists in software. GPU MODULE 1.2 – SOFTWARE Graphics Processing Unit – dedicated graphics processor on a graphics card, used to provide extra processing power. API

Application Programming Interface – an interface between MODULE 1.3 – COMPUTER MANAGEMENT – SAFE- HARDWARE INTERRUPT (IQR) the operating system and the programming language / end GUARDING OUR DATA A dedicated communication channel, or means, whereby a user. device can request the immediate attention of the CPU, in BIOMETRIC SECURITY order to process a given function, e.g a mouse click or a ASSEMBLER keystroke. Security based on measurement and identification of unique A program that translates assembler code to machine code. physical characteristics of a person, e.g fingerprints.

MACHINE CYCLE COMPILERS Steps taken by the CPU in carrying out instructions: DATA VALIDATION Software that translates programming instructions written in  Fetching instructions and data from the Checking for the correctness of data from a computer a high-level language into standalone ‘executable files’ (with perspective, i.e with reference to a defined set of criteria, or memory (RAM) an .exe extension) that can be run independently of the  Decoding the instructions allowable values, which the computer program will either programming language or compiler. accept or reject.  Executing the instructions

 Transferring data back to the memory HIGH-LEVEL PROGRAMMING LANGUAGES DATA VERIFICATION Programming languages that are easier for humans to write MODULAR DESIGN Checking for the accuracy of data from a human perspective. and understand, that rely on extensive pre-written libraries A computer design philosophy, which incorporates a variety to execute complex instructions with just a few lines of code. DEFENSIVE PROGRAMMING of separate ‘modular’ components, thereby facilitating upgrades and maintenance. A technique whereby the programmer makes pro-active INTERPRETERS provision for possible errors made by the user, in the Software that translates programming instructions into MOTHERBOARD interest of correct data entry. machine code one line at a time. Does not generate A large electronic circuit board with slots and connectors for executable files. Programs written for interpreters can only DISK IMAGING attaching different components and peripherals. run if the interpreter (or a special ‘runtime’ module of the Creating a backup ‘image’ of the entire hard drive, including interpreter) is installed on the computer. all data and programs, to be used for re-installation in the PLUG-AND-PLAY (PNP) case of complete hard drive failure. A technology that automates the configuration process of a LOW-LEVEL PROGRAMMING LANGUAGES device before it can be used. Assembler type languages that typically use fewer ENCRYPTION commands, but correspondingly more simple instructions, to The ‘scrambling’ of text or data according to a specified set POINT-TO-POINT CONNECTIONS produce very fast and efficient code. of rules to ensure the privacy of data during communication, Dedicated connection between two components (e.g or for security purposes. between RAM and CPU that is not shared with other MACHINE CODE components. Instructions in binary format (0’s and 1’s) that the CPU can FIREWALL directly execute. Hardware or software that monitors the traffic between a POST computer and the internet, to safeguard against breaches in Power On Selft Test – start-up test performed by the Bios to MULTIPROCESSING security. ensure that all essential hardware (RAM, keyboard ect) is The type of processing that takes place when the operating present and in working order. system divides the programs/threads/processes between

multiple CPUs (Physical chips or cores). RAM Random Access Memory – temporary, volatile storage area for all running programs and data being processed.

GIGO 4G(LTE) ‘Garbage In, Garbage Out’ the quality of the output for any The latest generation of cellular communications computer system is directly related to the quality of the technology. input. MODULE 2.2 – E-COMMUNICATIONS ACCESS POINT INCREMENTAL BACKUP Also called a base station, consists of a server/transceiver ANDROID OS Backup schedule whereby backups are made only on new and an antenna, which transmits and receives radio waves Operating system created by Google and used on most non- files and files that have changed since the last backup, so that the devices that are wireless enabled are able to Apple mobile devices. resulting in greater backup efficient (saving in disk space and communicate with one another and the network. backup time), and allowing selective data recovery from an BLOGS/WEBLOGS earlier date. BANDWIDTH Websites updated regularly with news and events in The total amount of data that can be transferred from one chronological order. A blog reads like a journal with the most MALWARE point to another in a given period of time. recent entry at the top. Malware (malicious software) is a general term used to describe malicious software that is specifically designed to HOME AREA NETWORK (HAN) BLUETOOTH install itself without the user’s knowledge to negatively A small network within a home environment. A wireless technology that allows devices such as mice, affect or ‘harm’ a computer system. printers and cell phones to communicate over a relatively HOTSPOT short distance, typically less than 10m.

ONLINE BACKUP An area, usually in a public space such as an airport, The backing up of data on a server on the Internet (‘the restaurant or hotel lobby, where people may receive and be E-MAIL cloud’), with the advantages of data synchronisation, sharing granted WiFi access from an access point to connect The composing, sending and receiving of messages and portability. wirelessly to the Internet via a wired network. electronically over a network, including the Internet.

PHISHING LOCAL AREA NETWORK (LAN) FTP (FILE TRANSFER PROTOCOL) Attempts from people, generally employing e-mail, to direct A network that connects the computers in a small area such The protocol used for the fast, easy transfer of large files other people to fake websites, where they are tricked into as a school, university campus or company offices in one between remote computers that have an Internet releasing personal information (e.g passwords); then using building to one another. connection. these details to commit identify theft and fraud. LOCATION-BASED COMPUTING GPS (GLOBAL POSITIONING SYSTEM) RAID Computing where the physical location of objects and A navigation system that uses signals received from geo- Redundant Array of Inexpensive/Independent Disks – the people are determined and used. stationary satellites to determine accurately within 5m) the configuration of two or more hard drives, designed to position of a receiving device. minimise the possibility of data loss. MODEM A device that converts the data or signal from a computer to HTTP (HYPERTEXT TRANSFER PROTOCOL) ROOTKIT a format that can be transmitted over a communication The protocol that defines how web pages and their content Collection of programs designed to use administrator rights channel such as an ADSL line. are transferred across the Web. to gain and control of a computer for dangerous purposes. NETWORK INTERFANCE CONTROLLER(NIC) HTTPS (HYPERTEXT TRANSFER PROTOCOL SECURE) SOCIAL ENGINEERING A device that allows a computer to communicate with a The protocol used for secure, encrypted communications Any attempt to manipulate or ‘con’ someone into installing network either wirelessly or via a cable connecting the over the internet. It is used on websites, which require a malware or giving out sensitive or personal information. network to the NIC in the computer. user to enter confidential or personal information such as passwords or banking details. SOFTWARE BUG PERSONAL AREA NETWORK(PAN) A logical programming error that can cause unexpected A computer network with a range of a few metres that is IM (INSTANT MESSAGING) program behaviour, incorrect output or invalid data organised around an individual. Internet based alternative to text messaging, in which processing. multimedia content can be exchanged in real time via ROUTER applications such as WhatsApp, BBM and Mxit.

SPOOFING A device that makes it possible for networks to General term for conning techniques, such as phishing, used communicate over the internet, by directing data to its iOS to make electronic communication appear to originate from correct destination. Operating system found only on Apple devices such as the another (legitimate) persons or institution. iPhone and iPad. SWITCH SPYWARE A device used to connect computers in a network to a MICROBLOGGING A form of malware that tries to monitor and track the way central location so that communication can occur – it directs The posting of short text entries usually via a cellphone or a you use your computer to discover confidential information, the traffic between devices connected to the network. smartphone, on a platform like Twitter. and then relay this to a third party. TOPOLOGY MOBILE BROWSER TROJAN The layout of the physical connection of the computers in a Browser designed for the use on mobile devices, A form of malware disguised as a useful program, but in network. incorporating innovations to accommodate the smaller reality designed to do harm. screen sizes, also the lower power profiles and processing VIRTUAL PRIVATE NETWORK (VPN) abilities of these devices. Mobile-specific versions of a website often have an ‘m’ prefix and end with ‘mobi’. UPS A network implemented via a public network such as the

Uninterruptible Power Supply – a hardware device used to Internet. This enables the user to log onto a network from a protect against power supply problems, consisting remote location with the same benefits of privacy and PODCAST essentially of a constantly charged battery between the security as a LAN. An audio file (often in MP3 format) made available for computer and the wall plug. download from the Internet; more often pre-recorded radio VOICE OVER INTERNET PROTOCOL (VoIP) chat shows and talks, rather than music.

VIRUS A protocol or special set of rules for communication A form of malware that attaches itself to a file or executable between devices that allows telephone calls to be made POP3 (POST OFFICE PROTOCOL 3) program, thereby enabling it to spread between computers. over LANs, WANs and the Internet. The most common protocol used for downloading e-mail via the Internet from POP3 servers. WORM WIDE AREA NETWORK (WAN) Malware that is able to distribute itself over a network, A method of connecting to an existing network wirelessly, by PROTOCOL normally via e-mail, without a person having run an infected using radio waves to send and receive data. A set of rules for encoding and decoding data for program. transmissions across a network. WiMAX An upgrade of WiFi technology, allowing for more secure SMARTPHONES communication over a wider area. Cellphones with a mobile operating system and the ability to SECTOIN 2 – COMMUNICATION AND INTERNET run third-party software or ‘apps’. They generally include a TECHNOLOGIES WIRELESS LAN (WLAN) touch screen interface and multiple sensors for advanced functions such as GPS, accelerometer, ect. A LAN which uses wireless technology (radio waves) rather

than cables to communicate. SMS (SHORT MESSAGE SERVICE)

SMS-ing (or texting) is sending short text messages from one MODULE 2.1 - NETWORKS cell phone to another, popular and convenient because it allows one to communicate directly without making a phone 3G call. The third generation of cellular communications technology.

SMTP (SIMPLE MAIL TRANSFER PROTOCOL) WEB 1.0 AUP The most common protocol used for sending e-mail via Earliest stage in the evolution of the WWW, characterised by Acceptable Usage Policy – a document drawn up by the SMTP servers on the Internet. mostly static content and a ‘read-only’ role on the part of stakeholders concerned, e.g The Governing Body of a school the consumer public. that outlines the rights and responsibilities of users within a VLOG (VIDEO BLOG) network environment including the consequences violating A form of blog, which uses video as the medium. Entries WEB 2.0 these stipulations. normally combine video supported by text and images. The next, and current stage in the evolution of the WWW, characterised by more dynamic content and an interactive NETWORK USE POLICIES VODCAST (VIDEO PODCAST) ‘read-write’ role on the part of the consumer public. Content Software settings defined by the network administrator in A form of podcast which includes video clips or photos and is consumers can become content creators as well, for server operating systems, e.g Windows Server 2012, to downloaded and played as a movie. example, on social networking sites. control what users can and cannot do with the network.

WEB 3.0 The future of the WWW, in which exact directions are still MODULE 2.3 – THE INTERNET AND THE WWW uncertain, but which will certainly contain elements of MODULE 3.2 - IT AND THE WORKPLACE artificial intelligence and a greater emphasis on personalised AUDIO AND VIDEO ON DEMAND (AVOD) content; in other words less ‘reaction’ and more customised ARTIFICIAL INTELLIGENCE ‘prediction’ in favour of users. Web 3.0 will also be Video on Demand (VOD) and Audio and Video on Demand Simulation of human decision-making processes by a accompanied by enhancements in web-enabled devices, (AVOD) are systems which allow users to watch video computer system that is programmed to react based on elimination of incompatibility issues, extensions in mobile content and listen to audio content on demand. input gained from sensors. capacity and increases in bandwidth and speed.

DOWNLOADING DECENTRALISATION OF LABOUR WEBINARS Transferring and saving an audio or video file from the Concept whereby ICT has made it possible for people to Online seminars, which users in remote locations can Internet onto a computer, smartphone or tablet. You can work from remote locations, instead of being tied to a participate in, using online conference technologies. These then play the file at a later stage, or more than once, specific central location. occur in real-time and allow ‘delegates’ access to interactive without being connected to the Internet. conferences and workshops. GRAPHIC DESIGNER

FIXED LOCATION INTERNET ACCESS Someone who designs the ‘look’ of a product or solution, WWW (WORLD WIDE WEB) High speed data transmission to homes and businesses using such as the physical packaging, or the visual/spatial aspects A service on the Internet. The WWW consists of a vast global cabled technologies such as ADSL. This is often referred to as of a program or website. collection of interlinked, Interactive multimedia documents. a fixed broadband access.

MOBILE OFFICE

INTERNET A concept whereby the tools of your business, e.g your

A worldwide computer network, consisting of devices, tablet and smartphone, are carried around with you, computers and networks connected to one another. MODULE 2.4 – INTERNET SERVICES TECHNOLOGIES allowing you to perform common office functions while ‘on the move’. INTERNET PROTOCOL TELEVISION (IPTV) DNS (DOMAIN NAME SYSTEM) The delivery of television services over the Internet instead An Internet service that translates domain names to IP NETWORK ADMINISTRATOR of through traditional satellite systems such as South Africa’s addresses. Domain names consisting of words are easier to Someone who manages a network from the software DSTV. remember than IP addresses. The Internet is based on IP perspective, typically working on a server and using the addresses. When you use a domain name, a DNS service management tools provided by a network operating system, JPEG must translate the name into the corresponding IP address. e.g Windows Server 2012

The most common file format used for digital photos or graphics, also widely used for graphics on websites. (JPEG DYNAMIC WEBSITE OFFICE AUTOMATION files are also known as JPG files.) A website consisting of web pages designed to be generated Process whereby certain routine office processes are carried ‘on the go’ and which may differ each time, based on who out without human intervention. LIVE BROADCASTS the user is and what their recorded preferences and options are. The broadcasting (Streaming) of different types of media in OUTSOURCING real-time without any significant delay, allowing users to Contracting specialist businesses to run aspects of your own EXTRANET witness events as they are happening. business that are essential for proper functioning, but that An organisation’s intranet (or part thereof) which is available do not fall within your own area of expertise. to other users outside the organisations. LOSSLESS COMPRESSION

Compressing data without losing any portion of the data. It PC TECHNICIAN INTRANET allows the exact original data to be reconstructed. Someone who assembles, upgrades and repairs computer An organisation’s private network which is an Internet-like hardware. environment consisting of documents and resources relating LOSSY COMPRESSION to the organisation’s business. Compressing data by sacrificing some insignificant or PROGRAMMER virtually indetectable portion of the data. Someone who writes code to create or maintain software, RIA (RICH INTERNET APPLICATIONS) often as part of a team with other programmers and IT A web application that is designed to deliver the functions MOBILE INTERNET ACCESS specialists. and features of a traditional desktop application. Web The ability to connect to the Internet using wireless browsers are required for access. Unlike traditional networks such as the cellular phone network. This is often ROBOTICS applications, the installation of software is not needed. referred to as mobile broadband Internet Access. Performance of physical tasks, commonly repetitive or

dangerous ones, by computer-controlled machines rather RSS (REALLY SIMPLE SYNDICATION) MP3 (MPEG-1 AUDIO LAYER-3) than by human beings. A web or news feed that automatically provides users with The most common digital music file format, combing updated content or notifications of new content. This efficient compression with excellent sound quality. The SECURITY CONSULTANT content can then be accessed from a central application current standard for storing digital music. Someone who critically evaluates the security aspects of a without having to check each and every website. business, then designs or recommends appropriate

MPEG (MOVING PICTURE EXPERTS GROUP) solutions. SEO (SEARCH ENGINE OPTIMISATION) A reference to the digital compression standards and file A strategy or technology used to obtain a high-raning formats developed by the group. SYSTEMS ANALYST placement in the search reults page of a search engine such Someone who performs the ‘Interface’ function between as Google. MPEG-2 client and programmer, analysing the requirements of the

A standard used for the compression of video files and their client as a list of specifications for the programmer, who will STATIC WEBSITE associated audio tracks, and widely used to broadcast digital ultimately create the software solution. A website consisting of multiple pages – each a single file television. that displays exactly the same information every time to the TELECOMMUTING user just as when it was created. MPEG-4 Working in decentralised locations, e.g from home, but using

The latest and still developing standard used for the modern communication occasionally to ‘check in’ at the compression of audio and visual digital data through the use physical office. of lossy compression. SECTION 3 – SOCIAL IMPLICATIONS VIRTUAL OFFICE

STREAMING A fixed physical address, containing minimal office setup The immediate and real-time delivery of media content to a such as a reception desk and meeting room, which is used as receiving device, starting from the time at which the media a shared space by people who otherwise work from a mobile file is opened. The file is not saved to your device. MODULE 3.1 – ICT AND SOCIETY office.

WEB AUTHOR DISTRIBUTED DATABASE E-READER Someone who uses a variety of tools to plan, structure, A system where parts of a database (the data and the DBMS) Single-purpose device designed to allow you to read e-books create and maintain a website. are spread (distributed) across servers in separate locations. (and have a portable library of e-books).

PROJECT MANAGER LAPTOP

A person who plans and sets out goals on a timeline to A complete computer in a case that includes a screen,

oversee the progress of a project from beginning to end. keyboard, pointing device, WiFi and a battery to power the SECTION 4 – DATA AND INFORMATION device when away from a fixed power source. MANAGEMENT SERVER DBMS SOFTWARE Database software that is installed on a server and is never NETBOOK directly accessed by the user but accessed by custom A low-power, low-spec version of a laptop (i.e with a small written client software or applications. screen, and less RAM, storage and processing power) designed for very basic computer tasks such as web MODULE 4.1 – INTRODUCTION TO DATABASES UNIX ADMINISTRATOR browsing and e-mail (hence the name netbook). Largely A person who is responsible for installing, configuring and discontinued, replaced by tablets. troubleshooting the DBMS that runs on a Unix operating ACCURACY system. POWER USERS This refers to the fact that the data is ‘right’. Users who need high end computer specifications for their job or special interest. They may also need specific hardware ALTERNATE KEY related to the task, and will typically use most of the A field that identifies each record with a unique value but is advanced functions of the software they use. not used as the primary key. MODULE 4.3 – INTRODUCTION TO MULTI-TABLES SMARTPHONE COMPLETENESS ANOMALIES Basically a mobile phone/computer with an operating This refers to how comprehensive the data is. Problems or errors that occur when you try to insert data, system, but only as large an ‘ordinary’ cellphone. It can run delete data or update data. apps (programs) and has sensors built into the hardware CORRECTNESS (e.g. GPS, accelerometers, camera) to extend its usefulness This refers to data being ‘logically correct’ or ‘reasonable’. COMPOSITE KEYS as a multi-purpose device. The combination of more than one field to uniquely identify CURRENCY a record. SMARTWATCH This relates to how ‘recent’ or up to date the data is. A watch that offers additional computing power/sensors as DATA INDEPENDENCE well and can interface with your DATA VALIDATION The same application can be used for data stored on smartphone/tablet/computer. Any technique used to reduce the number of errors that can different media (physical independence), and the application be made during the input of data. will not be affected when you add a table to a database or SOHO create extra fields in existing tables (logical independence). An acronym for Small Office Home Office, used to describe DATABASE smaller business organisations and to differentiate them A collection of data or facts regarding a specific topic, e.g DATA INTEGRITY from large corporations. details of a CD collection or details concerning clients. The overall completeness, accuracy and consistency of data. Data integrity is ensured when each record has its own TABLET FIELD unique primary key and when a foreign key refers to an A larger (7” and up) version of a smartphone, runs the same A single fact or the smallest unit of data. existing record in another table. OS and has all the same technologies (except the ability to be used as a phone); with the added advantage of a larger PRIMARY KEY DATA MAINTENANCE screen area for greater productivity. A field that identifies each record with a unique value. Adding or deleting records, or updating data.

QUERY DATA REDUNDANCY Extracting information according to specified criteria. The unnecessary repetition of data. MODULE 1.2 – CLOUD COMPUTING

RECORD DATA SECURITY CLOUD APPLICATIONS A collection of fields that contains details on a specific entity. The protection of databases against unauthorised access by Software where most of the processing is done ‘in the cloud’ users. – i.e by one or more servers on the Internet. RELEVANCE This relates to how closely the data matches your needs. ER (ENTITY RELATIONSHIP) DIAGRAMS CLOUD COMPUTING Diagrams used to illustrate relationships between entities. The use of resources offered as services over the Internet TABLE (IN DATABASE) and shared between many users. Including online file Grouping related records in a table where each row FOREIGN KEYS storage services and the running of programs. represents a record, and each column a field. A field (not a primary key) that is used as a ‘link’ to a field in another table (usually the primary key). SAAS (SOFTWARE AS A SERVICE) The concept of ‘renting’ software instead of buying a license RELATIONAL DATABASE to use it forever. You have the right to use the latest version MODULE 4.2 – DATABASE MANAGEMENT A database containing many tables linked together in of a program for as long as you are paying a monthly relationships. subscription fee.

DATABASE ADMINISTRATOR (DBA) VIRTUAL MEMORY A person who is responsible for managing and maintaining GRADE 12 THEORY An area of storage or disk space that the operating system databases (usually via DBMs). This involves the allocation keeps for its own use. and supervision of users of the database and their access SECTION 1 – SYSTEM TECHNOLOGIES rights, as well as performing routine maintenance on the VIRTUALISATION database. Either splitting resources of very powerful machines

DATABASE ANALYST between multiple users, or combining the resources of many MODULE 1.1 – HARDWARE machines to create a super powerful service – in each case A person who is concerned with issues such as the need to the illusion is created of a single computer, but which is in make changes to the underlying database structure, CONVERGENCE reality a ‘virtual machine’. A technology heavily relied upon analysing the efficiency of the system and analysis and Trend whereby separate technologies and functions from in cloud computing. design activities in terms of the new developments and multiple devices are combined into a single multi-purpose maintenance of the database. device.

DATABASE MANAGEMENT SYSTEM (DBMS) CORE Software that allows you to work with electronic databases. SECTION 2 – COMMUNICATION AND INTERNET A single complete working CPU circuit – relevant because Examples are Microsoft SQL Server, Oracle, Microsoft TECHNOLOGIES modern chips are ‘multi-core’ and contain more than one Access, Blackfish and MySQL. ‘core’ in a single physical CPU ‘chip’.

DATABASE PROGRAMMER E-BOOK A person who is responsible for coding the custom-made MODULE 2.1 – NETWORK CONFIGURATION Eletronic version of a book, read by using an e-reader or software that is the user interface to the database. other e-book software.

DESKTOP DATABASE

Database software where the tools that you need to work with the data are included in a single application and you need to start that application to be able to work with the database.

BITTORRENT CYBER-EXTORTION A peer-to-peer protocol used to transfer and share large files The use of IT-based blackmail, whereby threads are issues across a network such as the internet. MODULE 2.4 – INTERNET SERVICES TECHNOLOGIES ranging from the personal (e.g. release of unflattering images) to the corporate (e.g DDOS attacks on websites) – USER RIGHTS AJAX unless specified amounts of money are paid over to the extortionist. Set of rights and permissions defining what a user is allowed AJAX (Asynchronous JavaScript and XML) combines to do with files (e.g. read, write, modify). Set up by an JavaScript with a browser command to allow the browser to administrator using a network operating system. download data without requiring the whole page to refresh. CYBERGANG A group of people who help each other to commit COOKIE cybercrimes. Each member often specialises in a different task. A text file (max 4 Kb) used to store customised settings for a

MODULE 2.2 – SECURITY CONCEPTS website on your local computer. DDOS DIGITAL CERTIFICATE CSS Distributed Denial of Service: an ‘attack’ that makes a website unavailable by the use of thousands or millions of A certificate issued by a trusted third party to verify the CSS (Cascading Style Sheets) allow you to define and name computers to request data from the site at the same time. identity of a person or organization, so that the person or styles and then specify the formatting for those styles and The servers become overloaded, unresponsive, and organisation may be trusted for communication of sensitive save it all into .css file – this makes it easy to apply effectively unavailable for everyone. information. An essential part of the SSL encryption consistent formatting to the elements of your website. protocol. JAVASCRIPT HACKER General term used for any person who uses ICT skills to DIGITAL SIGNATURE A language designed specifically for execution within web access computer systems, networks and information An electronic ‘signature’ used to identify and validate the browsers. illegally. Sometimes differentiated into two subcategories, sender of an electronic message (e-mail) or the ‘signer’ of an ‘good’ hackers (‘white hat hackers’) and ‘bad’ hackers (‘black electronic document. ONLINE STORAGE hat hackers’) Storage of data in a database by a web server, which

DRM (DIGITAL RIGHTS MANAGEMENT) manages resource files such as pictures and videos needed IDENTITY THEFT A way of protecting digital books, movies, games etc. by to generate web pages. (Distinguish carefully from online file When someone steals your details (e.g ID document, driver’s using some form of encryption to control access to the storage, which refers to services offered by sites such as license, PIN code) in order to pretend to be you, and then content (copying, viewing, printing, changing ect). Dropbox, OneDrive, ect.) buys expensive goods in your name, or draws money from

your account, ect. ENCRYPTION SERVER-SIDE INSTRUCTIONS / SCRIPTING

The ‘scrambling’ of text or data using a specified set of rules Server-side instructions make dynamic creation of a web PIGGYBACKING to ensure the privacy of data during communication, or for page possible and are written in languages such as Perl, Gaining access to and using someone else’s Internet security purposes. Ruby, ASP.NET, Python and PHP. These instructions are connection without paying for it, most often through use of carried out on the server before the .html (page page) file is an unsecured WiFi network. PUBLIC KEY ENCRYPTION sent to the browser.

A type of encryption where a generally available public key is SCRIPT KIDDIES used to encrypt data, but a different private key is needed to SQL-STORED PROCEDURES Derogative term used for people who do not know how to decrypt and read the data. A whole lot of SQL instructions, grouped together and given create a virus from scratch, but who obtain virus ‘templates’, a unique name, and then stored inside the database for easy or pre-created ‘scripts’, which they modify and release. SSL (SECURE SOCKETS LAYER) reuse later.

An encryption protocol, which encrypts data, sent over the SPAMMER Internet. Used by websites for communicating sensitive WEB STORAGE SPECIFICATION Someone who sends out unsolicited (unasked-for / information (e.g banking details). A newer alternative to cookies that allows more continuous unwanted e-mail – usually in the form of advertisements. and flexible local data storage, and larger amounts of it,

using JavaScript. VIRUS AUTHOR

Someone who writes the code for a computer virus (or other MODULE 2.3 – THE EVOLVING WEB XML form of malware). XML or Extensible Markup Language is a set of rules that you

APPLICATIONS OF THE WEB follow when creating your own codes, to allow you to structure data in a text document in any way that you need The trend for information that was previously accessed to. through conventional web pages and a browser, to be MODULE 3.3 – CRITICAL COMPUTING accessed via dedicated apps on mobile devices. Driven by increasing reliance on mobile devices for interaction with DISTRIBUTED COMPUTING web services, with benefits of the speed, ease of use, Sharing and using the resources of many different singleness of purpose, ect. SECTION 3 – SOCIAL IMPLICATIONS computers at the same time in order to solve a single

problem. CONTEXT-AWARE SEARCH

A search in which context (e.g one’s immediate physical DSS (DECISION SUPPORT SYSTEM) location) is used as criteria to make search results more MODULE 3.1 – KEEPING UP WITH TECHNOLOGY A computer system designed to gather information from a relevant. Inevitable downside is loss of privacy – the higher wide range of sources, analyse it, and present it in the relevance of the search, the greater the sacrifice of the PATCH summarised or graphical formats that aid in decision- personal privacy. An update that can be downloaded to fix a specific bug in making.

software. Most patches are used to fix security MEDIATED SEARCH vulnerabilities in the software. EXPERT SYSTEM/KNOWLEDGE-BASED SYSTEM A search that is mediated, or ‘managed’, by humans rather A rule-based form of Artificial Intelligence where human than by reliance on algorithms. The search engine acts more SERVICE PACK expertise is coded into a computer system that can take like an online directory, returning results fewer in number, A collection of fixes, updates and new features since the input and arrive at a decision far more quickly than most but more relevant and useful. release of the original software or previous service pack. humans can.

PROFILED SEARCH FUZZY LOGIC A search in which the results are customised by search A type of reasoning that works with probabilities in order to engines (like Google) to match one’s profile of interests and MODULE 3.2 – COMPUTER CRIMES AND CRIMINALS arrive at a decision. activities. The force behind it is commercial – exposure to advertisements and markets that one is more likely to respond to. BOTNET A remotely controlled network of ‘zombie’ PCs (computers SEMANTIC SEARCH infected with malware that enables criminals to use them SECTION 4 – DATA AND INFORMATION for launching DDOS attacks, sending out spam, ect.) A search built on the idea of the (yet unrealised) ‘semantic MANAGEMENT web’, in which computers will have the ability to interpret metadata on web pages that will allow them to navigate and CRACKER Term no longer in general use, but which refers to a ‘bad’ filter the Web intelligently, without human intervention, by hacker (‘black hat hacker’) who does illegal things such as autiomatically applying the necessary search criteria. MODULE 4.1 – DATABASE DESIGN AND CONCEPTS stealing or making unauthorised changes to data.

THE ‘INTERNET OF THINGS’ ACCESS CONTROL The concept that more and more devices and objects are CYBERBULLYING The use of software settings and various technologies (e.g being connected to the Internet, with the ability to The use of ICT tools and devices (cellphones, e-mail, social passwords, encryption codes, biometric security measures) communicate with other devices and objects, and to take media ect) to malign, mock, embarrass, threaten or to control user’s access to data and resources. It also ‘intelligent’ decisions based on the input received. intimidate a person. involves control over physical access to equipment.

LOGICAL DATA INTEGRITY RFID READER FLOW CHART EXAMPLE The correctness of data, or data ‘making sense’ in a The component of the RFID System designed to read particular context. information in RFID tags when ‘swiped’ past it or brought within suitable reading distance, and then to initiate NORMALISATION processing of the data received. A series of steps followed to ensure that a database is an optimal state, with no chance of anomalies (irregularities) – RFID TAG that data is not being repeated and that queries and reports The component of the RFID system designed to be ‘read’ can be created with ease. and therefore placed on items that need to be tracked or interacted with. NORMALISATION A series of steps followed to ensure that a database is in an SQL optimal state, with no chance of anomalies (irregularities) – Structured Query Language – a standard language used for that data is not being repeated and that queries and reports querying and manipulating data in a database. can be created with ease.

PHYSICAL DATA INTEGRITY

Overcoming practical issues such as power failures, mechanical failures, natural disasters, ect. And dealing with PSEUDO CODE EXAMPLE the physical storage and retrieval of data.

PURGE

Actually, remove deleted records from a database to compact and streamline the file.

ROLLBACK

When the DBMS gets the instruction to reverse a transaction

(or series of transactions) and restores the data to its previous state.

TRANSACTION PROCESSING SYSTEM A software system that captures and processes data from everyday business activities.

MODULE 4.2 – DATABASE MANAGEMENT TRACE TABLE EXAMPLE Trace tables are used to allow programmers to trace the AUDIT TRAIL value of variables as each line of code is executed. The A record or ‘trail’ that is made to keep track of who made values of the variables are displayed in a table and assist the changes to a database when those changes were made. programmer in identifying any potential errors.

PARALLES DATA SETS/MIRRORING LINE CODE Technique whereby multiple identical copies of data are kept (hence the term mirroring). 1 total := 0 2 for count := 1 to 3 do SQL INJECTION begin A hacking technique where SQL statements are entered into 3 number := strtoint(inputbox(‘’,’Enter number ‘,’’)); data input fields query parameters instead of data. 4 total := total + number; end;

LINE TOTAL COUNT NUMBER MODULE 4.3 – DATA COLLECTION, WAREHOUSING, 1 0 2 1 MINING 3 5

4 5 ‘INVISIBLE’ DATA CAPTURE 2 2 A type of data capture that usually happens when 3 7 you allow data to be captures for a specific purpose, 4 12 and other data not strictly required for this purpose 2 3 is also captured, often without your awareness. 3 9 4 21 DATA COLLECTION Any method of obtaining data to be processed. (Distinguish carefully from the process of ‘collecting data’ for academic/research purposes.)

DATA MINING The use of complex algorithms to group and arrange ‘big data’ so that interesting and previously unknown patterns emerge – and new information is discovered.

DATA WAREHOUSE A huge collection of data, often accumulated from a range of sources such as separate databases within a company.

LOCATION-BASED DATA Data that is linked to a specific location – usually using co-ordinates captured by a GPS device.

RFID Radio Frequency Identification – a data capture technology designed to store more data and work more interactively than conventional barcode systems.