Wjec computing past paper questions

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

Describe why distributed databases are often used and describe one difficulty associated with using distributed databases. What is actually distributed in a distributed database?

(Databases often contain huge amounts of data.) It is often more efficient to 1 store data on a number of different computers (probably in different locations) to maximise performance. Not: improves security Not: will still work if one computer fails etc It is difficult to ensure that all the data in all the computers is always 1 up-to-date / maintain integrity. Both processing and data are distributed

Carry out an arithmetic shift left by three places on the eight-bit positive integer 00001011 and state the effect of this operation on the number

00001011 -> 01011000 Any 1 of: Multiplies the original number by 8 Multiplies by 2 three times Multiplies by 10002 - in which case subscript must be shown

In a certain computer, real numbers are stored in floating point form using 20 bits as shown below: Convert the number 22.75 to this floating point form

01011011000000000101 or 0101 1011 0000 0000 0101 or 010110 11 00000000 0101 etc (spacing unimportant) 1+1 22 -> 10110 .75 -> .11

State what is meant by the term foreign key in a relational database system, and explain why foreign keys are important.

A foreign key (in a database is a field in a table which) links to (or establishes a relationship with) another table 1 It enables the data in different tables to be linked together

Explain the role of a link loader and give one example of a linking error.

A link loader is a software tool which combines already compiled 1 modules/subprograms into the executable program. Example of error - any 1 of: • link editor cannot find a compiled module/subprogram / it doesn't exist 1 • the number or type of parameters provided is wrong

Explain the role of a link loader and give an example of a linking error

A link loader is a software tool which combines already compiled modules/subprograms into the executable program. Example of error - any one of: link loader cannot find a compiled module/subprogram / it doesn't exist the number or type of parameters provided is wrong

A touchpad is often used as a computer input device. Give one advantage of a touchpad over a conventional mouse.

A touchpad can more easily be fitted into a small device like a laptop computer or PDA / does not require extended flat space to move the mouse over / allows multiple gestures, hand swipes etc

Describe the purpose of a transaction log, making it clear when it is used

A transaction log is used with on-line updating - stores all the update data 1 It can be used in case of failure - could restore data by being combined with previous master/backup file, with minimal data loss.

Explain what is meant by the term web log (or "blog") and outline how a politician might use a web log

A web log is a set of entries / diary on the world wide web (which is accessible to any web user.) 1 A politician could add items to keep their readers up-to-date with current political news / events / opinions / legislation proposals etc

The student decides to create a web log (or "blog"). Explain what is meant by a weblog and outline how the student might use the web log

A web log is a set of entries / diary on the world wide web which is accessible to any web user. The student could add items including photos, videos etc. to keep their friends up-to-date with their activities / could keep in touch with other members of the charity etc.

The control system is required to increase the power if both of the following conditions are true: • the temperature in the reactor is too low • the reactor is required for a new job Name the logical operation required in this case and draw the truth table for this logical operation

AND 1 Input 1 Alternatively: Input Output 0 1 0 0 0 1 Input 2 0 | 0 0 0 1 0 1 | 0 1 1 0 0 1 1 1 [Marking - all four cases must be correct for the mark]

The ASCII character set is often used in computer systems. Why is it useful to use character sets such as ASCII? [1] The decimal ASCII code for "N" is 78. What will be the decimal ASCII code for "L"?

Any 1 of: enables computer (systems) to communicate with each other easily 1 use of (mainly) just one code avoids confusion "L" = 76

Why is it useful to use character sets such as ASCII? The decimal ASCII code for "a" is 97. What character will have an ASCII code of 100?

Any 1 of: enables computer /software (systems) to communicate with each other easily 1 use of (mainly) just one code avoids confusion/ incompatibility between systems "d" or d Not "D" or D

State a computer application where a stack is the most appropriate data structure, and explain why it is the most appropriate data structure to use.

Any 1 of: subprogram return addresses 1 recursion values short-term arithmetical results reversing a queue / list undo function reverse Polish calculations - accepted not expected [Note: other computer applications are possible, but not e.g. a pile of plates] Why: In each case, because the natural / desirable processing order is first in last out (or e.g. last address placed on stack needs to be first one to be accessed, etc) But just putting e.g. "because it's first in last out" is not enough

Briefly describe one feature which any web page should include to make it easy to use

Any 1 of: • Should comply with established web standards 1 • Should be easily navigable / should be (hyper)links (accept buttons) to allow nav'n Not "hyperlinks" alone • All links should be correct • The page should be as accessible as possible for user with visual impairment etc • It should make sensible/imaginative used of colour, graphics, fonts etc

Each packet normally contains source and destination addresses. State two other items of data you would expect a packet to contain.

Any 2 of (both needed for the one mark): • the actual data 1 • the order number of the packet • control signals / bit(s) • error control signals / bit / check sum etc

State two computer applications where a stack is the most appropriate data structure.

Any 2 of: subprogram return address etc 1+1 undoing / back for instance on a browser recursion values short-term arithmetical result / reverse Polish calculations (accepted not exp) reversing a queue / list

When the company develops such a system, a design validation is carried out. Describe how a design validation should be carried out

Any 2 of: • check the correspondence between the actual design and its 2x1 specification / user requirements / objectives / safety issues • confirm that the most appropriate techniques have been used • confirm the HCI is appropriate not cost related

State two advantages of a relational database over a flat file system

Any 2 of: 2x1 Redundancy (data duplication) is reduced (therefore saving space) Risk of inconsistent data is reduced (better integrity of data) Data independence allows different views of the same data Allows easy extension/amendment to the structure of the database.

Data held in computer files is often archived. Explain what is meant by the term archiving and explain why archiving is necessary

Archiving is the process of storing data which is no longer in current use 1 It is held for security / legal / historical reason 1 It frees up resources on the main computer system.

Quicksort is a recursive sort algorithm. Explain the term recursive algorithm and state why quicksort is often used. Briefly describe how quicksort operates

A recursive algorithm is one which calls itself. 1 It must also have a "base case" (or "simple case") to allow it to terminate / terminating condition. (Condone idea of unwinding) 1 Quicksort: why often used: Because it is the fastest / most efficient type of sort algorithm 1 Quicksort description: An item/pivot selected (which item is unimportant) Condone "middle" 1 Produce two new lists of smaller and larger numbers 1 Repeat above points on new sub lists (recursively) until sorted

State the two main features of a recursive algorithm. Name a recursive sort algorithm which is usually faster than a bubble sort

A recursive algorithm is one which calls itself. 1 It must also have a terminating condition / "base case" >Quicksort

Explain what is meant by the term record and give one example of a situation where the organisation might use a record in connection with its sales data

A record is a set of data items all related to a single individual / entity etc 1+1 It can contain data of different types Example (data about one product) Either: Product Id, Product Description, Product Price, Number in Stock etc... Or: 153, Hard Disc Drive, £74.99, 23, etc...

Giving an example, explain what is meant by the term multi-tasking. [2] Interrupts in computer systems arise for a number of different reasons

Multi-tasking occurs when more than one task or application is available to the user 1 at the same time / can run at the same time. (The operating system/user can switch quickly from one task to another.) Example: Could be using e.g. a spreadsheet and an internet browser at the same 1 time on a single computer

Assuming overflow does not occur, what would be the effect of carrying out an arithmetic shift left by one place on a positive binary number.

Number would be doubled/multiplied by two/multiplied by 10^2 (subscript required)

In other computers, integers are stored using two's complement representation. Describe, using an example, how the two's complement of a binary number is derived.

One method is: From RHS, rewrite it up to and including the first one 1 Change other 1 digits to 0 and 0 digits to 1 1 Correct working and answer for example 00001000 -> xxxx1000 -> 11111000 1 Alternatively Flip the bits 1 Add one 1 (Ignore carry (ninth bit))

Describe what are meant by the terms overflow and underflow in connection with storing numbers in a computer

Overflow occurs when the number is too large to be stored (satisfactorily) by the computer 1 Underflow occurs when the number is very close to zero (Condone too small) to be stored (satisfactorily) by the computer

Explain the difference between a procedural and non-procedural programming language

Procedural languages are concerned with: any one of: carrying out actions / calculations, etc obeying (ordered) set of instructions Non-procedural languages are to do with facts / rules / making queries Marking: Two of the above are needed for the mark

Describe in detail what is meant by an indexed sequential file, and give the main advantage of using an indexed sequential file compared with an ordinary sequential file

Records stored in key sequence order 1 An index allows data to be accessed directly / index contains key field and disc address of record / the key field and index are used to locate the position 1 Compared with ordinary sequential: Allows for faster access because you can access individual records directly

There is a feature in line 8 which makes this a special type of algorithm. State the name of this special type of algorithm, and state one other feature which such an algorithm must have, giving an example from the algorithm above

Recursive (algorithm) 1 Must also have a terminating condition(s) (Base case(s) / stopping condition(s)) 1 Example here is lines 2-4 where terminating condition is for when Num = 1 1 (or lines 5-7 where terminating condition is for when Num = 2)

Data may be transmitted through a computer network using simplex, half duplex or full duplex. Describe each of these transmission methods.

Simplex: Data transmission is possible in one direction only 1 Half duplex: Data transmission is possible in both directions, but only 1 in one direction at a time Full duplex: Data transmission is possible in both directions simultaneously 1

Parameters are often passed to and from procedures by reference. Explain what is meant by the term parameter and explain how passing parameters by reference works. Name and describe one other method by which you can pass parameters to and from a procedure. Give one disadvantage of passing parameters by reference, compared with the method you have named

parameter is a variable / value that can be passed to / from the procedure 1 When passing by reference, the address of the required data is passed to the procedure (rather than the actual value of the data) 1 The other method is by value: 1 local copy of the data is created for the procedure (discarded later) 1 Passing by reference may lead to unintended side effects where the parameter 1 has its value changed in the main program as well as in the procedure

Data in a computer system is normally transmitted in digital form. Why do computer systems sometimes need to deal with data in analogue form?

Because many input devices (eg microphone, sensor producing continuously varying voltage etc) produce an analogue signal

Standalone computers are sometimes used. Give one benefit and one drawback of using standalone computers, compared with computers which are networked

Benefit of standalone - any one of: 1x1 Security may be improved - reduced chance of hacking / unauthorised access via a network / virus spreading / cheaper and easier to buy and set up not susceptible to network or server failure Drawback of standalone: It is not possible to communicate or share resources such as devices, software or data 1

