Computer Systems & Networks unit test
A test on this unit alone, marked as a percentage and a letter grade — for the test your class is actually sitting, rather than for May. Answer everything, then submit once: seeing the answer to question 3 before attempting question 4 makes the final percentage meaningless.
DNS
Bit rate
Packet switching
Scalability of the Internet
Computer network
TCP
Protocol
World Wide Web vs the Internet
Computing system
Redundancy
HTTP
UDP
Short answer 1. Define or explain: Fault tolerance
3 ptsShort answer 2. Define or explain: Why a network diagram question is about paths
3 ptsShort answer 3. Define or explain: Open protocol
3 ptsShort answer 4. Define or explain: Parallel computing on a network
3 ptsFree response
6 ptsThis course has no free-response prompt tagged to this unit, so one from elsewhere in the course is used. It is still worth writing — the skill transfers.
A programmer writes the following procedure, intending it to return the number of values in a list that are greater than a given threshold. List indexes begin at 1. PROCEDURE countAbove(values, limit) { count ← 0 i ← 1 REPEAT UNTIL (i > LENGTH(values)) { IF (values[i] > limit) { count ← count + 1 } } RETURN(count) }
Trace the call countAbove([5, 12, 3], 4) and describe exactly what happens.
Identify the error and state the single change that fixes it.
After the fix, state what countAbove([5, 12, 3], 4) returns and what countAbove([1, 2], 9) returns.
Explain how you would test the corrected procedure to be confident it is right, and describe how the number of steps grows as the list gets longer.