FORM 5 COMPUTING NOTES THEORY Adapted & Compiled by Mr P. Formosa Computing | Form 5 Theory 1 TRANSLATION OF HIGH-LEVEL LANGUAGES PROGRAMMING LANGUAGES Software is written using programming languages. Such languages are designed to avoid the complexities and ambiguities which natural languages possess. Programming languages may be classified into two major categories: Low-Level languages (LLL) Low-level languages are referred to as machine-oriented languages because the programmer, apart from planning out and coding a solution to the problem, needs to have knowledge of the internal workings and of the CPU structure of the computer. High-Level languages (HLL) High-level languages are referred to as problem-oriented languages since the programmer needs to concentrate only on the solution of the problem, rather than the hardware of the CPU. Computer Languages Low-level High-Level (Machine-Oriented) Machine Code 1GL *1GL: 1st Generation Language (Problem-Oriented) 3GL Assembly Language 2GL *2GL: 2nd Generation Language *3GL: 3rd Generation Language LOW-LEVEL LANGUAGES Programming languages which are more difficult to understand, since they are closer to the machine (the computer). Hence the term machine-oriented. Low Level Languages are categorised into Machine Language and Assembly Language. MACHINE LANGUAGE (1GL) Machine language is the language that the hardware of the CPU can understand and therefore is able to execute. The language is developed during the design of the CPU and is fixed into the CPU during its manufacture. This means that machine languages are CPU specific. Since Machine language was the first ever computer language to be used, it is referred to as 1st Generation Language (1GL). Adapted & Compiled by Mr P Formosa Page | 1 Computing | Form 5 Theory Machine language is made up of a number of machine instructions. The complete group of machine instructions available for a CPU is known as the Instruction Set. A machine code instruction consists of 1s and 0s and is the only type of instruction that can be executed by the CPU. A machine code instruction is made up of two parts: OPCODE 0 0 OPERAND 0 1 0 1 1 0 ^ machine code instruction The Opcode (also called function code) specifies the type of operation to be performed, such as an addition operation. The Operand (also called address field) is either the data to be operated upon or specifies a location address in memory from where data is to be retrieved for the operation. The instruction above may be interpreted as: ‘add the contents of memory location 133 to the accumulator’. Example: The instruction above could be interpreted as ‘Add 6’ OPCODE 0 0 0 1 + OPERAND 1 1 0 means ADD 0 8-bit Register 6 ASSEMBLY LANGUAGE (2GL) Assembly language is directly related to machine language, because for every machine language instruction there is its equivalent assembly language instruction. However instead of binary numbers, mnemonics are used for the Opcodes and symbolic addresses for the operands. A mnemonic is a meaningful word for the Opcode that provides some indication on the type of operation. A symbolic address for the Operand is an alternative way for selecting the data to be operated upon. A symbolic address consists of a label that is used to identify either an item of data to be operated upon or the address of data in memory. OPCODE (MNEMONIC) Machine language 0 0 0 OPERAND (SYMBOLIC ADDRESS) 1 + 0 1 means ADD 0 0 Assembly language Adapted & Compiled by Mr P Formosa 1 0 8-bit Register 6 0 1 0 1 1 0 ADD 6 Page | 2 Computing | Form 5 Theory HIGH-LEVEL LANGUAGES (3GLs) High-level languages use simple English-like words and statements for constructing complex program instructions. Thus, programs are easier to write (since the language is easier to learn) and debug. Since one high-level language instruction can perform a complex task, programs tend to be shorter than their low-level language equivalent. High level languages are not CPU specific, implying that the program in high-level language can run on different machines. However, compared to a LLL program, a HLL program is slower to execute (since it needs to be translated to machine code) and requires more memory space. There are a large number of high-level languages which may be classified as shown below: Commercial languages: These languages are used for business and other commercial data processing applications. They offer few numerical handling capabilities but have powerful file handling facilities. COBOL and RPG are two such languages. Scientific languages: These are used for scientific, mathematical and engineering applications. They have powerful numerical processing facilities. FORTRAN and ALGOL are two such languages. Special purpose languages: They have been developed for solving specific types of problems. CORAL and ADA are used for real-time applications. General purpose languages: Used for educational, scientific and commercial applications. PASCAL and JAVA are both educational and structured languages. BASIC - an interactive language which is easy to learn and use. 4TH GENERATION LANGUAGES (4GLs) 4GLs are the most modern high-level languages available today. The user must concentrate on what is required to solve the problem, while the 4GL carries out multiple complex procedures which solve the problem. 4GLs were designed for the quick development of a particular application program through relatively easy programming. A popular example of a 4GL is SQL which is used to execute complex queries within a database. The user needs only to see what results are required from the query while SQL executes the query and returns all the matching records. Example: The below SQL code is used to list the customers from Mexico from a database of hundreds of employees. Adapted & Compiled by Mr P Formosa Page | 3 Computing | Form 5 Theory PROGRAMMING LANGUAGES VS 4GLs The most efficient way for a software developer to decide whether to use a programming language or a 4GL is to first try to see whether the problem in question can be possibly solved by a 4GL, otherwise there will be no other way except to choose a programming language. ADVANTAGES OF USING A 4GL Applications are quickly produced. It vastly increases programmer productivity, even though it uses more hardware resources. It promotes IT throughout the company where the software is being used (as the programs will be used by most/all employees) ADVANTAGES OF USING A PROGRAMMING LANGUAGE INSTEAD OF A 4GL The program developed will not necessarily need a high-end performing computer as it may make use of less hardware resources. Programming Languages are more efficient as 4GLs tend to slow down the computer. When the program becomes too complicated it is not recommended to use 4GLs. PROGRAM TRANSLATORS We’ve already established that a computer program is written by a programmer in a High-Level Language (such as Java); …but Remember: The Computer is a Digital Machine and it understands only BINARY (which is a Low-Level Language). Therefore, in the same way I would not be able to talk to people in China (as I don’t speak Chinese), a computer cannot execute a program unless it understands the language in which it has been written. A program written in a high-level language (such as Java) cannot be run directly. To execute a computer program written in high-level or assembly language, it must be first translated to machine code. Source code is the code written by the programmer and input to the translator Adapted & Compiled by Mr P Formosa Executable code (or Object Code) is the code which is output after translation (i.e. Machine Code) Page | 4 Computing | Form 5 Theory There are 3 types of program translators which convert the source code into object code; Assemblers, Compilers and Interpreters. ASSEMBLERS SOURCE CODE ADD DCT JMP MOV CMP ADD DCT INPUT … … … … … … … ASSEMBLER Programs written in Assembly Language need to be translated to machine code in order to be executed. This type of translation is done using an Assembler. The assembler converts the programmer’s source code (the assembly language program) into object/executable code (the machine code program) which can then be executed by the CPU. OBJECT CODE 01001001 10010101 01100100 01000111 11001010 01001001 10010101 EXECUTION As with an assembly language program, the CPU cannot execute a high-level program unless it is translated into machine code by an Interpreter or Compiler. COMPILERS INTERPRETERS Compilers translate the entire source code into machine code. Then execution of the object code can start. Interpreters translate one instruction and execute it. Then they move to the next instruction to translate it and execute it. This means that instructions are translated and executed one by one until the end of the program is reached. SOURCE CODE SOURCE CODE COMPILER INTERPRETER OBJECT CODE OBJECT CODE Adapted & Compiled by Mr P Formosa Page | 5 Computing | Form 5 Theory COMPILERS VS INTERPRETERS COMPILERS INTERPRETERS Must be present in the memory unit only during Must be present in the memory unit every time compilation. Once compiled, the compiler is no the program is run. longer needed. Produces object code for the entire program. Does not produce object code for the entire program. Program runs faster. Program runs slower. Debugging is more difficult because errors are Debugging is easier since interpreter stops listed at the end of compilation. when an error is encountered. Not helpful during the development of a Helpful during the program development program. process. Complex translator program. Simpler translator program. COBOL and Pascal are compiled languages. BASIC and Logo are interpreted languages. PROGRAMMING LANGUAGES - SUMMARY Computer Languages 1st Generation Language (1GL) 2ndGeneration Language (2GL) 3rd Generation Languages (3GLs) 4th Generation Languages (4GLs) LLL LLL Instructions written in Binary (1s and 0s). Instructions written in Mnemonics and Symbolic addresses. HLL Instructions written simple English-like statements. 4GLs Instructions written as simple statements. The 4GL then carries out multiple complex procedures. Adapted & Compiled by Mr P Formosa Examples Machine Code Translation No Translation needed Assembly Language Translated using an Assembler Pascal, Fortran, Java, Cobol, Coral, Algol, ADA, RPG Translated using a Compiler or an Interpreter SQL, PHP, Python, Ruby Translated using a Compiler or an Interpreter Page | 6 Computing | Form 5 Theory ERROR MESSAGES Error messages occur during the translation process. Three common types of errors when translating high-level languages are: Error Definition Syntax Error Happens when the programming code has Typing clsas instead of class spelling mistakes. Forgetting the ; Logical Error The program runs without displaying error area = length + breadth; messages but outputs the wrong results. instead of Caused by incorrectly reasoning out the area = length * breadth; solution. Run-Time Error Errors that occur while the program is running. Carrying out a division by 0 Overflow Trying to print and printer is switched off Adapted & Compiled by Mr P Formosa Example Page | 7 Computing | Form 5 Theory SOFTWARE LICENSES A software license is a type of contract between the software developer and the user of that software. This is sometimes called an End User License Agreement (EULA) that specifies what permissions of usage have been granted to the user by the owner. There exist different types of software licenses: COMMERCIAL Any software made available for sale by an individual or a company in view of earning profits. Commercial software often needs registration numbers to install it properly and should be thoroughly tested before it is released to the public. SHAREWARE Software distributed freely, but with certain conditions applying to it. Either the software is released only as a trial version or having certain functions not operating. FREEWARE A software program that’s available for user without having to pay anything. This doesn’t mean the program isn’t copyrighted. Usually, the developer retains the copyright. Anyone can use it, but the program cannot be legally sold or distributed without permission. PUBLIC DOMAIN Software that is free to be used, distributed or modified. It has been given up to the public free of copyright restrictions. PATCH A patch is a small file that when executed will fix specific problems in a target file or application. UPGRADE A new version of a software package designed to replace an older version of the same product. Typically, software houses sell upgrades at a discount to prevent users from switching to other products. Most often, the installation routines for upgrades check to ensure that an older version is already installed on your computer, otherwise installation stops. Why should you buy Software? Buying original software ensures that the latest version is installed, including manuals and all accompanying software support material. Software manufacturer will be able to provide users with technical support if they encounter difficulties in using the software. Product updates will be available for free or at reduced prices. Law requests heavy fines on both copiers of software and those using copied software. Reduce virus risk: the more hands a software program passes through, the higher the chance of encountering a virus. Adapted & Compiled by Mr P Formosa Page | 8 Computing | Form 5 Theory SOFTWARE PIRACY Software piracy is the copyright infringement of software by those seeking to produce illegal copies of the same software. There are several practices which when done without the permission of the copyright holder may be classified as software piracy. The following are the types of software piracy: INDUSTRIAL PIRACY Industrial piracy occurs when an individual or group attempt duplication (copying) and distribution on a large scale for profit. As it has become very easy to copy, crack and share software, the threat of this practice has escalated. CORPORATE PIRACY Installing one copy of software to be shared over a network where potentially hundreds of employees may gain unlicensed access. The legal way to do this is to purchase a license for each employee or a site license (a special software license which can be installed on multiple computers). RESELLER PIRACY Computer hardware companies selling computers and devices with illegal copies of software already installed on their hard drives. HOME PIRACY Sharing illegal copies of games and other software applications with friends and/or running a not-for-profit website where illegal software is uploaded for everyone else to download for free. Adapted & Compiled by Mr P Formosa Page | 9 Computing | Form 5 Theory 2 ASSEMBLY LANGUAGE Assembly Language made its first appearance in the early 1950s. It basically replaced the binary input. In Assembly, a programming instruction is encoded by addressing a location in the computer’s memory and then modifying its data contents. This is done by using mnemonics for the Opcode and symbolic addresses (variables) for the Operand (refer to previous chapter). Opcode Operand LDA Source An example of an assembly language instruction: …which means: Copy the contents of the source (memory location) to accumulator. DO YOUR REMEMBER? The Accumulator is a register found the ALU which is used to store the current result of an operation. The assembly language instruction set may be classified into three categories: Fetch and store instructions: such instructions are used to read from and write to memory locations. Opcode examples are: LDA - copy the contents of the memory location into the accumulator STA - copy the contents of the accumulator into a memory location Arithmetic and logic instructions: these are used for performing arithmetic and logic operations on data. Opcode examples are: ADD - add contents of memory location to accumulator SUB - subtract contents of memory location from accumulator NOT - apply the ‘not’ logic operation to the bits in the accumulator Branch/Jump instructions: these instructions are used to change the normal sequence of execution of instructions. Opcode examples are: JMP - jump unconditionally to the specified instruction JPZ - jump to the specified instruction if the accumulator contains zero (conditional) Adapted & Compiled by Mr P Formosa Page | 10 Computing | Form 5 Theory The following assembly language program adds three numbers located in registers num1, num2 and num3 and stores the result in register ANS. Comments for each instruction follow the semicolon. TASK 1 1 LDA num1; Copy the contents of num1 to the accumulator 2 ADD num2; Add the contents of num2 to the accumulator 3 ADD num3; Add the contents of num3 to the accumulator 4 STA ANS; Copy the contents of the accumulator to ANS 5 STP; Stop program execution The execution of the program can be simulated by a dry run of the program. Dry running will show the contents of the memory locations involved and of the accumulator with each step of the program. Suppose that registers num1, num2 and num3 are filled with contents 9, 10 and 1 respectively. Assembly Program num1 LDA num1 9 Memory Contents num2 num3 10 ANS ACC 1 ADD num2 ADD num3 STA ANS STP Final Result OPERAND ADDRESSING When addressing the Operand, this can be: OPERAND Direct address What is being addressed: The memory address Immediate address Actual data stored in the memory address Symbolic address Giving a name to a memory address (like a variable) Adapted & Compiled by Mr P Formosa Example: ADD 36 ADD #12 The # symbol is used to specify immediate addressing ADD Total Page | 11 Computing | Form 5 TASK 2 Theory The following assembly language program uses symbolic addresses for operands. Comments for each instruction have been inserted next to the semicolon. The instructions have been numbered for ease of reference. 1 LDA numx; copy the contents of numx into the accumulator 2 CMP numy; compare the accumulator with contents of numy 3 JLE here; jump to label here if accumulator is less than or equal to numy 4 STA temp; copy the accumulator to temp 5 LDA numy; copy the contents of numy into the accumulator 6 STA numx; copy the accumulator to numx 7 LDA temp; copy the contents of temp into the accumulator 8 STA numy; copy the accumulator to numy 9 here STP; stop Dry run the program and find out its purpose. Use dummy data of your choice. TRY 1: TRY 2: Purpose of Program: Adapted & Compiled by Mr P Formosa Page | 12 Computing | Form 5 TASK 3 Theory Dry run the following program with 5 for num1 and 6 for num2. What value would be stored in result when the program reaches HALT? 1 LODA num1; move the contents of symbolic address num1 into accumulator A 2 LODR num2; move the contents of symbolic address num2 into register R 3 ADD A; add contents of R to A, result in A 4 MULA 2; multiply contents of A by 2, result in A 5 STRA move contents of A into symbolic address result 6 HALT; result; stop Contents of ‘result’: Adapted & Compiled by Mr P Formosa Page | 13 Computing | Form 5 TASK 4 Theory Dry run the program with 21 and 8 in symbolic addresses N1 and N2 respectively. 1 LODA N1; move the contents of symbolic address N1 into accumulator A 2 LODR N2; move the contents of symbolic address N2 into register R 3 SHL A; shift left the contents of A 4 SHR R; shift right the contents of R 5 SUBA R; A minus R, result in A 6 STRA N3; move contents of A into symbolic address N3 Adapted & Compiled by Mr P Formosa Page | 14 Computing | Form 5 TASK 5 Theory Dry run the following program with 16 and –4 in locations 56 and 57 respectively. Dry run again with 25 in both memory locations 56 and 57. 1 LODA 2 CMPA 57; compare the contents of A with the contents of location 57 3 JPEQ equal; jump to label equal if numbers are equal 4 LODA ‘’; load the symbol ‘’ into A 5 STRA 58; move the contents of A into memory location 58 6 JUMP stop; jump to instruction with label stop LODA ‘=’; load the symbol ‘=’ into A STRA 58; move the contents of A into memory location 58 7 equal 8 9 stop HALT; 56; move the contents of location 56 into accumulator A stop Dry Run 1: Dry Run 2: Adapted & Compiled by Mr P Formosa Page | 15 Computing | Form 5 TASK 6 Theory Dry run the program with two different numbers and then write down the function of the program. Convert the program into its equivalent JAVA instructions. 1 LODA 2 CMPA num2; compare the contents of A with contents of symbolic address num2 3 JPGR finish; jump to label finish if contents of A > contents of num2 4 STRA temp; move the contents of A into symbolic address temp 5 LODA num2; move the contents of symbolic address num2 into A 6 STRA num1; move the contents of A into symbolic address num1 7 LODA temp; move contents of temp into A 8 STRA num2; move contents of A into symbolic address num2 9 finish num1; HALT; move the contents of symbolic address num1 into the accumulator A stop Function of Program: Adapted & Compiled by Mr P Formosa Page | 16 Computing | Form 5 Theory Task 6 - Instructions in JAVA: TASK 7 Dry run the program with 8 in location 100 and 3 in location 101. Explain the function of the program. 1 LODA 100; load the accumulator A with the contents of memory address 100 2 LODR 101; load register R with the contents of memory address 101 3 again DECR; decrement by 1 the contents of R 4 JPRZ stop; jump to label stop if register R contains a zero 5 ADDA 100; add contents of A with contents of address 100, leave result in A 6 JUMP again; jump to label again STRA 102; move the contents of A into location 102 7 8 stop HALT; stop Function of Program: Adapted & Compiled by Mr P Formosa Page | 17 Computing | Form 5 Theory PREPARATION OF DATA FOR INPUTTING IN THE 3 COMPUTER SYSTEM DATA PREPARATION AND CAPTURE The computer cannot do anything unless we tell it what to do; for the computer to perform any action, we need to input data. The most common data-entry method to a computer is by typing using a keyboard. REMEMBER: Every command input to the computer needs to be translated to machine code. Translating data after it is input to the computer is known as transcribing data. Ideally, data input to the computer should be correct, complete and error-free, however errors may occur during data transcription. It is very easy for humans to make mistakes while inputting data as they can become tired and their attention is distracted from the job at hand. Therefore, when manually inputting large quantities of data into a computer system, data entry clerks have to make sure that the correct data is input. This is because the computer is a GIGO (Garbage In, Garbage Out) machine. i.e. if you make the wrong input you will get the wrong output. This is the concept of Data Entry Errors. DATA ENTRY ERRORS When inputting data, different types of errors can occur. These include omission, transposition and substitution. Error Definition Example Omission When a data item is omitted (left out). Typing coputer instead of computer Transposition When two (switched). data items are transposed Typing copmuter instead of computer Substitution When you substitute (change) a data item with Typing cimputer instead of another. computer It is important to prevent and check for errors when inputting important data. This can be done through various verification and validation techniques. Adapted & Compiled by Mr P Formosa Page | 18 Computing | Form 5 Theory DATA VERIFICATION AND DATA VALIDATION Data integrity refers to the quality, accuracy, completion and validity of data. Data integrity measures how accurate and consistent computer data is. This is achieved through Data Verification and/or Validation. DATA VERIFICATION Data Verification consists of inputting the same data twice, by two different people and on two different computers. Copies of both data input are then compared by the system and any inaccuracies are reported for correction. To avoid mistakes when inputting data, details are entered twice for each transaction. If a difference is detected, the error will be checked and if necessary, corrected. Data validation involves checking data for errors before the data is processed by the computer. There are different methods of validating data: DATA VALIDATION DATA VALIDATION DATA PROCESSING INPUT DATA Type Check These are designed to ensure that the data in a certain field contains only a specific type of data. For example: A Price field has to contain numbers only. Range Check Determining if the data falls within a specific range. For example: An Exam mark field cannot hold numbers smaller than 0 or greater than 100. Check Digit Codes made up of a lot of numbers (such as a bank account number or barcode) can be very easily input incorrectly. To prevent these errors an extra digit is generated from the other numbers it is then added at the end of the code. In this manner, when the entire code is input the computer performs the same arithmetic operations used to generate the check digit checks that the result obtained matches the check digit then it either accepts the code or displays an error message Adapted & Compiled by Mr P Formosa Page | 19 Computing | Form 5 Theory Universal Product Code (UPC) It is a unique 12-digit number assigned to retail products that identifies both the product and the seller. The UPC on a product typically appears next to its bar code (the machine-readable representation of the UPC). The first six digits of the UPC are the vendor’s unique identification number. This means that all products sold by a particular vendor will have the same first six digits in their UPCs. The next five digits are the product’s unique reference number, which identifies the product anywhere it is sold. The last number is called the check digit and is used to verify that the UPC for that specific product is correct. Other Validation Rules …checkout examples on the following page Field-Length Check: Checks the limit of characters allowed in a field. In fact, it is also known as Limit check. For example: A telephone number cannot exceed or be less than eight digits. Logical Check: Data entered needs to make sense. For example: The return date of a flight cannot be before the departure date. Presence Check (Completeness Check): Checks that certain data has not been omitted from being input. For example: When entering your date of birth, you cannot omit the Year. Consistency Check: Checks that data input in one field is consistent with data input in another field. For example: If user inputs ‘Valletta’ in the ‘Town’ field he cannot input ‘England’ in the ‘Country’ field. Format Checks (Masking): All data input is checked to ensure that all the required fields have been input and each field is checked to ensure that the format and size of data is correct. For example: A date of birth should be entered as dd/mm/yyyy). A required field is usually marked with an *, indicating that particular field cannot be left empty. Adapted & Compiled by Mr P Formosa Page | 20 Computing | Form 5 Theory Data Capture Forms All data has to be collected in some way. Most of the time, it is collected by people, by writing the data onto a form. This type of form is known as a Data Capture Form. People are frequently in shopping centres doing market research where they write all the data onto data capture forms that they have on a clipboard. Data collected on a data capture form is always set out in the same way, making it much easier to type into a computer database. Nowadays, the most common and popular way to collect / enter data into a database is through Online Data Capture Forms. These are exactly as the traditional data capture forms but obviously make the process of collecting and processing data much easier and quicker. The following is an example of an online data capture form. Notice the various validation rules being used. Adapted & Compiled by Mr P Formosa Page | 21 Computing | Form 5 Theory DATA CAPTURE METHODS Apart from Data Capture forms, there exist other methods of inputting data into a computer system. These can be classified into two categories: Direct data capture methods and Indirect data capture methods. INDIRECT METHODS Indirect Methods of data capture involve preparing data into a form which can be read by the machine, obviously before feeding the data to the computer. Manual data capture Most computers use this method of data capture. It usually involves typing in information contained on a previously filled in form. This form is called a Source Document. The source documents are specially designed forms which are filled in by clerical staff. For example: Punched cards can be used as input mediums where you would first need to punch all the required holes before inserting the card into the machine. This method involves a lot of extra work and a lot of errors can occur. Interactive data capture (Key to Disk) Sometimes orders for goods etc. can be typed straight into the computer without filling in any forms. This method is better as it reduces the number of mistakes that can occur. A system where the information is keyed in via the keyboard and then stored on disk is called a Key to Disk system. Adapted & Compiled by Mr P Formosa Page | 22 Computing | Form 5 Theory DIRECT METHODS Because of human errors in the handling of data, improved computerised methods have been developed so that the computer can read the information without leaving the need for any keying in. This means that no typing errors can occur. These methods are also better because input is much quicker. The following are the most commonly used Direct data capture methods: MICR (Magnetic Ink Character Recognition) In this form of data capture the computer can read 13 numbers which are written in magnetic ink. These numbers are written on the bottom of bank cheques. Millions of cheques are handled by banks each day so MICR Scanners facilitate the validation of cheques. OCR (Optical Character Recognition) Used along with a scanner, Optical Character Readers can read characters that are printed in ordinary ink. Nowadays OCR devices have improved to the extent that they can also read handwriting (neat ones of course!). Adapted & Compiled by Mr P Formosa Page | 23 Computing | Form 5 Theory Bar Codes & Barcode readers Bar codes are made up of a series of light and dark lines. The barcode reader sends out a laser beam of light across the barcode. It detects the width of the lines and the computer can process them to obtain the information of that particular item. OMR (Optical Mark Reader) This involves detecting ink marks made on a document. Usually this involves drawing a line or marking a certain area on the document. Marks sensing is used mainly for marking multiple choice examinations, papers and questionnaires. Adapted & Compiled by Mr P Formosa Page | 24 Computing | Form 5 Theory 4 THE OPERATING SYSTEM TYPES OF SOFTWARE Software System Software Operating System System Utilities Application Software Off-the-Shelf Tailor-made Software is broadly divided into system software and application software. Application software are programs that are used to perform specific tasks, such as word processors, spreadsheets and video games. System software are programs which manage the functioning of the computer system and take care of the running and using application programs. System software includes: Operating System: programs that manage the operation of a computer system. o Example: MS Windows, Mac OS, Linux, UNIX System Utilities: programs that perform necessary housekeeping tasks for the computer user. o Example: Disk Defragmenter, Scan Disk, Anti-Virus Software, WinZip THE OPERATING SYSTEM An operating system is a software program that provides an interface between the user and the computer, while it manages all of the computer’s applications. Most computer systems are sold with a pre-installed operating system. Computers that are designed for individual users are called Personal Computers (PCs). PC operating systems are designed to control the operations of programs such as web browsers, word processors, and e-mail programs. Adapted & Compiled by Mr P Formosa Page | 25 Computing | Form 5 Theory The operating system is stored on disk, but before any other program can be run, the operating system needs to be loaded into memory (RAM) once the computer is switched on. How is this done? The operating system is automatically loaded into memory as soon as you turn on (boot) the computer. The term booting refers to the process of loading an operating system into a computer’s memory. This process is done by a program called the bootstrap loader, which is stored permanently in the computer’s electronic circuitry (on a ROM chip). BASIC FUNCTIONS OF ANY OPERATING SYSTEM Every computer has an operating system and, regardless of the size and complexity of the computer and its operating system, all operating systems perform the same basic functions: Managing Resources The operating system is primarily responsible of coordinating all the computer’s resources including the keyboard, mouse, printer, monitor, storage devices and memory. File Management An operating system creates a file structure on the computer’s hard drive where the user’s data can be stored and retrieved. When a file is saved, the operating system saves it, gives it a name and remembers where it stored the file for future use. The way an operating system organizes information into files is called the file system. Most operating systems use a hierarchical file system, which organizes files into directories (folders) under a tree structure. The beginning of the directory system is called the root directory. Providing a user interface Users interact with application programs and computer hardware through a user interface. Almost all of today’s operating systems provide a windows-like Graphical User Interface (GUI) in which graphic objects called icons are used to represent commonly used features. Adapted & Compiled by Mr P Formosa Page | 26 Computing | Form 5 Theory USER INTERFACE: A term used to describe the communication between people and computer systems. CLI (Command Line Interface): A form of interface where the user types the commands to be carried out by the computer. GUI (Graphical User Interface): An interface where the user issues commands by using a Pointing device (e.g. Mouse) to point and click on Windows, Icons and Menus (WIMP) on the screen. Running Applications Operating systems are also responsible to load and run applications such as word processors, spreadsheets and web browsers. Most operating systems support multitasking (the ability to run more than one application at a time). When a user opens a program, the operating system locates the application and loads it into the computer’s primary memory (RAM). As more programs are loaded, the operating system must allocate memory to each open program and manage the computer resources to be used by that program. Support for built-in utility programs The operating system uses utility programs for maintenance and repairs. Utility Programs are specialized programs that make computing easier. All kinds of things can happen to a computer system – hard disks can crash, viruses can infect a computer system, computers can freeze, operations can slow down etc. This is when utility programs are needed. Many operating systems (such as Windows) have built-in utility programs for common purposes (also known as System Tools). Examples of System Utilities are Format, Scan Disk, Disk Defragmenter, Anti-Virus and File Compression Software. Adapted & Compiled by Mr P Formosa Page | 27 Computing | Form 5 Theory Control the computer’s hardware The operating system sits between the programs and the Basic Input Output System (BIOS), the system responsible of controlling the computer’s hardware. All programs that make use of hardware resources must go through the operating system. The operating system can either access the hardware through the BIOS or through the device drivers. TYPES OF OPERATING SYSTEMS Single User Systems Single user systems, as their name implies, provide a computer system for only one user at a time. They are appropriate for computers dedicated to a single function. Most microcomputer operating systems (e.g. Microsoft Windows, which runs on millions of computers worldwide) are of the single user type. Single user systems generally consist of a simple computer system, which facilitates the running of a variety of software packages (e.g. word processor or spreadsheet) as well as allowing users to develop and execute programs of their own. The major emphasis is on providing an easy-to-use interface, a simple file system, and I/O facilities for peripheral devices. Batch Processing Systems Batch processing was the very first method of processing which was adapted. The main purpose of this system was to enable the computer to move automatically from one job to another, without the operator having to intervene. Jobs (that consist of data and programs) are queued. The computer would then process the jobs one at a time without further human intervention. Batch processing is still used nowadays e.g. A Pay-roll system. In any computer system, the speed by which the CPU can execute instructions is much higher than that which other peripheral devices can reach. Thus, peripheral devices such as the printer and disk drives waste a lot of the CPU’s time because they cannot process their part of the job as quickly as the CPU. This results Adapted & Compiled by Mr P Formosa Page | 28 Computing | Form 5 Theory in a large percentage of CPU idle time. Moreover, when a small program is being run, most of the main memory remains unused. Therefore, the biggest disadvantage of such a system is that two most expensive resources of the system – memory and time – are wasted. Multi-Programming Systems The multiprogramming operating system is capable of managing resources more efficiently since at any one time, more than one user’s program can be resident in main memory. In this system, multiple jobs are loaded into the central memory and each is allocated some CPUTime, a tiny fraction of a second during which it receives the CPU’s attention. When a job’s CPUtime is up, that job is paused and control passes to the next job, which can be continued from where it had been left off. In simpler terms, since the CPU processes multiple programs at the same time by switching rapidly between them, the system does not have to wait for one job to be completed before starting the next. The simplest multiprogramming systems make use of a round-robin method, where each job received the same amount of CPU-time. More sophisticated systems allow priorities to be defined for each job, such that the job with the highest priority receives the longest CPU-time. In the example above, the CPU allocates 5 milliseconds to each job. A multi-programming system minimizes the amount of idle time of the CPU as well as the amount of unused memory. A complication arises when printing. What happens when two jobs are printing concurrently (at the same time)? A technique known as SPOOLING is adopted, where each job sends any output to be printed to a spool file instead of sending it directly to the printer. This spool file joins a queue of other spool files waiting to be printed. In a multiprogramming system, the computer is working on several programs which are present in memory at the same time. Time-Sharing Systems (Multi-User System) Adapted & Compiled by Mr P Formosa Page | 29 Computing | Form 5 Theory In batch and multi-programming systems, programs could not be interactive, i.e. when the user sits at the computer terminal and supplies an input, he did not receive an immediate output. On the other hand, timeSharing systems are considered to be interactive as they provide instant feedback, Computer terminals connected to a mainframe computer even if other users are working on the same computer (through other terminals). In order to be interactive, the principle of time-sharing was introduced in the design of operating systems. The aim of a time-sharing operating system is to give each terminal user a response time (called time-slice) of about 3 to 5 seconds. One must consider that even the fastest typist is much slower that the CPU and most people are not fast typists. Sometimes, several seconds or minutes might pass by while the user is deciding what to do next. The operating system would therefore check the keyboard buffer to see if any keys have been pressed. If there has been no activity at a particular terminal, the system simply moves on to the next terminal (thus preventing the CPU from waiting). But if the system detects any activity, it allocates a time-slice to that user. During this time, the computer devotes the full attention to this user. When the time slice is up or the user’s requests have been satisfied, the computer moves on the next terminal. A time-sharing system works on the same principles as a multiprogramming system, except that now the jobs are interactive. In a time-sharing system, each user is allocated a time-slice during which, the CPU processes that particular user’s data. Adapted & Compiled by Mr P Formosa Page | 30 Computing | Form 5 Theory Real-Time Systems A real-time system is based on the principles of immediate processing and up-to-date information. Such systems require files to be located very quickly records must be updated instantly. A transaction is processed to completion at the time it occurs, ensuring that the information in the files reflects the updated (real) situation. An example of a real-time system is when booking a flight. Unless data is updated immediately, it may result in multiple people booking the same seat on the plane, which would cause a lot of confusion. Real-time Systems are also crucial in critical situations (i.e. when there are very high risks involved, e.g. life or death situations). The most typical situations are air traffic control systems, military systems and nuclear weapons control systems, all of which need a system with great accuracy and speed. The following are the characteristics of a real-time system which make it essential for such situations: Supports application programs which are non-sequential in nature Deals with events occurring concurrently direct access is crucial multiple critical situations still need to be taken care of instantly, at the same time Processes and produces a response within a guaranteed specified time interval Any lagging or delays can result in loss of life Adapted & Compiled by Mr P Formosa Page | 31 Computing | Form 5 Theory DEDICATED COMPUTER SYSTEMS GENERAL-PURPOSE COMPUTERS Every machine is built for a specific purpose. A plane cannot perform the function of a car, and likewise, a car cannot perform the function of a plane. A washing machine cannot play your favourite songs and your music player cannot wash your clothes. When computers are built, the manufacturer does not know what it will be used for since everyone uses it for different reasons. Such computers are called general-purpose computers, which perform tasks depending on the application program you are using. If you want the computer to do something different, you just need to change the program you are using. For example: If you want to use the computer to type letters, you use a word processor, but if you want to use the computer as a jukebox, you can run an mp3 player program. GENERAL-PURPOSE COMPUTER SYSTEM: The ‘regular’ computer; A computer with a screen, keyboard and disk drive. BUT… Not all computers are general-purpose computer systems. DEDICATED COMPUTERS / SPECIAL-PURPOSE COMPUTERS Dedicated Computer Systems (or special-purpose computer systems) are computers which use a specific program which is difficult to change. Such a computer would be designed to be very good at some specific task and usually does nothing else. Examples of this are satellite navigation systems, ATMs and gaming consoles. Programs for such a computer would probably only run on this type of computer. Input and output for a special purpose computer cannot be general purpose, like a mouse or monitor. Input and output for a special purpose computer only needs to be used for one task and could be as simple as a button (such as in a stopwatch), a keypad (such as in an ATM), a light bulb (such as in a burglar alarm) or an LCD numeric display (such as in a calculator). Adapted & Compiled by Mr P Formosa Page | 32 Computing | Form 5 Theory EMBEDDED COMPUTER SYSTEMS An embedded computer is a special purpose computer which is part of another machine, such as a computer inside a car. Such a computer might be used to automatically park the car or it might be used to regulate the temperature (the car’s air conditioner). Embedded computer systems are not used directly by the user; instead the computer is there to be used by the machine which is itself used directly by the user. Adapted & Compiled by Mr P Formosa Page | 33 Computing | Form 5 Theory 5 NETWORKING NETWORK: A collection of computers and peripheral devices connected together. Networks allow users to share resources, such as hardware, software, data and information. ADVANTAGES & DISADVANTAGE OF NETWORKS ADVANTAGES of Networks: DISADVANTAGES of Networks: Facilitates communication. The hardware, software and expertise required to set up a network can be expensive. Reduces cost by sharing hardware and software. Sharing data and information stored on other computers on the network. Allow control over who has access to certain data. Networks are vulnerable to security problems. If the server fails to work, the entire network may also fail to work. TYPES OF NETWORKS LAN - LOCAL AREA NETWORK A local area network (LAN) is a network that connects computers in a limited (small) geographic area such as a school computer lab or an office. A Wireless LAN (WLAN) is a LAN that uses no physical wires, but wireless media such as radio waves. WAN - WIDE AREA NETWORK A wide area network (WAN) is a network that covers a large geographic area, such as one that connects multiple offices of the same company across the country or across several countries in the world. Computers are often connected to a WAN via public networks such as the telephone system or by dedicated lines or satellites. A WAN can be one large network or can be made up of two or more LANs connected together. The Internet is the world’s largest WAN. MAN - METROPOLITAN AREA NETWORK A network which is too big to be a LAN but not big enough to be a WAN, for example a large hospital. Adapted & Compiled by Mr P Formosa Page | 34 Computing | Form 5 Theory TYPES OF LANs There exist two kinds of Local Area Networks: Client/Server Network and Peer to Peer Network. CLIENT/SERVER NETWORK A client/server network has one or more computers acting as a server while the other computers on the network (i.e. the clients) can request services from the server. SERVER: A computer system, which is used to store the data and manage resources that are shared by users in a network. A client/server network typically provides an efficient means to connect 10 or more computers together. Most client/server networks have a network administrator who is in charge of the network. Server Clients PEER-TO-PEER NETWORK Each computer on a peer-to-peer network can directly share the resources (hardware, software, data & information) located on any other computer on the network. Each computer contains both the Network Operating System and Network Application Software but stores files on its own storage devices. A peer-to-peer network is a simple, inexpensive network that typically connects less than 10 computers together. It is ideal for home and small business users. A Network Operating System is the System Software that organizes and coordinates the activities on a LAN. Adapted & Compiled by Mr P Formosa Page | 35 Computing | Form 5 Theory COMPONENTS OF A LAN Local area networks are made up of several standard components. Look at the following figure. Connection or cabling system: LANs do not use the telephone network. Instead, they use some other cabling or connection system, either wired or wireless. Wired connections may consist of twisted-pair wiring, coaxial cable, or fibre optic cable. Wireless connections may be infrared or radio-wave transmission. Wireless networks are especially useful if computers are portable and moved around often. However, they are subject to interference. Microcomputers with interface cards: Two or more microcomputers are required, along with network interface cards. A network interface card, inserted into an expansion slot in a microcomputer, enables the computer to send and receive messages on the LAN. The interface card can also exist in a separate box, which can serve a number of devices. Network operating system: As mentioned earlier, the network operating system software manages the activity of the network. It provides the network with multi-user and multitasking capabilities. Depending on the type of network, the operating system software may either be stored on a server, on each of the network’s microcomputers, or a combination of both. In addition to supporting multitasking and multi-user access, LAN operating systems provide access to users through passwords, user IDs, and terminal IDs. Examples of network operating Adapted & Compiled by Mr P Formosa Page | 36 Computing | Form 5 Theory systems are Novell's NetWare, Microsoft's LAN Manager, and IBM's PC LAN. You can also establish peer-to-peer networking using Microsoft Windows for Workgroups. Other shared devices: Printers, fax machines, scanners, storage devices and other peripherals may be added to the network as necessary to be shared by all users. Bridges and routers: A LAN may stand alone, but it may also connect to other networks (which use either similar or different technologies). Hardware and software combinations are used as interfaces to make these connections. A bridge is an interface used to connect the same types of networks. USE OF MODEMS The modem is used to interface computers with telecommunications networks (such as GO, Melita and Vodafone in Malta). The modem sends information from your computer across the telecommunication networks. The modem at the other end, converts the signal back into a format that can be used by the receiving computer. Modems have been the standard transmission MODEM stands for MODulator / DEModulator medium for years for both all type of data. BANDWIDTH RATE The bandwidth rate (also known as baud rate) tells you how fast a modem can send/receive data. Most modern modems have a maximum baud rate of 56 Kbps (Kilobits per second). Others such as DSL modems have a baud rate of 4Mbps (Megabits per second). VIDEO CONFERENCING A videoconference is a meeting between two or more geographically separated people who use a network or the Internet to transmit audio and video data. A videoconference allows participants to collaborate as if they were in the same room through the use of software, along with a microphone, speakers, and a digital video camera attached to (or built in) the computer. Adapted & Compiled by Mr P Formosa Page | 37 Computing | Form 5 Theory 6 MULTIMEDIA Multimedia is the presentation of information using the combination of text, sound, pictures, animation, and video. Common multimedia computer applications include games, learning software and reference materials, such as encyclopaedias. Most multimedia applications include predefined associations, known as hyperlinks that enable users to switch between media elements and topics. Multimedia applications usually require more computer memory and processing power than in the case when the same information is represented by text alone. For instance, a computer running multimedia applications must have a fast CPU, extra RAM and most likely a good video card that can produce complex graphics. VISUAL ELEMENTS The larger, sharper, and more colourful an image is, the harder it is to present and manipulate on a computer screen. Photographs, drawings, and other still images must be changed into a format that the computer can manipulate and display. Such formats include bit-mapped graphics and vector graphics. BIT-MAPPED GRAPHICS Bit-mapped graphics store, manipulate, and represent images as rows and columns of tiny dots. In a bit-mapped graphic, each dot has a precise location described by its row and column, much like each house in a city has a precise address. Some of the most common bitmapped graphics formats are called Graphical Interchange Format (GIF), Tagged Image File Format (TIFF), and Windows Bitmap (BMP). Adapted & Compiled by Mr P Formosa Page | 38 Computing | Form 5 Theory VECTOR GRAPHICS Vector graphics use mathematical formulas to recreate the original image. In a vector graphic, the dots are not defined by a row-and-column address; rather they are defined by their spatial relationships to one another. Because their dot components are not restricted to a particular row and column, vector graphics can reproduce images more easily, and they generally look better on most video screens and printers. Common vector graphics Encapsulated formats Postscript are (EPS), Windows Metafile Format (WMF), Hewlett-Packard Graphics Language (HPGL), and Macintosh graphics file format (PICT). AUDIO ELEMENTS An example of a Digital Audio Workstation (DAW): The software used to produce, edit and process audio. Sound, like visual elements, must be recorded and formatted so the computer can process and present it. The most common types of audio formats are Waveform (WAV), MP3 and Musical Instrument Digital Interface (MIDI). WAV files store actual sounds, much as music CDs and tapes do. WAV files can be large and may require compression. The difference between WAV and MP3 is a matter of compressed or lossless formats. MP3 is compressed, and WAV files are uncompressed. You would want WAV files for editing a podcast, and MP3 files for distribution (for e.g. iTunes). If we were to compare them to images, these can be either high or low resolution. We’ve all seen gorgeous images that fill the screen with vibrant colours and sharp lines. We’ve also seen pixilated, grainy images that look like a Lego collage. MIDI files do not store the actual sounds, but rather instructions that enable devices called synthesizers to reproduce the sounds or music. MIDI files are much smaller than WAV files, but the quality of the sound reproduction is not nearly as good. Adapted & Compiled by Mr P Formosa Page | 39 Computing | Form 5 Theory MODELLING & SIMULATION A Virtual Reality program presents you with multisensory (can be experienced by multiple senses… sight, hearing, touch etc.) information and 3D effects in real-time. Many museums offer virtual tours of their buildings on their websites. Virtual Reality can also be used to simulate real life events. This is mostly used when these events are risky or dangerous, For example: Flying an aeroplane to train pilots Training surgeons to perform a surgery instead of operating on a real human being ORGANISATIONAL ELEMENTS Multimedia elements require an interface that encourages the user to easily interact with the information. Interactive elements include pop-up menus, small windows that appear on the computer screen with a list of commands or multimedia elements for the user to choose. Scroll bars, usually located on the side of the computer screen, enable the user to move to another portion of a large document or picture. Hyperlinks are used to creatively connect the different multimedia elements inside a document using colour or underlined text (known as Hypertext) or small pictures (known as icons), on which the user can point the cursor and click. Click on various hyperlinks may create lead to different articles and videos on different topics and create a chain of learning. Adapted & Compiled by Mr P Formosa Page | 40 Computing | Form 5 Theory 7 DATA SECURITY AND PRIVACY DATA PRIVACY Have you ever received some emails containing promotional material…but had no idea who the sender is? Have you ever wondered how these companies got your address in the first place? Such companies get the information about you from different databases Most databases hold data which is very useful to our everyday lives. For example, your medical records stored in the hospital’s database are vital, because paramedics may need to refer to them in case of an emergency. However, many people do not like the idea of having their personal data (especially sensitive data) stored on databases which they don’t have control on. The following are the major concerns: How much information is being held about me? What is it used for? Who has access to it? More and more personal data is being held on computers with the passing of time. The following is a list of typical databases where your personal information might appear in: Driving license, National insurance, Income tax, Local council, Electoral register, TV license, Bank accounts, Life insurance, Medical records, Social clubs, Water & Electricity services and many more. Government computers store a large amount of information about you, sometimes even unknowingly. For example, if you were held for a few hours by the police to give witness to a crime, your name would be permanently stored in their database. Many people fear that computers make it easier for someone to obtain confidential information about someone else in an illegal manner. Information is usually stored on separate, non-connected computers. But as time goes by, more and more computers are being linked up by networks. As advantageous as this might be, it might also lead to potentially dangerous situations. In theory, having all computers linked together means that all of a person’s details would be instantly available through various networks. Computing has improved communication and provided immediate access to data, but this does not mean that easy access to data should be provided to Adapted & Compiled by Mr P Formosa Page | 41 Computing | Form 5 Theory everyone. To stop people from getting unauthorized access to information, many security checks and controls have been applied to computer systems. DATA PROTECTION ACT Following the infiltration of computers and networking into each and every aspect of our lives, most countries around the world felt the need for laws to regulate the storage of information on computers. These laws are called DATA PROTECTION ACT. According to the Data Protection Act: Personal data should be obtained and processed fairly and lawfully. Personal data should be kept only for specified lawfully purposes. Personal data should not be used in any way which is incompatible with the lawfully purposes Personal data should be adequate, relevant and not excessive for the required purposes Personal data should be accurate and up to date Personal data should not be kept longer than necessary Personal data should be made available to people about whom information is held on computer, so that they can correct or erase it, if inaccurate Personal data should be protected against unauthorized access, alteration or loss. DATA SECURITY Data Security is a term to describe the techniques developed to safeguard information and information systems stored on computers. Potential threats include the destruction of computer hardware and software and the loss, modification, theft, unauthorized use, observation, or disclosure of computer data. File security is necessary so that we prevent losing data by accident or deliberately. Recovery is the ability to get back data in case it is lost. Adapted & Compiled by Mr P Formosa Page | 42 Computing | Form 5 Theory How can data be lost on computer in the first place? Files can be: destroyed by fire or other environmental causes corrupted by hardware failures (e.g. disk-head crash) accidentally overwritten deliberately changed, damaged or stolen updated with incorrect data accessed by unauthorized people However, many organisations try to protect themselves from the above problems by following safeguards used for better systems security. The following safeguards can be considered as almost common sense: ! restrict the number of users ! check the security features of the software ! use standard procedures so that there are fewer mistakes and it is harder to hide alterations ! educate and train people to accept the importance of security ! maintain good employee relations to prevent any damage by workers themselves The following methods are normally used to protect data: Keeping copies Physical safeguards Software safeguards Adapted & Compiled by Mr P Formosa Page | 43 Computing | Form 5 Theory BACKUPS The most important security precaution is to keep copies of data and programs. These copies are known as backups. Programs and data can be copied to storage media such as USB flash drives, external hard drives and discs. Nowadays, the most popular backup is online file storage, because of its reliability and accessibility. It is strongly recommended to take copies of data on a regular basis since original files may be corrupted, lost or destroyed. Data can at least be recovered (restored) from these copies. On certain large computer systems, backups are set to be done automatically at frequent intervals to ensure recovery. The Ancestral File System - The Generations of files (grandfather, father, son files) A master file is the file used to store the data found in a database. It usually stores data which does not change frequently. However, data can be changed or added by updating the master file. The changes made to the database throughout the day are stored in the transaction file. These changes are not immediately entered into the master file; instead they are stored in the transaction file. At the end of the day, all the contents stored in the transaction file are transferred (merged) to the master file to obtain a new and updated master file. The following is a simple example of a master/transaction file process. Master File Transaction File Grandfather Transaction File Father Update Master File Update Master File Adapted & Compiled by Mr P Formosa Son Page | 44 Computing | Form 5 Theory As you can see from the above diagram, in the Grandfather section we started with a master file and a transaction file which when combined together created a new Master File (Father). This in turn was combined with another Transaction File to obtain the last Master File (Son). This Grandfather, Father, Son hierarchy is used for safety. Suppose the last Master File (Son) got corrupted by accidental deletion or corruption of data, the same Master File can be re-created by combining the previous Master File (Father) with the respective Transaction File to obtain the son file once again. PHYSICAL SAFEGUARD It is important to keep files and software in a safe place to safeguard them against damage or theft. Only authorised personnel are allowed into the computer area. Usually, there are locks to rooms and machines to restrict access. The distribution of printed output of a confidential nature can be restricted. Shredders can be used to scrap it after use. Magnetic media can be fitted with write-permit slots or rings before data can be written on them. Also, write-protect tabs can prevent accidental overwriting. SOFTWARE SAFEGUARDING The computer’s operating system can be used to restrict access by allowing only registered users to make use of the computer. Approved Users To help prevent abuse and misuse of computer data it is essential to limit the access to such data only to approved persons. Security software can verify the identity of computer users and limit their privileges to use, view, and alter files. Such software also securely records their actions to establish accountability. Military organisations rank access rights as classified, confidential, secret, or top-secret information according to the corresponding security clearance level of the user. Other types of organisations also classify information and specify different degrees of protection. Adapted & Compiled by Mr P Formosa Page | 45 Computing | Form 5 Theory Passwords Passwords are confidential sequences of characters that allow approved persons to make use of specified computers, software, or information. To be effective, passwords must be difficult to guess and should not be words found in dictionaries or that can be easily associated with the user. Effective passwords contain a variety of characters and symbols that are not part of the alphabet. To block imposters, computer systems usually limit the number of attempts and restrict the time it takes to enter the correct password. A more secure method is tamper-resistant plastic to use cards of with microprocessor chips, known as smart access cards, which contain a stored password allocated to the user. Use of passwords and smart cards is now reinforced by biometrics. These are identification methods that use unique personal characteristics, such as fingerprints, retinal patterns, facial characteristics, or voice recordings. DATA INTEGRITY Data integrity refers to the completeness and the correctness of the data entering the computer system for processing. Ideally all data that is input should be error-free. However, people become bored and tired and this is where safeguards have to be placed to ensure that the data being input is as accurate as it is humanly possible. Data validation methods (Refer to chapter 3) such as, presence checks, range checks, layout checks, etc are employed to minimise the amount of errors entering a system. Data integrity also refers to the correctness of received data after it has been transferred over a network. Parity checking is one technique that is used in such systems. Adapted & Compiled by Mr P Formosa Page | 46 Computing | Form 5 Theory PARITY CHECKING Parity checking is a simple method of detecting errors between data being written to computer memory and read back again. It requires an older type of computer memory, known as parity memory. in newer computers, a BIOS (Basic Input Output System) setting to be enabled. How Parity Checking works Parity checking examines each byte of data and sets a ninth bit (known as a parity bit) to 1 if the number of ones is odd and 0 if the number of ones is even. This means that a correct byte will always have an odd number of ones and if it does not, when the data is read back from memory, an error is reported. Parity Checking Limitations Parity checking can detect an error in one bit of data in a byte, but not two bytes. Similarly, it cannot detect which of the bits in a byte of data is invalid and so cannot perform error correction. Adapted & Compiled by Mr P Formosa Page | 47 Computing | Form 5 Theory 8 ROLES RELATED TO AN IT ENVIRONMENT Every modern company is computerised. To work efficiently and maintain the smooth dayto-day running of the company’s operations, a number of people are employed in a section of the company known as the IT Department. Employees from the IT Department provide the rest of the company’s employees with support on both hardware and software as well as ensuring the company’s data processing needs are met. The number of people working in this department and their duties depend on the size of the company as well as the quantity and nature of the processing required. In a small company, typically the It department consists of a few people who handle all IT related duties amongst them. In larger companies however, each employee within the IT department carries out a specific role. The following are the main roles that can be found in a IT department. IT MANAGER a.k.a. Information Systems Manager The IT manager has the overall responsibility of the IT department and sees that everything goes well and to plan. The IT manager needs to monitor and encourage communication between different roles to ensure project consistency. Some of the roles are: Engage or disengage employees. Sets the department’s goals, budgets and deadlines. Ensure that the department is satisfying the customer’s needs. Create new opportunities for the company which can result in company profits; such as taking on new projects. Adapted & Compiled by Mr P Formosa Page | 48 Computing | Form 5 Theory SYSTEMS ANALYST / DESIGNER The system analyst plays a vital role in the systems development lifecycle. The main task of a system analyst is to determine the input and output requirements of a new project, and conduct feasibility studies, to determine whether a project should be done or not. In the case that the feasibility studies show that the project is not feasible, the system analyst must propose whether to abandon it, or to modify some of its aspects to make it feasible. If the project is feasible, the main roles of the system analyst are: Defines the objectives of a system. Write down project details, including documentation manuals etc. Prepare test data in collaboration with the database administrator. Provide instructions manuals (user and technical). Supervising and maintaining the new system. SYSTEMS ADMINISTRATOR The role of the systems administrator is to ensure that all the software required for the electronic data processing is available and fully functional. This role is very powerful because the systems administrator has got the rights to view and/or modify all the files in the organisation. The main roles are: Performing regular backups. Applying any operating system updates and configuration changes. Have extensive knowledge of the business rules. Adapted & Compiled by Mr P Formosa Page | 49 Computing | Form 5 Theory PROGRAMMER a.k.a. Software Developer Programmers are responsible for the planning, writing and testing of new programs, as well as maintaining existing programs. They modify programs or write new ones according to the specifications given by the Systems Analyst. The programmer’s main roles are: Obtaining the program specification, breaking it down into its simplest elements (for example by using a top-down approach) and transforming it into code (using a programming language). Testing the program to see if the output satisfies the user’s requirements. Writing of the documentation manuals to be used by users and computer operators. Performing maintenance of the program. IT TRAINER The IT trainer designs and delivers training courses related to ICT. His roles include: Providing training and support to employees. Deciding what courses to provide to employees. Preparing a (training) course timetable. Writing training material for personal use and for colleagues COMPUTER OPERATOR The computer operator oversees the running of computer systems, ensuring that the machines are running properly and are physically secured. He also controls and operates the hardware in the computer room. The Computer Operator’s roles involve: Supervising employees with limited IT knowledge as they work on the computer. Monitoring the system, including hardware and software being used. Starts up equipment. Reports any hardware faults. Adapted & Compiled by Mr P Formosa Page | 50 Computing | Form 5 Theory DATA-ENTRY CLERK The clerk is responsible for the transcription (preparation) of data for processing, by typing in the data at keying-in stations. The Data-Entry Clerk’s roles include: Entering data into a database through data entry forms. Generating reports from the data entered. Performing data verification. WEBMASTER The role of the webmaster is managing the company’s website. He is expected to know HTML (Hypertext Mark-up Language) and/or other applications used to create web sites (such as PHP). The Webmaster’s roles include: Designing websites. Maintaining and updating the company’s website. Monitoring traffic through the site. COMPUTER TECHNICIAN The computer technician installs, maintains and upgrades computer hardware, software and network systems. His roles include: Performing regular maintenance to the hardware. Installing new hardware. Preparing computer lab equipment e.g. projectors Adapted & Compiled by Mr P Formosa Page | 51 Computing | Form 5 Theory COMPUTER ENGINEER a.k.a. Maintenance Engineer The Computer engineer knows the hardware inside company thoroughly and is present when the company purchases new hardware. This person is required to: Initially set up the company’s computer system. Solve hardware problems which the technician might not have enough knowledge about. Upgrade the computer system to make sure that everything will work after the upgrade. Adapted & Compiled by Mr P Formosa Page | 52 Computing | Form 5 Theory 9 COMPUTERS IN SOCIETY As technology keeps becoming an integral part of almost every aspect of life, it goes without saying that computer use amongst people has increased greatly. This mass computerisation can have both positive and negative effects on the individual, an organization and/or the society. The following will highlight some of the positive and negative aspects in several different areas. COMPUTERS AND WORK Negative Jobs are decreased, since computers are replacing humans in such cases as ATMs (Automatic Teller Machines), telephone operators, meter readers, film processors etc. Positive New jobs are created in the computing industry such as the hardware industry, software industry and web-design industry. Computers increase productivity and overall quality leading to cheaper and better products. COMPUTERS AND THE WORKPLACE Negative Possibly less face-to-face communication. Frequent technological advances might lead to job disruption in order to adopt (or adapt) to new technologies. Employees might feel that constant monitoring can affect their privacy and dignity. Constant use of computers can lead to RSI (Repetitive Strain Injury) if the adequate precautions are not adopted. Adapted & Compiled by Mr P Formosa Page | 53 Computing | Form 5 Theory Positive Employee has more information available which allows the employee more decisionmaking freedom. Various tools available on the computer can enhance the work experience and reduce the overall work-load. COMPUTERS AND SOCIETY Negative Reduced human contact, since people prefer chatting rather than socialising. Attendance in community groups decreases, once again due to lack of involvement. Erodes family life and community values. Positive Facilitated communication with relatives, friends and other people. Routine tasks can be done quickly, hence leaving more free time. COMPUTERS AND THE INDIVIDUAL Negative Addiction to the Internet. Addiction to games; especially in youngsters which deter a healthy lifestyle since they do not participate in outdoor games Less socialising. Being lazier; since internet can be used as a source for ready-made material. Positive More work can be done in less time with the adequate tools on the PC. Facilitates access to services by using websites for buying products or paying bills. More information at the user’s fingertips with interactive encyclopaedias and the constantly updated internet content. Adapted & Compiled by Mr P Formosa Page | 54