Explain the function of an assembler making its input and output clear.

Assembler converts a low level (assembly language) (source code) program to machine code / executable language prior to execution 1+1 Marking: 1 mark for input: assembly language / low-level language 1 mark for output: machine code / executable code / object code / binary

Other than a printer queue, state a computer application where a queue is the most appropriate data structure and explain why it is the most appropriate data structure in this case

Example could be a keyboard buffer, download buffer 1 NOT a printer queue [Note: other computer applications are possible but it must be a computer application, so not e.g. queue of patients at doctor's but could be a computerised version of this] Why: In each case, because the natural / desirable processing order is first in first out (or eg item waiting longest should be dealt with next) 1 NOT FIFO or first in first out alone

Suppose that the definition of a word is modified so that the word has to be of length three or more characters. Produce an appropriate syntax diagram for a word as defined in this way

Letter > hyphen > letter > hyphen > letter

Describe two different benefits of speech recognition over a traditional keyboard and mouse input method.

Speech recognition: any 2 of: • Speeds up text input / faster than typing 2x1 • Can be used by someone who is unable to type / not a skilled typist / disabled • May help to avoid RSI • Allows user to simultaneously do some other task

A certain application requires the value of the seventh bit of an eight bit binary number, counting from the most significant bit. (The example below shows which bit is required.) 1 1 0 1 1 0 0 1 Name the process used to achieve this, stating the eight bit binary number required. Also name the logical operation used when this number is combined with the original number

Mask(ing) 1 00000010 1 AND

Distributed databases are often used by large organisations. Explain what is meant by a distributed database and why they are useful. Describe one difficulty associated with the use of distributed databases

Data is stored on a number of different computers (probably in different locations) 1 It is often more efficient / it will maximise performance to store data in this way 1 It is difficult to ensure that all the data in all the computers is always 1 up-to-date / maintain integrity

It is necessary in a certain application to discover the value of the third bit of an eight bit binary number, counting from the most significant bit. (The example below shows which bit is required.) Describe how masking could achieve this, stating the 8 bit number required as the mask and the logical operation required for this process. Draw the truth table for this logical operation

The eight bit binary number 0 0 1 0 0 0 0 0 should be used as the Mask. 1 (It should be combined with original number) by using the AND logical operation. 1 Truth Table for AND: Input 1 Alternatively: Input Output 0 1 0 0 0 Input 2 0 | 0 0 0 1 0 1 1 | 0 1 1 0 0 1 1 1

A random access file uses a hashing algorithm, and uses an overflow area for when data collisions occur. From time to time the file needs re-organising. Describe in detail how a random access file operates

The physical location of the record is calculated from the data in the key field This calculation is carried out by a hashing algorithm A data collision occurs when two data items are hashed to the same location In this case there needs to be an overflow area where the latest data is stored, usually in a linear structure When there are many items in the overflow area, access may become slow, in which case a new/updated hashing algorithm is required and a larger file may/will be needed (both points needed for this mark) An example of an extended answer worth six marks is: A random access file is one where the physical location of the record is calculated (using a hashing algorithm) from the data in the key field. Sometimes, a data collision occurs (i.e. two data items are hashed to the same location.) In these circumstances, there needs to be an overflow area where the latest data is stored. When the file begins to get quite full, there may be many items in the overflow area and access may become slow. A solution to this problem is to create a new hashing algorithm and a larger file may be needed.

Databases are often normalised. Define the term third normal form and explain why databases are often normalised

Third normal form means that data items are dependent on the whole key and nothing except the key (or the key, the whole key and nothing but the key). (Idea of whole needed) 1 Or (accepted not expected) Third normal form is achieved when relations (tables) contain no partial or transitive dependencies. Any 3 of: Normalising data usually reduces data duplication/redundancy Avoids danger of inconsistency / maintains integrity 3x1 Avoids danger of data being lost during update Avoids wasting storage space / processing time

Outline what is meant by a scripting language. Give an example of a situation where a scripting language might be used

Either of: A scripting language is ... 1 a set of commands understood by the applications software usually embedded in another language and is used to control aspects of the software (and is a high-level language, interpreted not compiled) Examples include: script embedded in (the HTML in) a web site to control graphics, etc 1 script embedded in a web site to load/execute a file when clicked, etc

Explain what is meant by the term switching in a computer network. Why is switching useful in a computer network?

Either of: Switching sends data along the appropriate path. 1 Switching prevents all the data being sent to all parts of the network. It requires less bandwidth / is more efficient not to send data where it is not required 1

Explain why an index is often used in a database management system

Either of: An index is used to: improve (read) access times to records / allow direct access to data in the database (not 1 © WJEC CBAC Ltd. 13 "quick" alone) sort the records (for viewing/output)

Describe a serious error that can arise as a result of rounding in computer programs.

Either of: a more serious problem might arise where: successive use in further calculations may seriously increase inaccuracy a test for equality might fail if a minor difference is caused by rounding (Not the idea of "cause an error" or "inaccurate" alone)

A certain database includes a field which contains a person's current age. Describe one disadvantage of using current age as a field in a database, and state a field which would be preferable in this situation

Even if correct when entered, age will not remain correct / data will lose integrity 1 Date-of-birth is preferable

Describe what is meant by the terms overflow and underflow in connection with storing numbers in a computer.

Overflow: occurs when the number is too large to be stored (satisfactorily) by the computer 1 Underflow: occurs when the number is too close to zero (condone too small) to be stored (satisfactorily) by the computer

State the main difference between a flat file system and a relational database

A flat file is database held as a table and stored in a single file, whereas a relational database normally contains a number of linked tables.

What is meant by the term data structure?

A data structure is a group / set / collection of related data items / elements

Explain what is meant by a router. Describe the main function of a router

A router is a device in the network which holds information about the address of 1 computers in its network (or address of other networks) ... and can therefore send data to the correct computer.

Explain what is meant by the term algorithm

An algorithm is a (finite) set of rules / instructions 1 to solve a (specific) problem

What is the purpose of Backus-Naur Form (BNF)

BNF is used to describe (unambiguously) the syntax / grammar / rules 1 of a programming / computer language (Condone program)

One method of input to a computer is via a forms dialogue. Describe what is meant by a forms dialogue and give one benefit of this approach.

Computer prompts for input into specific fields on a screen dialogue form 1 Advantage: any one of: 1 Cursor may move automatically to next input field Intuitive to fill in - echoes familiar paper form / good for surveys etc Allows change to be made while screen still visible May include validation - only some entries allowed

Describe what is meant by a data collision on a network. What should happen once a data collision is detected?

Data collision occurs when two sets of data are detected on the network 1 simultaneously Once detected, a computer waits for a short/random time then sends again

Describe what is meant by a data collision on a network. Explain how the network should deal with a data collision once it is detected

Data collision occurs when two sets of data are detected on the network 1 simultaneously Once detected, each computer waits for a short/random time then sends again

Goodfilm is an organisation which rents copies of films to its members on DVD. The copy is sent to the member by post and returned by the member after use. Some films are very popular so there may be several copies of some films and each individual copy has an id-number. Each copy was purchased on a particular date. Goodfilm need to keep track of which copy of a film is loaned to which member. Each film has a film id-number, a title, a genre, (for instance, action, romance, horror) and a year of release, for instance 2013. Each member of Goodfilm has an id-number, name and address. Design a database system for the above situation in third normal form

FILM (FilmID, FilmName, Genre, ReleaseYear) COPY (CopyID, FilmID, PurchaseDate) MEMBER (MemberID, MemberName, MemberAddress) LOAN (LoanID, MemberID, RequestDate, CopyID) Marking: Four suitable named tables Each of four table with suitable PK shown as such (1 mark if 2 or 3 PKs) Each FK shown as such Remove only 1 for any number of incorrect fields / FKs) Ignore additional irrelevant fields

Showing your working, dry-run the above algorithm using Num = 4, to demonstrate what the value of the function will be when the algorithm terminates. Describe or name the calculation this algorithm performs.

FValue(4) = FValue(3) + FValue(2) = FValue(2) + FValue(1) + FValue(2) = 1 + 0 + 1 = 2 This is the (Num term of the) Fibonacci sequence 1 (or is a series where the last two numbers are added to give the next number

Computer files can be encrypted. What is the purpose of encryption and how does it operate?

Files are often encrypted to safeguard the data ... 1 ... by making it impossible to read without the encryption key / algorithm / code etc.

Outline how an insertion sort operates

Item is compared with (sorted) list to find correct position Items in the sorted list are moved up/down to enable new items to be added in the correct place

The integer 67 is not in the diagram. Write down the stages that would be followed if a search was made for the integer 67

Moves from root/51 to 78 to 78. Then looks for left branch. None there, so 67 not in tree 1 Produces suitable message / output / error report

Explain what is meant by multi-tasking in a personal computer

Multi-tasking is a method of organising computer use which allows several different tasks or applications to be available (/ run) at (apparently) the same time. 1 The user is able to switch from one task to another

Explain what is meant by the term relocatable code in a computer system

Relocatable code is program code which can be moved (by the operating system) from one area of computer memory to another.

Explain why it is often useful to use subprogram libraries

Subprogram libraries contain (well-tested) utilities / common tasks, etc and can be used by any user, avoiding re-writing.

Nu Stuff UK has hundreds of high-street clothes shops around the country. It is developing a new computer system which will involve each of its shops having a number of in-store computers which customers can use to look at the latest clothes, check if they are in stock and find out more about them. The team developing this system need to consider the best type of human computer interface (HCI) for this application. The system needs to be easy to use in a possibly noisy and crowded environment in the shop. Discuss the different types of HCI (both hardware and software) which would be suitable in this case and those which would be less suitable

Suitable interfaces (No mark just for naming interface) GUI GUI system is usually easy to learn for a novice user GUI system is usually more intuitive to use e.g. icons relevant to the application may be similar to other packages with which users are familiar can show images/videos etc to promote the clothing / make it appeal to customers can have an on-screen / soft keyboard Touch screen generally more robust than eg mouse or keyboard easy to use with little comp knowledge/customer may be familiar with touch screen can be designed to replicate common mobile phones / tablets (swiping etc) takes up less space the keyboard and mouse will be attractive to customers can have an on-screen / soft keyboard [not twice] Forms dialogue customers can choose items from a list may have in-built validation Unsuitable interfaces (No mark just for naming interface) Text-based time consuming not attractive to most customers / not likely to have images not easy to learn or use in a crowded environment Speech recognition interface not easy to use in a crowded environment - probably too much background noise may be ineffective until computer "learns" customer's speech style: impractical may have problems with different accents / different voices, homophones etc Voice synthesis not suitable in noisy environment (particularly if several computers nearby) Handwriting recognition text input may not be appropriate for this application not very reliable may not be easy to use in a crowded shop Mouse not easy for complete novice users easily damaged [not twice] could be stolen Hardware Keyboard [COULD BE A SUITABLE INTERFACE IF WELL ARGUED] text input not appropriate for this application easily damaged [not twice] quite large [but not if used as a benefit of eg touchscreen elsewhere in answer] 1

Another method of input is forms dialogue. Outline what is meant by forms dialogue and explain how this approach can provide input validation

The computer prompts for input into specific fields on a screen dialogue box. Many inputs may be via combo boxes, radio buttons, etc, so only certain entries are allowed

A vehicle rental company has a number of branches across the country. Each of these branches has a number of vehicles available for rent and each branch has an address, and a manager. Each vehicle has a unique registration number and is based at one branch only. Each vehicle has a weekly rental charge. Customers of the rental company have a Customer ID, name and address. Bookings are made by customers to rent vehicles for a fixed period of time. The rental company wishes to develop a database to contain all relevant information about branches, vehicles, customers and bookings. Design a database for the above situation in third normal form

VEHICLE (RegNumber, VehicleMake, VehicleModel, VehicleWeeklyCost, BranchID) Note: VehicleMake, VehicleModel, need not be included CUSTOMER (CustID, CustName, CustAddress) BOOKING (BookingID, RegNumber, CustID, BookingStart, BookingDuration) BRANCH (BranchID, BranchAddress, BranchManagerName) [Marking: Four suitable named tables 1 Each of four table with suitable PK shown as such (1 mark if 2 or 3 PKs) 2 Each FK shown as such 3x1 Remove only 1 for any number of incorrect fields / FKs) Ignore irrelevant / additional fields]

