I got these answers. I can't remember the exact questions but hopefully you'll know which ones I mean.
First question: Allocating CPU time, allocating memory, I/O devices
BNF question: Backus Naur Form then No & Yes for the table.
Real numbers question: 1.000000 01111 for most negative number, -44 for the first one and in the table: overflow, underflow & cancellation error.
Algorithm: two outputs (when rope was recognised to clash), n^2 because the there are two loops meaning that there would be n loops that would loop n times and n*n = n^2 or something like that. Then I got space complexity as the alternative to time complexity.
SQL: 1. Composite key 2. no repeating non-key attributes & no non-key dependancies. The two statements were pretty simple although on the 'Insert Into' one it gave the new attributes in a sort of square so you had to be careful to put the attributes in order (I nearly put author before title). The next one I said create another relation like this: Copy(CopyID, BookID) so that each copy was different but you could still get the details of it because it was linked to Book. For the third mark I think you had to say that in loans the foreign key would be changed to CopyID but I said something that the new relation would ensure it passes the referential integrity test so I've probably lost a mark there!
Digital Signatures: 1. Encryption was "the transformation of readable code into cipher code" 2. I put you can't encrypt using A's public key because then no-one can decrypt it so no-one else can read it 3. I put you can't encrypt using A's private key because then everyone can read it because everyone has access to A's public key.
OOP: 1. Diagram was pretty simple. Laptop, desktop, server pointing to computer. Computer and printer pointing to device. My computer definition was:
Computer = Class
Inherits Device
Public
Function GetProcessorName
Function GetHDDCapacity
Function GetRAMCapacity
Private
ProcessorName : String
HDDCapacity : Bytes
RAMCapacity : Bytes
End
For Laptop I got:
Laptop = Class
Inherits Computer
Public
Function GetBluetoothInstalled
Private
BluetoothInstalled : Boolean
End
Not sure about that polymorphism/over-riding you guys were discussing but don't quote me on it! For Bluetooth I put, 'A wireless form of devices communicating with each other, but it has a short range' and the example as 'A laptop sending files to a mobile phone that has bluetooth and is in range'.
Hashing: Can't remember exactly what was said but something like these 1. To ensure the data was secure from hackers. 2. Hashing the data and using the value as a location to store the data in. The actual hashing of the data is the hashing function. 3. When data is hashed to a location that is taken up. Open hashing could be used so the data is stored in the next available location or closed hashing could be used and a pointer field could be created in the hash table and a linked list created starting with that pointer.
The graph question: 1. The property that made it a tree I put down was that there were no unconnected nodes. 2. Mazes could have loops in. 3. Adjacency matrix was quite simple, I got a diagonal line of symmetry which I think you needed for it to be correct. 4. Recursive routine was a routine that has a call to it inside itself. 5. Stack was required to store variables & local parameters, and a stack is suitable because it works on a first in last out method which means the calls would be stored in the correct order.
Halting problem: 1st blank, 'create a program'. 2nd blank, 'without getting stuck in an infinite loop' although I think that was wrong and should have been something along the lines of 'without executing the program'. 3. The importance was that it is an unsolvable problem.
Regex: 1. A(B)+C, don't know whether I needed the brackets or not I put them in just in case. 2. (0|1)1*
That's all I can remember!