CS435 Final Review
10 pages of notes is allowed, 8.5 by 11 both sides, but the test is closed book and closed computer.
Be prepared for questions on the following:
- Network Layer (Internet Layer) (IPv4, IPv6) (only in limited depth, like how IP addresses work or that kind of thing.)
- Transport Layer (TCP, UDP, more with programming considerations than how they work)
- Main topic: Application Layer (servers, clients, network programming in general)
- Multithreaded servers and clients (how could a race condition be handled, etc)
Demo topics there might be questions about:
- Proxy servers (We set one up, but didn't write one)
- DNS passthrough and how DNS works
- GUI need in clients, threading in these, GUI questions will have to be fairly generic
- Threading in servers
- Flags like MSG_WAITALL, MSG_PEEK, MSG_DONTWAIT
- Anything else that was in a demo
Question Types
- Multiple choice. There are 8 of these, on general stuff, worth three points each (24 points total)
- 5 and 6 point short answer. Remember what we talked about in lecture for these, in-class demos, etc.
- Programming Questions. Requires coding. You'll have to implement a multithreaded server and a client.
Notes about Specific Questions
Client/Server Programming: There is a question that presents you with a simple protocol for client/server communication, and requires you to implement at least part of one of them. You can use any programming language you like. The protocol is designed to not require a lot of code to parse, but you'll have to be ready for some network programming. The protocol is binary, like LURK. Advice on this: Think simple. It's not a very complicated task. I see a lot of very complicated answers on this type of question, and they're hard to get right under test conditions.