Many organisations carry out disaster planning for their computer systems. Explain why disaster planning is very important and describe elements of disaster planning which can allow an organisation to recover quickly following a disaster

Why it's important: any 2 of: 1+1 Many organisations could not survive if the system failed / data lost All computer systems are liable to fail You can't always avoid fires, floods, terrorist attacks etc. Organisation needs to recover quickly after the disaster Elements of disaster planning: any 3 of: 1+1+1 Backups should be made Files should be archived off-site There should be an alternative system There should be a back-up power supply Staff need to be trained to be able to recover successfully

State a computer application where a stack is the most appropriate data structure and explain why it is the most appropriate data structure in this case.

example could be subprogram return addresses (also undo / back, etc) 1 Why: idea of winding back nesting of subprograms

In a computer program data can be passed to a procedure by value. State the name used for an item of data passed in this way and explain how passing by value works. State another method by which data can be passed to a procedure and explain how this method works. Describe one benefit of passing data by value compared with this other method

parameter 1 How passing by value operates: A local copy of the variable is created for the procedure (discarded afterwards) 1 Other method: passing by reference: 1 The address of the required data is passed to the procedure 1 (rather than the actual value of the data) Benefits of passing by value: any 1 of: preserves value-at-calling of the parameter 1 avoids unwanted side-effects

Name two methods of defining algorithms

structured English • flowcharts • pseudo-code Condone sequence of steps (Accepted not expected) • annotated code • formal language e.g. Z

Produce an appropriate syntax diagram for a component code as described above

upper case>lowercase > digit > digit > digit > digit

In a certain computer, integers are stored using sign/magnitude representation and 16 binary digits. The left hand bit is set to zero for a positive number. Find the integer represented by the binary number 1000000000001001

-9

What is the difference between an arithmetic shift and a logical shift?

An arithmetic shift maintains/deals with the sign bit; a logical shift does not. (Example is acceptable if clear)

Three types of programming language used are: • fourth generation language • visual language • special purpose language In each of the above three cases, describe a situation where this type of language might sensibly be used and give one reason why its use would be suitable in this case.

4GL: used in (eg) a relational database system as a query / manipulation language 1 Why: aimed at end-users / relatively close to natural language / requires less prog'g skill 1 Visual Language: used for production of objects / buttons / icons / GUI / windows / graphics content / event driven environment 1 Why: may be easier to learn / more intuitive because visual / tools available 1 Special Purpose Language: used for simulation, control applications, etc 1 Why: may have special features relevant to the application e.g. time analysis elements

Convert the hexadecimal number 6E to binary, and explain why hexadecimal is often used to represent binary numbers.

6E = 0110 1110 1 Any 1 of: • acts as shorthand for binary 1 • is less confusing / fewer characters required than binary Not take up less space

In a certain application, decimal numbers are defined as follows: • no sign or a plus sign or a minus sign followed by • one or more digits followed by • a decimal point followed by • exactly four digits For instance, the following are covered by this definition: +23.0000 23.0000 -0.5256 -127.3000 Produce an appropriate BNF definition for a decimal number as defined above

<digit> ::= 0|1|2| ... |9 <signornull> ::= +|-|null ) <point> ::= . ) <digits> ::= <digit>|digit><digits> <decimalnum> ::= <signornull><digits><point><digit><digit><digit><digit> Marking: One mark for attempted recursion even if incorrect: - same item Left and Right + other item(s) on Right are needed Can't get 4 unless completely correct Notation error max one mark lost

In some applications, amounts of money are always displayed using exactly two decimal places. Negative amounts are shown in parentheses. For instance, -27 would be displayed as (27.00) Other examples are: 1.00 23.48 (23.48) 0.25 65.70 (1273.71) 0.00 Produce an appropriate BNF definition for an amount of money as described above

<digit> ::= 0|1|2| ... |9 ) 1 <integer> ::= <digit>|<digit><integer> ) 1 <amount of money> ::= <integer>.<digit><digit> | (<integer>.<digit><digit>) )

Each member of staff in a large company is given a unique identification code, which is made up of their surname and a two digit number. Two examples of an identification code are: MORGAN32 O'DONNELL18 You may assume that surnames contain one or more letters and may contain apostrophes('). The first character must be a letter. Produce an appropriate BNF definition for the identification code.

<letter> ::= A|B|C| .....|Z (Condone any lower case) ) ≥ 2 must 1 <apostrophe> ::= ' ) be correct <digit> ::= 0|1|2| ....|9 (Condone no indication of zero) ) for mark <name_char> ::= <letter>|<apostrophe> 1 <name_chars> ::= <name_char>|<name_char><name_chars> 1 <idcode> ::= <letter><digit><digit>|<letter><name_chars><digit><digit> 1 [Marking: one mark for attempted recursion even if incorrect: - same item Left and Right + other item(s) on Right are needed Can't get 4 unless completely correct Notation error max 1 mark lost]

A word may be defined as containing one or more characters and must: • begin with a letter • end with a letter • be made up of letters and hyphens (-) only You may assume that all letters are in lower case. Produce an appropriate BNF definition for a word as defined above

<letter> ::= a|b|c|.....|z 4 <hyphen> ::= - <word_char> ::= <letter>|<hyphen> <word_chars> ::= <word_char>|<word_char><word_chars> <word> ::= <letter>|<letter><letter>|<letter><word_chars><letter> [Marking: One mark for attempted recursion even if incorrect (same item L and R + other item(s) on R are needed) Max of 1 mark lost for notation Other equally valid answers exist Condone any upper case letters seen However it's done, can only get 4 if completely correct]

In a certain programming language a variable name is made up of letters (which can be upper case or lower case), digits, or the underscore character (_). The first character must be an upper case letter. The name may be of any length. For instance, the following are permitted as variable names in this language: X Sales SALES_Total SaLeS2011 Produce a Backus-Naur Form (BNF) definition for a variable name in this language.

<lowercaseletter> ::= a|b|c|......|z ) <uppercaseletter> ::= A|B|C|......|Z )1 <digit> ::= 0|1|2|......|9 (Condone if 0 missing) ) <underscore> ::= _ ) <char> ::= <lowercaseletter>|<uppercaseletter>|<digit>|<underscore> 1 <chars> ::= <char>|<char><chars> 1 <variablename> ::= <uppercaseletter>|<uppercaseletter><chars>

A manufacturer of computer printers produces thousands of components. Each component has a component code made up of a name and a component number. The name can be of any length, must start with an uppercase letter, and must otherwise be made up of only lowercase letters. The component number must contain exactly 5 digits. Examples of valid component codes are: Papertray36105 Controlmodule43028 Produce an appropriate BNF definition for a component code.

