1) less repeted code -- code can be writen once and used many times allows for recursion -- subroutines can call themselfs creates more maintainable code -- allows for only 1 point to be changed to edit the whole program 2) avoid un-reputable websites use https only keep backups so systems with viruses can be wiped without lossing anything don't click on links in emails 3) protocol -- http domain name -- loveapug.org.uk 4) it can be slow to query duplicate data takes up extra space 5) it is faster to run it provides lower level hardware access 6) the set real numbers 7) no side effects or global state meaning any server can run a function to get the same output because everything is a function, a program can be executed accross many servers at once 8) NO 9) lifetime packet id 10) the data can be checked if it matches the checksum, which can tell the system if there was an error in transmition. It will be calculated from the data on the senders side, and will be attached to the packet 11) sjeydchdj 12) the key must be the same length as the input, the key must not repeat 13) 2 14) all the lines of data are sent using a shared clock, and are recvied at the same time 15) bt: O(log n) bs: O(n^2) ls: 0(n) ms: O(nlog n) 16) sending many lines of data at once, to achieve a faster speed 17) you only need 1 wire 18) B 19) to tell the other end of the signal to start reading data 20) to tell the other end of the signal to stop reading data 21) to manage system reasores to provide a simple programming interface for programmers 22)