<upperletter> ::= A|B|C| .....|Z <lowerletter> ::= a|b|c| ..... |z 1 <digit> ::= 0|1|2| ....|9 (Must have indication of zero) 1 <name_chars> ::= <lowerletter>|<lowerletter><name_chars> 1 <compcode> ::=<upperletter><name_chars><digit><digit><digit><digit><digit> 1 Accept <compcode>::= <upperletter><name_chars><digit><digit><digit><digit><digit> | <upperletter><digit><digit><digit><digit><digit> [Marking: one mark for attempted recursion even if incorrect: - same item Left and Right + other item(s) on Right are needed Can't get 4 unless completely correct Notation error max 1 mark lost]

When a software development team is developing a suite of computer programs, there are many tools available to them. These include: • CASE (Computer Aided Software Engineering) tools • application generators • compilers • debuggers. Describe these software tools and discuss their role in developing software.

A CASE tool is a software tool which provides a number of functions which assist with the design and testing of a computer system / program. provides a data dictionary includes a graphics / diagram production feature may provide repositories of reusable code may provide project management tool(s) may incorporate version control may carry out report generation may include prototyping tool - accepted but not expected An application generator is a software tool which is used to assist and speed-up the creation of a (complete) system. provides a complete environment to support the programmer may include source code generator, compiler, etc usually creates code automatically may include an interface generator may include a debugger may be part of an integrated development environment - accepted not expected A compiler is a software tool which is used to translate a program (written in a high-level language) into a low-level program ready for execution on the computer. It has various stages: lexical analysis, syntax analysis, semantic analysis, code generation, optimisation (1 mark for just naming at least 3) During Lexical Analysis, input stream is broken into tokens, spaces etc, removed During Syntax Analysis, symbol table is produced, tokens are checked for fit to grammar During Semantic Analysis, a check is made that all variables are declared, and operations are legal eg real values are not being assigned to integer variables During Code Generation, machine code is generated During Optimisation, the code is improved if necessary to make it more efficient / faster / less resource greedy Produces error messages at any stage when needed (once only for complier) A debugger is a software tool used to detect, locate and correct faults in a program program trace/step-through/step-into: enables the programmer to see the progress through the program - which statements/procedures are being executed at any time break point: allows the programmer temporarily to halt execution in order to ascertain the value of variables at that point (or to step through the program from that point) variable watch: lists the value of a variable at specific points during the execution store dump: lists the entire contents of memory at a specific point error diagnostics: provision of messages relating to errors in the program post-mortem routines: enables programmer to see the values of variables at the point where the program failed - accepted not expected

Describe what is meant by the term virtual learning environment and give one example of information which could sensibly be held on the school VLE

A VLE is a software system designed to help teachers and pupils in the 1 management and use of learning resources. The school VLE could contain details about - any 1 of: 1 (must be related to learning - not generic) homework / coursework assignments feedback from teachers to students (not twice) additional / background teaching materials, etc

Explain what is meant by the term data structure and give one other example of a data structure. Why are data structures useful in computing?

A data structure is a group / set / collection of related data items / elements 1 Any of: • queue 1 • stack • (linked) list • (binary) tree [Not array or record] [Not table] Why data structures: Any 1 of: • convenient / best way of organising data relating to a real problem 1 • may be efficient to deal with various elements as one item

Outline the role of a database administrator.

A database administrator is the person in a company who - any one of: 1 Is responsible for the maintenance of the structure and management of the database system and the data in it. Allows users access to the database possibly with usernames and passwords Monitoring user activity Ensuring data backup procedures are followed

Explain in detail how a multiprogramming computer system works. Your answer should include an explanation of scheduling and polling

A multiprogramming computer system is one where more than one job is held in the computer's main memory at the same time and can be processed in the computer's central processing unit (CPU) at (apparently) the same time. Multiprogramming is used to ensure the most efficient use of the CPU and prevent the CPU being idle while waiting for a slower peripheral. The real-time clock causes regular interrupts to create time-slices, which the operating system allocates to the various jobs: this process is called scheduling and is controlled by a scheduler program. Each job is checked sequentially to ensure that it gets its appropriate share of time - this is known as polling. To allow more than one job to be resident in the main memory at any one time, the memory needs to be separated into separate parts - this is called partitioning. 6 [When answers are given in well-expressed point form: 6 marks may be gained for six or more of the individual points listed below 5 marks may be gained for five of the individual points listed below 4 marks may be gained for four of the individual points listed below 3 marks may be gained for three of the individual points listed below 2 marks may be gained for two of the individual points listed below 1 mark may be gained for one of the individual points listed below However answered, can't get all 6 unless gained mark for each of scheduling & polling] More than one job is in memory at same time More than one job is processed (apparently) at same time Real-time clock causes regular interrupts to create time-slices Scheduling allocates time-slices to each job Polling is the sequential checking of jobs so that each gets its appropriate share of time OS uses partitioning, ie the division of computer memory for different jobs OS pages jobs in and out to make better use of memory OS promotes efficient use of CPU

Giving an example, explain why a network protocol is necessary

A network protocol is necessary to enable devices/computers to communicate with each other, e.g. 1 linking a printer to a computer linking mobile phones by Bluetooth using ftp/http/smtp/voip/pop3 to transfer data between devices

Briefly describe how a bubble sort operates

A pass is made through the data, comparing each value with the following one... 1 ... and swapping them if necessary 1 A number of passes is made until the data is in order / no swaps 1

Describe what is meant by a primary key and a foreign key in a database.

A primary key (is a field which) uniquely identifies a record in a database. 1 A foreign key is a PK from one table, included in another table to form a link

Describe what is meant by a primary key in a database.

A primary key is a field which uniquely identifies a record in a database.

A computer process may be blocked. Describe, giving an example, what is meant by the term blocked

A process is blocked if it is waiting for some event. 1 Example: waiting for an input/output operation with a slow peripheral

In a car factory, a number of tasks are carried out by robots. Explain what is meant by a robot and describe how robots might be used in a car factory. Discuss the benefits and drawbacks of using robots for the owners of the car factory

A robot is a computer controlled (accept programmed/programmable, etc) device(s) 1 which can carry out (a variety of) complex (useful / repetitive) tasks (accept mimic human activity, etc) 1 In a car factory, a robot could be used for: Welding, painting, moving of raw materials, finished components / vehicles, etc 1 Benefits Perform the required task more consistently than human worker Perform the required task more accurately / with finer tolerances than human worker Work 24 hours per day, 7 days a week Don't get tired / ill / go on strike / need tea break / toilet break Cheaper to run (no salary costs) Can work more quickly than human worker Factory may be able to run without heating / lighting Human workers will not be subject to dangerous fumes / heat, etc Less chance of employees developing computer related ailments such as RSI 4x1 Drawbacks Staff remaining will have to be highly skilled / need significant training, etc Lacks touch / sensitivity / versatility / intelligence of human worker Robots may not notice obvious/repeated errors in process / cannot adapt to changes Expensive to buy / set-up / install May require factory to be rebuilt / extended, etc May be expensive to maintain / repair Difficult to reset / change for new production run / take time to reset, etc Robots may not notice obvious situations such as factory on fire if no humans around Not "may break down" alone [Marking of Benefits/Drawbacks: 1 mark for each point up to max of 4, but max of three if only Benefits or only Drawbacks attempted] An example of an extended answer worth seven marks is: A robot is a computer controlled mechanical device which can carry out a variety of complex useful tasks. In a car factory, a robot could, for instance, be used for: welding, then painting car components and the moving of raw materials or finished vehicles around the factory. There would be a large number of benefits to the owners of the car factory. For instance, the robot would: perform the required task more consistently and with finer tolerances than a human work 24 hours per day, 7 days a week be cheaper to run, since the system itself would have no salary costs work more quickly than human workers avoid workers being subject to dangerous fumes, etc Drawbacks would include: there would be significant training cost for those staff who remain the robot may lack the versatility and intelligence of human workers the robots are expensive to buy the robots may be difficult to reset or change for new production run

Routers are used in computer networks. Explain what is meant by the term router and describe the function of a router in a computer network.

A router is a device in a network which holds information about the addresses of computers in the network (or other networks) ... 1 Any 1 of: ... and can direct data to the correct computer ... and can direct data around network in (most) efficient way 1 ... and act as a gateway connecting to a larger network.

Why might a programmer wish to use a special purpose language? Give an example of a situation where a special purpose language might be used

A special purpose language might have helpful/vital features relevant to the application 1 Examples include: simulation eg for queuing systems 1 control of equipment computer aided design artificial intelligence expert systems scientific applications, etc games programming

Why would the development of this type of software be a highly specialised field?

A system like this will be safety-critical - human life is at risk if the software fails (has to fail safe) 1 It is also likely to be highly complex/specialised software (and hardware) - there would probably be multiple inputs, has to work in real time (with a fast moving train), has to fail safe, etc

Name the logical operation represented by this truth table and, using an example, explain how it might be used for masking

AND An example could be: MASK 10000000 VALUE 11001011 MASK AND VALUE 10000000 Explanation: when ANDed with another number, this (example) mask determines whether the left hand bit of the number is 1 or 0

M is the sixteen-bit binary number 1000000000000000. M is used in a masking process with another sixteen-bit binary number. Name the logical operation which would be used in this masking process and state the effect of the process

AND Any 1 of: Will identify / pick out / produce left bit / most significant bit 1 Will determine whether left bit / most significant bit is a 0 or 1

One advantage of storing numbers in floating point form in a computer is that it can be used to store very large (positive or negative) numbers. State one other advantage of using floating point form rather than integer form. State one advantage of storing numbers in integer form.

Advantage of floating point form: Can store numbers which are not integers / are real numbers / have decimals 1 Advantage of integer form: Stores numbers completely precisely / accurately

Binary numbers can be represented in integer form or floating point form. Describe two advantages of storing numbers in integer form and one advantage of storing numbers in floating point form.

Advantage of integer form: any 2 of: numbers are stored completely accurately / precisely 1+1 require less complex processing than floating point allows for an exact representation of zero takes up less storage space Advantage of floating point form: any 1 of: non-integers / real numbers / number with decimals can be stored 1 greater range of (pos/neg) numbers can be stored

State one advantage and one disadvantage of using this data structure to store ordered data compared with using an array.

Advantage: faster to search/add a value 1 Disadvantage: more complex to program / process

Describe a security situation where voiceprint recognition might be used, explaining how it operates. Describe one possible drawback of voiceprint recognition

An example could be (eg) access to a room / building by speaking person's 1 name (or a standard word) at the door. (The person's voice needs to have been recorded previously and) it needs to be compared / matched (with original) 1 Any 1 of the following could stop the system working effectively • High background noise 1 • Cold / sore throat, etc, affecting the voice • Recording and playing back of the original voice/word for unauthorised access

Explain the difference between an interpreter and a compiler

An interpreter translates each line of the source program then executes it 1 A compiler translates a whole (source code) program prior to execution

Describe what is meant by the term intranet and give one example of information which could sensibly be held on the school intranet

An intranet can only be accessed by (in this case) staff/students (using a log in/password). 1 The school intranet could contain details about; (any 1 of): 1 teachers / teacher-rooms school newsletter / achievements of pupils, etc (not twice) feedback from teachers to students / grades / student details (not twice) internal telephone book, etc teaching resources / homework etc...

Outline what is meant by a scripting language

Any 1 of: A scripting language ( is often embedded in other languages and) can add functionality to web pages, etc 1 Is the set of commands understood by the application software. Different software usually have different script languages and the scripts cannot always be used with other produces [BCS, 2013]

Explain why careful version control is necessary when developing computer programs.

Any 1 of: If programmer A modifies current version, and programmer B modifies an earlier version, neither new version will contain both modifications Any amendments must be made to the most recent versions

Many computer systems use speech recognition as a means of input. Describe three benefits of speech recognition as an input method and also describe two possible ambiguity problems associated with speech recognition

Any 3 of: Speeds up text input / faster than typing Can be used by someone who is unable to type / not a skilled typist / disabled May help to avoid RSI Allows user to simultaneously do some other task with hands etc Ambiguity problems: Different words may sound the same (e.g. too / to / two) Command words may be taken as input words (or vice versa) (e.g. "start sentence")

Despite recent developments, the graphical user interface (GUI) remains an extremely common form of human computer interface (HCI). Describe in detail the benefits to users of a GUI

Any 5 from: GUI system is usually easier to learn for a novice user GUI system is usually more intuitive to use once learned e.g. icons relevant to the application may be similar to other packages with which users are familiar there is no need to remember complex text commands it is easier to cut and paste between applications users can customise desk-top, e.g. creating shortcuts, etc GUIs often have a good help system / tutorials / wizards, etc 5 An example of an extended answer worth five marks is: A GUI system is usually easier to learn for a novice user and is also usually more intuitive to use once learned. It may be similar to other packages with which users are familiar, which will also help to make it easy to learn. It may use icons, etc which are relevant to the application which make it more transparent to the user. There is no need to remember complex text commands. It is usually easy to cut and paste between applications. In many cases, the user can customise the desk-top, etc, and many GUIs have a good help system and may come with a tutorial.

Towy is a large on-line retailer which sells books and computer games. Towy carries out disaster planning for its computer systems. Discuss the importance of disaster planning and describe how effective disaster planning would allow Towy to recover quickly following a disaster

Any 6 of: Many organisations eg Towy could not survive if their computer system failed All computer systems are liable to fail You can't always avoid fires, floods, etc. 6x1 Backups should be made regularly / periodically Files should be archived off-site There should be an alternative computer system / ability to replace hardware quickly There should be a back-up power supply Even if effective, some data/money/business is likely to be lost after the disaster Staff trained in recovery procedures Data can be restored from safely stored back up An example of an extended answer worth six marks is: Many organisations, particularly on-line retailers like Towy, are completely reliant on their computer systems and could not continue / survive if the system lost data or failed for anything but a very short time. All computer systems are liable to fail, however well designed and maintained, and it is never possible to be completely secure against fires, floods, earthquakes, terrorist attacks, etc. To aid a rapid recovery from disaster, periodic / regular backups should be made, with files archived off-site and/or in a fire-proof environment. Towy should ensure that an alternative system (computer-based or manual) is available, also a back-up power supply. However, even if disaster planning is comprehensive and the recovery is well executed, it is still likely that Towy will suffer some unavoidable damage, and some money and/or customer good-will will be lost.

An operating system on a multiprogramming computer system carries out many functions. Explain what is meant by the term multiprogramming and explain in detail the functions provided by the operating system which allow the system to achieve multiprogramming.

Any eight of: 8x1 Is a method of benefitting from the speed of a CPU compared with slower peripherals More than one job is in memory at same time More than one job is processed (apparently) at same time Time-slice is the amount of time allocated to each job by the operating system Scheduling allocates time-slices to the jobs Polling is the sequential checking of jobs so that each gets its appropriate share of time Partitioning is a division of computer's memory for different jobs One job is halted if eg waiting for a peripheral device - other jobs can now be processed Paging jobs in and out makes better use of memory This promotes efficient use of CPU It is achieved by use of interrupts An example of an extended answer worth eight marks is: A multiprogramming computer system is one where more than one job is held in the computer's main memory at the same time and can be processed in the computer's central processing unit (CPU) at (apparently) the same time. Multiprogramming is used to ensure the most efficient use of the CPU and prevent the CPU being idle while waiting for a slower peripheral. One job is halted if waiting for a peripheral device so other jobs can now be processed The operating system may move jobs in and out of memory and allows each job a pre-determined time-slice to access the CPU: this process is called scheduling and is controlled by a scheduler program. To allow more than one job to be resident in the main memory at any one time, the memory needs to be separated into separate parts - this is called partitioning. Partitioning is usually variable, depending on the relative sizes of the jobs concerned.

Give one advantage of transmitting data in digital form rather than analogue form

Any one of: Digital transmission is preferred as it is less likely to suffer corruption/degradation. 1 Can error check data. Can compress data and therefore transfer time is quicker.

Explain why it may be useful to compile modules of a program separately

Any one of: • Modules do not need to be compiled each time they are required. • Modules can become a part of a subprogram library (or can be used again in another program). 1 • Each can be (thoroughly) tested before using in the whole program

If a database is already in second normal form, describe the step necessary to ensure that it is in third normal form

Any one of: 1 Any transitive dependencies need to be removed to convert from 2NF to 3NF It needs to be ensured that each attribute / field depends only on the primary key

State a computer application where a queue is the most appropriate data structure, and explain why it is the most appropriate data structure to use.

Any one of: 1 a printer queue a keyboard buffer a download buffer a processor scheduling queue [Note: other computer applications are possible so not e.g. a queue of patients at doctor's, though could be a computerised version of this] Why: In each case, because the natural / desirable processing order is first in first out (or e.g. job waiting longest should be printed next) 1 But just putting e.g. "because it's first in first out" is not enough

Why is an index often used by a database management system?

Any one of: An index is used to ... • improve (read) access times to records. 1 • sort the records (for viewing/output)

A database is known to be in first normal form. Describe the step necessary to ensure that it is in second normal form.

Any partial dependencies must be removed

Describe in detail three possible drawbacks for customers using on-line shopping

Any three from: Cannot see / feel / try-on the item (for a tangible item) / may not be as advertised Lacks the social aspect of shopping Need access to a debit card / credit card Can't get the item immediately (tangible item) There is often a delivery charge (tangible item) If not at home when delivered you may need to visit post office, etc (tangible item) / you need to be at home when delivered Something may get lost or broken in the post (tangible item) May need to return item - more difficult than going back to shop (tangible item) Website may be fraudulent - may not receive goods (Separate points Website may be fraudulent - credit card details may be stolen if well argued) May have an impact on traditional shops closing down.

Assume the same database is now in second normal form. Describe the step necessary to ensure that it is in third normal form.

Any transitive dependences must be removed 1 It needs to be ensured that each attribute/field depends only on the primary key

When a computer system is being developed, a design validation is often carried out. Describe what should happen during a design validation

Any two of: check for correspondence between the designed system and the specification 1+1 confirm that the most appropriate techniques have been used confirm that the user interface is appropriate

Explain the role of a database management system in allowing authorised access to data

Any two of: The DBMS allows access via passwords. The DBMS allows certain users access to certain records or fields only. The DBMS may allow read and/or write access only.

State the essential features of an array and give one example of a situation where the organisation might use a two-dimensional array in connection with its sales data

Any two of: an array (is a data structure which): • is a set of data elements of the same type 1+1 • has its elements accessed via index(es), subscript(s), row/column names • has a fixed/pre-determined number of elements Example (may be by diagram or text): Either: Jan Feb Mar Apr ... Product 153 | .. .. .. .. 1 Product 156 | .. .. .. .. ..... | .. .. .. Or Sales of each product number by month etc

What is the purpose of Backus-Naur Form (BNF)?

BNF is used to describe (unambiguously) the syntax / grammar / rules 1 of a programming / computer language

What is the purpose of Backus-Naur Form (BNF)? Explain why BNF is often used in preference to a natural language such as English or Welsh.

BNF is used to describe (unambiguously) the syntax / grammar / rules of a programming / computer language. Natural languages such as English or Welsh are normally ambiguous/imprecise.

What is the purpose of Backus-Naur form (BNF)? Why is BNF normally preferred over the use of a natural language such as English or Welsh?

BNF is used to describe (unambiguously) the syntax/grammar of a programming/computer language 1 Natural languages such as English or Welsh tend to be too ambiguous

Explain why BNF is preferable to a natural language for this purpose

BNF is used to describe unambiguously the syntax/grammar of a programming language. (Natural languages are generally ambiguous)

Testpasser is a driving school with a number of branches in different towns (only one branch per town). Each branch has an address and a telephone number. Testpasser employs a number of driving instructors, each of whom works at just one branch. Pupils of Testpasser are taught by just one instructor. Bookings are made by pupils for a certain time and date. Design a database system for the above situation in third normal form

BRANCH (BranchTown, BranchAddress, BranchPhone) INSTRUCTOR (InstructorID, InstructorName, InstructorAddress, InstructorPhone, BranchTown) PUPIL (PupilID, PupilName, PupilAddress, PupilPhone, InstructorID) BOOKING (PupilID, BookingDate, BookingTime) Marking: Four suitable named tables 1 Each table with suitable PK (identified as such) (2 or 3 correct = 1mark) 2 Correct FKs (identified as such) (3 x 1) 3 Any number of bad fields / bad FKs subtract 1 mark

When developing a new computer system, programmers often use a software package with programming capabilities, rather than a traditional programming language. Describe two possible benefits and one possible drawback of this package-based approach compared with the use of a programming language.

Benefits: any 2 of: less programming skill required 1+1 much of the "work" is done for user by package / quicker to achieve objective can import / export from / to other packages less likely to contain errors / package has already been well tested package might include library of standard functions more help is available in the package Drawback: Programming might have achieved special functionality unavailable in the package

What name is given to this type of data structure?

Binary tree

State the name given to processes such as retinal scanning when used for security purposes. Retinal scanning is sometimes used to control access to secure government buildings. Explain how retinal scanning might work in this case, describing any drawbacks to using this system.

Biometric(s) 1 Staff/ authorised persons could have their retinal scan taken originally then stored on file 1 When entry attempted, a new scan is taken and compared with those on file 1 If a match is found, entry is permitted 1 Concern: any one of: 1 People may not wish personal record to be kept / feel it infringes their freedom People may be concerned about possible eye damage (repeated flash photography etc) An example of an extended answer worth five marks is: Biometric. Staff and authorised persons could have their retinal scan taken originally then stored on a computer file. When an entry to the building attempted, a new scan is taken and compared with those on file. If a match is found, entry is permitted Staff members may be concerned about possible eye damage through the repeated use of flash photography.

A computer process may be said to be in one of three states: running, ready or blocked. Explain the difference between the two states ready and blocked

Blocked means that the process is not running because it is waiting for some event (such as an input/output operation) 1 Ready means that the process is not running because another process is currently being run / waiting for processor time

When a high speed device such as a computer is attached to a low speed device such as a printer, one or two temporary storage areas are often used to improve the efficiency of the data transfer. Give the name of a temporary area of storage of this type and explain in detail how this approach assists with data transfer between the devices.

Buffer A buffer is filled at one end and emptied at the other end / while one buffer is being emptied, another can be filled buffering avoids fast device waiting for the data transfer Double buffering is quicker than single buffering An example of an extended answer worth four marks is: A buffer is an area of computer memory where data is held while transferring it to or from a (slower) peripheral. With double buffering, while one buffer is being emptied, another can be filled. This avoids waiting for the data transfer.

Explain the purpose of buffering in a computer system making clear the difference between single buffering and double buffering. Why is double buffering usually preferable? Give one example of a situation where double buffering is useful

Buffering: Using an area of memory to store data while transferring to/from a peripheral 1 Single buffering: only one buffer is used ) Double buffering: while one buffer is being emptied, another can be filled ) 1 Double buffering is quicker as it avoids waiting for the data transfer 1 An example of where double buffering is useful is writing to a screen / in a printer queue 1 An example of an extended answer worth four marks is: A buffer is an area of computer memory where data is held while transferring it to or from a (slower) peripheral. With double buffering, while one buffer is being emptied, another can be filled. This avoids waiting for the data transfer. An example is a printer queue double buffering system - one buffer can be filled while another one is being emptied to the printer, whereas a single buffer is adequate for a keyboard.

Explain what is meant by the term buffering in a computer system. Your answer should cover the difference between single buffering and double buffering and the benefits of double buffering. Give an example of double buffering

Buffering: using an area of memory to store data while transferring to/from a (slower) peripheral/device. 1 Double buffering: while one buffer is being emptied, another can be filled. 1 Double buffering is quicker (as it avoids waiting for the data transfer.) 1 An example of where double buffering is useful is in a printer queue / video stream etc. 1 An example of an extended answer worth four marks is: A buffer is an area of computer memory where data is held while transferring it to or from a (slower) peripheral. With double buffering, while one buffer is being emptied, another can be filled. This avoids waiting for the data transfer. An example is a printer queue double buffering system - one buffer can be filled while another one is being emptied to the printer whereas a single buffer is adequate for a keyboard.

Explain what is meant by circuit switching and packet switching in a computer network. One advantage of packet switching over circuit switching is that data is less likely to be affected by network failure. Give two other benefits of packet switching over circuit switching. A typical packet contains the actual data and the destination address. State two other data items which the packet is likely to contain.

Circuit switching: 1 Any 2 for one mark total: Path is set up between the sender and receiver All data follows the same path, in order Path cannot be used by any other data Packet switching: Any 2 for one mark total: 1 Data split into packets Each packet may be transmitted by different routes Packets may arrive out of order and are re-assembled Packet switch preferred: Better security as it is very difficult to intercept 1 Makes more efficient use of data lines as there is no waiting during gaps 1 NOT (as it's in the question) Less likely to be affected by network failure, etc Content of packet: any 2 of: the source address 1+1 the order number of the packet / reassembly data / assembly data / timestamp error control mechanism / check sum / parity bit / etc NOT (as it's in the question) actual data and destination addresses An example of an extended answer worth six marks is: Circuit switching is where a path is set up between the sender and receiver before the start of transmission and is kept open until the end of transmission. All data follows the same path, in order. The path cannot be used by any other data during the transmission. Packet switching is where the data is split into packets before transmission. Each packet may be transmitted by different routes through network. They may arrive out of order and are re-assembled on arrival. Packet switching is usually preferred because it results in better security as it is very difficult to intercept and reconstruct the packets. Packet switching also promotes the more efficient use of data lines as there is no waiting during gaps. A packet could also contain the source address and the order number of the packet

Explain what is meant by circuit switching and packet switching in a computer network and give two advantages of packet switching over circuit switching

Circuit switching: 1 • Path is set up between the sender and receiver • All data follows the same path, in order • Path cannot be used by any other data Packet switching: Any 2 of for one mark total: 1 • Data split into packets • Each packet may be transmitted by different routes • Packets may arrive out of order and are re-assembled Packet switch preferred: any 2 of for one mark each 1+1 • Better security as it is very difficult to intercept • Makes more efficient use of data lines as there is no waiting during gaps • Less likely to be affected by network failure because multiple paths used An example of an extended answer worth four marks is: Circuit switching is where a path is set up between the sender and receiver before the start of transmission and is kept open until the end of transmission. All data follows the same path, in order. The path cannot be used by any other data during the transmission. Packet switching is where the data is split into packets before transmission. Each packet may be transmitted by different routes through network. They may arrive out of order and are reassembled on arrival. Packet switching is usually preferred because it results in better security as it is very difficult to intercept and reconstruct the packets. Packet switching also promotes the more efficient use of data lines as there is no waiting during gaps. It is also less likely to be affected by network failure because multiple paths are used.

Describe the differences between circuit switching and packet switching in a network. A typical packet contains the source and destination addresses. State two other data items that the packet is likely to contain

Circuit switching: Dedicated path is set up between the sender and receiver Packet switching: (Data split into packets) each packet may be transmitted by different routes Packets may arrive out of order and are re-assembled Any 2 of (both needed for the one mark): the actual data the order number of the packet / reassembly data error checking data [Not source and destination addresses]

A software developer uses two software tools amongst others while developing a new software system. These two software tools are: • a compiler: used to translate a computer program into a form ready for execution on a computer • a debugger: used to detect errors during the development of a program Describe in detail the operation of these two software tools in developing software systems.

Compilation: During Lexical Analysis, input stream is broken into tokens During Lexical Analysis, comments and unneeded spaces are removed During Lexical Analysis, error messages are generated if appropriate During Syntax Analysis, symbol table / dictionary is produced (could be in Lexical Analysis instead) During Syntax Analysis, tokens are checked for fit to the grammar, using BNF-type rules During Syntax Analysis, if not the case, error message(s) are produced During Semantic Analysis, checks that all variables are declared (and used) During Semantic Analysis, checks that e.g. real values are not being assigned to integers During Semantic Analysis, checks that operation is legal for type/no mixed mode arithmetic During Semantic Analysis, Reverse Polish logic will be used (Accepted not expected) During Code Generation, machine code is generated (NOT twice for compiler) During Code Generation, code optimisation may be employed (accepted not expected) [Note: If simply named 3 or 4 of: Lexical Analysis / Syntax Analysis / Semantic Analysis / Code Generation: two marks If simply named 2 or 4 of: Lexical Analysis / Syntax Analysis / Semantic Analysis / Code Generation: one mark] Debugger: Program trace/Step-through: enables the programmer to see the progress through the program - which statements/procedures are being executed at any time Break point: allows the programmer temporarily to halt execution in order to ascertain the value of variables at that point (or to step through the program from that point) Variable watch: lists the value of a variable at specific points during the execution Store dump: lists the entire contents of memory at a specific point Error diagnostics: provision of messages relating to errors in the program Accepted not expected: Post-mortem routines: enables programmer to see the values of variables at the point where the program failed.

A supermarket chain uses data mining techniques on data gathered from its customer loyalty card scheme. Explain what is meant by data mining and discuss how the supermarket could use data mining in this case

Data mining: the analysis of a large amount of data (in a data warehouse) to provide new information / find patterns/trends in the data Supermarket: Any 2 of: could attract customers to make additional purchases via targeted special offers, etc could reward customers for purchases made could learn about individual customer choice, shopping times, etc could sell info on to third parties An example of an extended answer worth four marks is: Data mining is the analysis of a large amount of data in a data warehouse to provide new information or to find new patterns in the existing data. A supermarket could use the intelligence derived from data mining on data extracted from loyalty card data to increase its profits by attracting customers to make additional purchases via targeted special offers, etc and to reward customers for previous purchases.

Explain the term data mining. Describe in detail how an insurance company might use data mining.

Data mining: the analysis of a large amount of data (in a data warehouse) 1 to provide new information / find patterns in the data Insurance company: could use data extracted from customers: to develop new products 3x1 to improve marketing to existing / new clients identify groups of safer clients to attempt to reduce fraud ... ... via sharing information with other insurance companies/(police?) An example of an extended answer worth four marks is: Data mining is the analysis of a large amount of data in a data warehouse to provide new information or to find new patterns in the existing data. An insurance company could use data extracted from customers to develop new insurance products, to improve marketing to existing or new clients and make special offers etc to them. The insurance company could also attempt to reduce fraud by a better understanding of unusual claims etc and could augment this by sharing relevant data with other insurance companies, and possibly the police.

Stacks, queues, arrays and records are types of data structures. Why are data structures useful in computing? Name one other type of data structure.

Data structures are: any 1 of: convenient / efficient way of organising/grouping data relating to a real problem 1 may be efficient to deal with various elements as one item Any 1 of: (binary) tree 1 linked list

A linked list is an example of a data structure. State two other examples of data structures. Draw and label a diagram to show the structure of a linked list

Data structures: any two of the following for ONE mark: queue stack (binary) tree record array (NOT linked list) Start End Marking: Accept single boxes with arrows rather than twin boxes pointers (including start and end - accept other indications of start and end) data

Explain the advantages of different users of a database system having different views of the database.

Different views: any two of allow database users to read / write to / amend / delete only part of DB 1+1 allow database users to access only certain records / certain fields may link tables together so user's view is as if only one table

While in the same country, the student wishes to download music and use on-line banking. Outline what is meant by each of these terms, and explain a different difficulty the student may experience in each case

Downloading music: refers to accessing music file via the internet either freely (legally or illegally) or from a web-site where payment is needed (for local storage) Difficulty: download speeds may be very low / access may be unreliable / excessive data charges On-line banking: refers to accessing balance details, transferring money etc in connection with your own account via a secure web-site Difficulty: there may be concerns over security with data transfers between countries or within the country

A certain school uses a two-dimensional array to store data about its pupils. Using a diagram, give an example of data which might sensibly be stored in a two-dimensional array in this case. Occasionally, three-dimensional arrays are used to store data. Give one drawback of using three-dimensional arrays.

Example: GCSE Grades English Maths ----- ----- ----- Pupil1 C A ----- ----- Pupil2 B E ----- ----- -------- ----- ----- ----- -------- ----- ----- Marking: 1 mark for each dimension 1+1 Must be more than one column / row to get mark for that dimension If no diagram, max of 1 mark Three-dimensional array: more complex to program / process

Two methods of data transmission are half duplex and full duplex. Describe what is meant by each of these terms

Half-duplex transmission is when data can be sent in either direction (along a 1 computer network / pathway / cable), but only in one direction at a time. Full-duplex transmission is when data can be sent in either direction (along a 1 computer network / pathway / cable), in both directions at the same time / simultaneously.

Describe two benefits of handwriting recognition over a traditional keyboard and mouse input method

Handwriting recognition: any 2 of: • Is quicker / easier for user than typing 2x1 • There is no need to learn to type / is a more "natural" form of input • Avoids the use of a bulky keyboard / useful in confined spaces

Explain why hexadecimal notation is often used to represent binary numbers. Convert the binary number 01001110 to hexadecimal

Hex: any 1 of: acts as shorthand for binary 1 easier for humans to read and understand / fewer characters required than binary NOT takes up less space 0100 1110 = 4E

Discuss the benefits of biometrics for enhancing security, and discuss any concerns people may have about their use.

If answered in point form, any five from: Biometric data is unique to a person Biometric data is very difficult to copy, steal or imitate (unlike PINs, signatures, etc) It is not possible to "forget" as it would be with access cards, PINs, etc Some people might see this use of biometrics as an infringement of privacy / modesty, etc, (personal liberty) People might also be concerned about the uses the data might be put to People might be concerned about physical damage (e.g. eye damage from repeated flash photography) Will not work if the original data capture was flawed (e.g. if criminals manage to have their data recorded and fraudulently become authorised) An example of an extended answer worth five marks is: Biometric systems usually work by biometric data being recorded for authorised persons, for instance the staff of a bank. When someone requires access (for instance physical entry to the bank) a comparison is made between the stored biometric data and that of the presenting person - access is only allowed if they match. This approach has the benefit that biometric data is very difficult to copy, steal or imitate (unlike PINs, door keys, signatures, etc) Also it is not possible to "forget" as it would be with access cards, PINs, etc. However, some people might see this use of biometrics as an infringement of their privacy or modesty and might be concerned about physical damage (e.g. eye damage from flash repeated photography. People might also be concerned about the uses the data might be put to.

Expert systems are sometimes used by doctors to assist with a diagnosis. Explain what is meant by the term expert system and describe any benefits and drawbacks of the use of an expert system to the doctor

If in point form: any 6 of (but must have both of first two*** to gain six) *** An expert system is based on facts and rules / inference engine *** employing a large database (Knowledge base: accepted not expected) might help them to diagnose / treat unusual conditions might save doctor's time might reduce time spent in training doctors up to date information might cause the doctor to be held in lower esteem (de-skilling: accepted not expected) doctor may become over reliant on system An example of an extended answer worth six marks is: An expert system is a software system with a large database (often called a knowledge base) and a built-in set of facts and rules which enable it to appear to be an expert in a certain area similar to a human expert, by analysing and solving complex problems. An ES might be used by the doctor to diagnose unusual or complex conditions from information gathered from the patient. The ES might reduce the number of years spent training to be a doctor. It might save the doctor's time by covering simple conditions first and allowing the doctor to concentrate on more difficult medical situations. Doctors might also welcome the ES if it enables unusual medical conditions to be diagnosed rapidly and reliably. The doctor / medical profession might be concerned that ES might lead to the loss of status / esteem or deskilling of the profession.

Explain what is meant by a sequential file, and describe how records are added and how records are deleted from a sequential file. Why is an indexed sequential file often used in preference to a standard sequential file?

In a sequential file records are stored in key sequence order (or key field order). 1 Addition of one record: Make a new copy of the records until in the correct place to add the new record 1 Add the new record to the new copy ) 1 Continue until the end of the file ) (If multiple records to be added, these should preferably be sorted before the above process to avoid multiple updates - not expected) OR Addition of one record: Record added (probably at end of file) 1 Then file sorted 1 Deletion of one record Make a new copy of the records until in the correct place for deletion 1 Do not copy the record to be deleted ) 1 Continue until the end of the file ) (If multiple records to be deleted, these should preferably be sorted before the above process to avoid multiple updates- not expected) An indexed sequential file allows serial access to the records but also access 1 directly via the index, (which will be much quicker) In a sequential file record are stored in key sequence order. They can be stored on disc or tape. When a record needs to be added, the process is to make a new copy of the records on to a new tape, until in the correct place to add the new record, which should be added to the new copy. This should be continued until the end of the file. If multiple records are to be added, these should preferably be sorted before the above process to avoid multiple updates. When a record needs to be deleted, the process is to make a new copy of the records on to a new tape, until in the correct place to delete the record, which should simply not be coped to the new copy. This should be continued until the end of the file. If multiple records are to be deleted, these should preferably be sorted before the above process to avoid multiple updates. An indexed sequential file allows serial access to the records but also allows access directly via the index, which will be much quicker

Interrupts are often generated in a computer system. Describe what will happen if, while one interrupt is being processed, another with a higher priority arises. Describe a situation in which a high-priority interrupt may be generated.

In this order] The O/S suspends current interrupt routine 1 It runs the new higher priority interrupt routine 1 The O/S returns to original interrupt routine and continues 1 Description of high priority interrupt involving any of: Impending data loss 1 Impending hardware / software failure Detection of imminent power failure Allow run time error

Explain the terms indexed sequential file and multilevel index. Draw a diagram to demonstrate the operation of a three-level index. Describe the main advantage of an indexed sequential file over a standard sequential file.

Indexed sequential file: Records are stored in key order in the file 1 Index allows data to be accessed directly 1 Multilevel index: There is a main index which contains the location of the next index 1 This process may extend to several levels and the last index contains the physical address of the record 1 Advantage over standard sequential file: Allows faster access because can move directly to individual records 1 An indexed sequential file is a file structure where records are stored in key sequence order in the file and where an index is used to allow data to be accessed directly. A multilevel index arises where this index is a main index which itself contains a range of addresses and the location/block of the next level index. This process may extend to several levels, with the last index containing the physical address of the record. An indexed sequential file allows faster access because you can move directly to the individual record.

A programming team is developing a new computer system, and it is very important that this particular system is usable by a wide range of users, including those with various types of physical disability. The system will have a graphical user interface (GUI) but this may be specially adapted, and other facilities may be added to make the system more suitable for users with physical disabilities. Discuss the types of input and output methods which are particularly suitable for users with various types of physical disability

Input) Speech recognition interface (SRI) can be used by someone unable to type/disabled SRI may have difficulty with background noise / interference / can overhear others' input SRI may have difficulty with proper nouns / ambiguity etc Foot controlled keyboard / mouse Head/eye movement detector Oversize keyboard Use of head stalk etc Braille key overlays Screen readers can be used together with a standard GUI However any such device will not be suitable if unable to use that part of the body Many such devices may have considerable resource implications for the computer system (Output) Screen output can use large / clear fonts / clear colour contrasts etc Speech synthesis is useful for people with visual impairment Speech synthesis may pronounce words incorrectly Speech synthesis can be annoying / obtrusive Speech synthesis may have heavy hardware performance requirements (once only) Braille output may be possible - device punches paper with Braille characters

Give one example of an interrupt generated by a hardware device

Interrupt generated by hardware: any 1 of: • May arise from a peripheral eg keyboard key pressed 1 • May arise from a peripheral eg printer run out of paper • May arise from eg a timer pulse • May arise from a hardware fault / power failure

Give two examples of an interrupt generated by software.

Interrupt generated by software: any 2 of: • May arise from a run time error (or eg: division by zero/array index exceeded etc) • May arise from input/output request 2x1 • May arise from a user request • May arise from a software fault

Explain what is meant by the term interrupt in a computer system and explain what happens after the interrupt is dealt with. Describe two situations which might give rise to an interrupt, making it clear in each case whether the situation is an example of an interrupt generated by a hardware device or by software.

Interrupt: is a signal generated by a device/software which may cause a break in execution Afterwards, execution of the original routine may continue or another high priority interrupt may be serviced. (both points needed) Situations giving rise to interrupts: any two of (Must indicate S/W or H/W): May arise from a run time error (S/W) May arise from input/output request (S/W) May arise from a user request (S/W) May arise from a software fault (S/W) May arise from a peripheral e.g. keyboard key pressed (H/W) May arise from a peripheral e.g. printer run out of paper (H/W) May arise from e.g. a timer pulse (H/W) May arise from a hardware fault (H/W) An example of an extended answer worth four marks is: An interrupt is a signal generated by a device or software which may cause a break in the execution of the current routine. Afterwards, execution of the original routine may continue (or another high priority interrupt may be serviced.) Situations giving rise to interrupts include: an input/output request (software) and a timer pulse (hardware.)

A town has an annual poetry festival, where poets read their own poems at poetry-readings at various venues. Each poet has an id-number, a date of birth and may have written many poems. Each poem has a title and was written by only one poet and was finished on a particular date. Each poetry-reading is at a single venue on a particular date and involves only one poet. Each venue has a name, an address and a maximum size of audience. Each venue has no more than one poetry reading per day. Design a database system for the above situation in third normal form

POET (PoetID, PoetName, PoetDOB) POEM (PoemTitle, PoetID, DateCompleted) VENUE (VenueName, Address, AudienceSize) POETRY-READING (VenueName, Date, PoetID)

Two unrelated terms used in computing are: • parallel transmission of data • parallel processing Explain what each means, and give an example of where parallel processing might be useful

Parallel transmission: occurs when a number of bits are sent simultaneously / sent over multiple paths / lines. 1 Parallel processing: the simultaneous use of several processors/cores to perform a single task 1 PP could be useful where an extremely large/complicated calculation is being 1 carried out (e.g. weather forecasting, image processing...)

Partitioning is often used in computer memory. Explain what is meant by the term partitioning. Why does program code need to be relocatable if partitioning is used?

Partitioning is the dividing up of memory 1 allows more than one job to be resident in the (main) memory at the same time. 1 Code can be loaded into any partition. 1 (If the code is not re-locatable it will have to wait until it can go into one particular Partition / Memory may not be available for the process.)

Giving an example, explain why network protocols are necessary

Protocols are necessary to specify data formats, etc, to enable devices to communicate with each other 1 Examples: 1 linking a printer to a computer linking mobile phones by Bluetooth using ftp/http/smtp/voip/pop3 to transfer data between devices

A large network has many thousands of users, each of whom has a unique six digit user id and a password. A random access file is used to store all the encrypted passwords, with the user id being used as the key field. Explain in detail how a random access file operates, using the situation described above as an example.

Random Access file is a computer file where: 6x1 Physical location for new record is calculated from the key field / user-Id A hashing algorithm is used for this calculation to find the location If data collision /something there, the record is stored instead in an overflow area Data in the overflow area is normally stored and searched in a linear manner File may need reorganising (and new hashing algoriyhm) if overflow becomes too large Existing records are accessed in the same way. A well explained example could gain all six marks. An example of an extended answer worth six marks is: A random access file is a computer file where the physical location for a new record is calculated from the data in the record's key field, the user id in this example. A hashing algorithm is used for this calculation. If this location is empty, the encrypted password is stored there, but if the location is already occupied with data, the password is normally stored instead in an overflow area. Data in the overflow area is normally stored and searched in a linear manner. When access is required to an existing record, the process is similar to above - the same hashing algorithm is used to derive the location, with the overflow area being accessed if necessary. If the overflow area becomes too large access times may lengthen and the file may need re-organisation.

In a car factory, a number of operations, such as welding and painting, are carried out by robotic equipment. Describe the benefits and other implications of automation of this type.

Robotic equipment: any six of: 6x1 Expensive to install but probably cheaper than human workers over a longer period ("cheaper" alone not enough) Is likely to be more accurate / the same each time Doesn't get tired / ill / can work 24hr / without breaks etc May be able to work in unheated, unlit environment May be involved in a process which may be hazardous to human health There may be feedback loop / artificial intelligence - each time an item is welded etc, quality checked - improves each time Human workers may be better at spotting impending problems etc There may be many redundancies (of skilled workforce) Most jobs which remain may be deskilled ("machine minders") Some highly skilled jobs may be created for system designers etc Machinery may need to "learn" from existing skilled human operators These people may not be available in the future for work on new car models etc An example of an extended answer worth six marks is: Robotic equipment is expensive to install but will probably be cheaper than human workers over a longer period. Robots are likely to be more accurate than human workers and doesn't get tired of suffer from illness. Robots can work 24hr per day every day if necessary. It may be possible to save money since robots could work in unheated, unlit environment. They may also safeguard humans by doing processes which may be hazardous to human health. There may be feedback or artificial intelligence systems whereby each time an item is welded etc, the quality is checked and may improve each time. However, human workers may be better at spotting impending problems etc. There may be many redundancies of skilled workers, and most jobs which remain may be deskilled as staff basically become "machine minders", although some highly skilled jobs may be created for system designers or maintainers. The machinery may need to "learn" from existing skilled human operators but these skilled people may not be available in the future for work on new car models.

Describe the difference between rounding and truncation in computer programs

Rounding: number is approximated to nearest whole number/tenth/hundredth, etc Truncating: number is approximated to whole number/tenth/hundredth, etc, nearer zero (accept lower)

Each student at a college can enrol on a number of courses. Some courses run several times a year. Each course is taught by one and only one teacher, although teachers may teach a number of courses. Design a database system for the above situation in third normal form.

STUDENT (StudentNum, StudentName, ...) TEACHER (TeacherNum, TeacherName, ...) COURSE (CourseNum, TeacherNum, ...) STUDENT-COURSE (StuNum, CourseNum, StartDate, ...) [Marking: Four suitably named tables: 1 Four tables with suitable Primary Key shown (2 or 3 correct = 1 mark) 2 One mark for each foreign key (don't need to be identified as such) 3x1 -1 mark for any number of additional bad foreign keys

Access to computer files may be sequential, indexed sequential or random. Describe in detail each of these three types of access, including how records are added or deleted, and discuss their relative advantages and disadvantages.

Sequential 10 Records are stored and accessed in key sequence order. Addition of a record: Make a new copy of the records until in the correct place to add the new record Add the new record to the new copy Continue until the end of the file If multiple records to be added, these should preferably be sorted before the above process to avoid multiple updates Deletion of a record: Make a new copy of the records until in the correct place for deletion Do not copy the record to be deleted Continue until the end of the file If multiple records to be deleted, these should preferably be sorted before the above process to avoid multiple updates Indexed Sequential Records are stored in key order in the file An index allows data to be accessed directly Multilevel index usually used: There is a main index which contains the location of the next index This process may extend to several levels and the last index contains the physical address of the record Note: can get up to 6 marks only for addition and deletion for sequential and indexed sequential Random Access Physical location for new record is calculated from the key field A hashing algorithm is used for this calculation to find the location If data collision / something there, the record is stored instead in an overflow area Data in the overflow area is normally stored and searched in a linear manner File may need reorganising (and new hashing algorithm) if overflow becomes too large Existing records are accessed in the same way. ADVANTAGES (could be reversed as disadvantages) Seq: ● Easier to program / fewer overheads than other two methods ● Particularly suitable (and faster) if access only ever needs to be sequential Ind Seq: ● Allows faster access than sequential because can move directly to individual records ● Avoids overheads of random ● If only sequential access is required for one application, should be faster than random Random: ● Allows very fast access irrespective of position in file - very suitable for large files which need this sort of access

Data can be transmitted using serial transmission or parallel transmission. Explain these two methods of transmission, giving one benefit of each method.

Serial transmission: Data sent bit-by-bit along the same data line 1 Advantage: any one of: requires only two wires (condone one wire) compared with 8 or 16 in parallel 1 serial can travel longer distances than parallel simpler interface / circuit board Parallel transmission: All bits in a byte (or idea of 8 or 16) are sent simultaneously along separate data lines 1 Advantage: transmission is faster than serial transmission

Describe two features that any web page should have in order to make it easy to use

Should be easily navigable / should have links to other pages etc All links should be correct The page should be as accessible as possible for users with visual impairment, etc It should make sensible/imaginative use of colour, graphics, fonts, etc Should comply with established web standards Should load quickly

Give one example of information which would not normally be held on the school VLE or intranet, but which could sensibly be available on the school web site

The school web site could contain; (any 1 of): 1 school newsletter / achievements of pupils / open or parent evening (not twice) school prospectus etc information about school's interaction with local community etc school inspection reports etc weather warnings / discussion board / forum etc... contact details / location

Explain why this is not in first normal form [more than one object stored in a field]

The table contains repeating groups/entities (English, Mathematics, Computing, etc)

A school encourages its pupils to use the school's virtual learning environment and the Internet during lessons. Describe what is meant by each of the terms virtual learning environment and the Internet and give an example of how each might sensibly be used during school lessons. Also describe two drawbacks of allowing free access to the Internet during lessons

VLE: is a software system / intranet application / facility / tool (Condone website or program) designed to help (teachers and pupils) in the (management and) use of learning materials 1 Both ideas needed for the mark. Could be used for instance by pupils to access revision / a classwork assignment / feedback / etc - Accept any specific example. 1 Internet: is a (world-wide) networked information and communication system freely available via any connected computer/device (Not just a large network) 1 Could be used to research for information not available from the VLE 1 Drawbacks: any 2 of: 1+1 could be used to look at unsuitable material (needs a reason eg pornography, hate sites, etc) could be used for time-wasting / to communicate with friends, social media etc could be used to look up answers for tests, etc could allow a virus etc to be downloaded / can carry out illegal downloads etc, eg pirated films or games could make pupils susceptible to paedophiles / cyber-bullying etc information derived from www could be incorrect

A programming team is developing a new, complex suite of programs. Various types of programming languages are available to the team: • visual languages • fourth generation languages • object oriented languages The team might also decide to use: • computer packages with programming capabilities Discuss the features of the four approaches highlighted above which the team might consider.

Visual programming language • is a high level language (once only) • might be used for developing in a GUI / Windows / event driven environment • such applications lend themselves naturally to VP - would be very difficult in a text based programming environment • enables production of objects / buttons / icons etc Fourth Generation Language • is a high level programming language (once only) • would be useful in a database query / manipulation situation • has many features such as query, manipulation features • may have report generators and possibly application generators • may attempt to produce natural language interface • requires less programming skill OO Language • uses objects / classes etc - include both data and associated processing • enables production of buttons / icons, etc - useful in a visual environment • uses features such as inheritance, encapsulation, etc (Accepted not expected) Package with Programming Capabilities • requires less / no programming skill • is probably cheaper / quicker since most facilities are provided by the package • can import / export from / to other packages • is less likely to contain errors "bugs" / package has already been well tested • more help is available in the package • users are probably familiar with interface

The control system is required to sound an alarm signal if one (and only one) of the following conditions are true: • the temperature in the reactor is too high • the manual override system is switched on Name the logical operation required in this case and draw the truth table for this logical operation.

XOR 1 Input 1 Alternatively: Input Output 0 1 0 0 0 1 Input 2 0 | 0 1 0 1 1 1 | 1 0 1 0 1 1 1 0 [Marking - all four cases must be correct for the mark]

A computer system uses the exclusive OR (XOR) logical operator to encrypt data before it is transmitted along a network. Draw the truth table for the XOR logical operator and use a worked example (using 8 bits) to demonstrate how data is encrypted using this method, including how the original data is decrypted

XOR Truth Table (either format) Worked example must show data and key correctly combined using XOR then combined using XOR to retrieve original data. 1 Eg: D(ata) 10111101 K(ey) 10001111 D XOR K 01111010 = Y Y XOR Key 10111101

The security officer in a pharmaceuticals factory has decided to use biometrics to control access into a sensitive area of the factory. One type of biometrics under consideration is voiceprint recognition. Describe how voiceprint recognition might be used in this case

person's voice (print) originally captured, digitised and stored on attempted entry, person's voiceprint captured (and digitised) digitised data compared (and entry allowed if successful) 3 An example of an extended answer worth three marks is: Voiceprint recognition is the process of capturing the person's voiceprints then digitising and storing this data on a computer system. When entry is attempted, the voiceprint of that person is captured. The two data items are compared, with entry being allowed if there is a match.

Describe in detail the main stages of compilation

uring Lexical Analysis, input stream is broken into tokens During Lexical Analysis, comments and unneeded spaces are removed During Lexical Analysis, error messages are generated if appropriate During Syntax Analysis, symbol table / dictionary is produced (could be in LexAn instead) During Syntax Analysis, tokens are checked for fit to the grammar, using BNF-type rules During Syntax Analysis, if not the case, error message(s) are produced During Semantic Analysis, checks that all variables are declared (and used) During Semantic Analysis, checks that e.g. real values are not being assigned to integers During Semantic Analysis, checks that operation is legal for type/no mixed mode arithmetic During Semantic Analysis, Reverse Polish logic will be used (Accepted not expected) During Code Generation, machine code is generated (NOT twice for compiler) During Code Generation, code optimisation may be employed to make it more efficient/faster / less resource greedy


Ensembles d'études connexes

pn104 chapter 13: Palliative and End-of-life Care

View Set

Accounting Final possible MC questions

View Set

Entrepreneurial Management Chapter 1-4 Quiz

View Set

Chapter 59 Assessment and Management of Patients w/ male reproductive Disorders

View Set

Pediatric Final: Chapters 25-33, 35, 45-49, 51

View Set