The Complete List of Quizzes:

These quizzes may be taken in any order, but I strongly recommend that you take them within 2 weeks of when they are released.
  1. HTTP, HTML, and Socket Programming. Released September 2.
  2. Network Basics. Released September 16.
  3. Ethernet. Released September 30.
  4. ATM and Digital Voice. Released October 14.
  5. Networking Layer. Released October 28.
  6. Transport Layer. Released November 11.
  7. Application Layer. Released November 25.
  8. Networking Acronyms. Released December 2, but covering a lot of the course until now.
  9. Fundamental Networking Ideas. Released December 2.
All quizzes are closed book, closed notes, no www, and no co-operation (you are not allowed to discuss any quiz question with anybody who hasn't already passed that quiz). Each quiz has 5 questions. You have 5 minutes to answer all 5 questions. If you take more than 5 minutes or if you fail the quiz, you may try again, but must wait at least 23 hours before the quiz server will let you try again. Missing one or more questions means you fail the quiz. Check your spelling before submitting answers.

Structure

It is recommended that you try and take a quiz as soon as you have covered the relevant material, to see if you are comfortable with what you have learned. You may take a quiz as soon as it is available. Some quizzes are easier than others.

You may take a quiz as many times as necessary, until you pass. If you have taken a quiz and failed, you must wait 23 hours to take it again. Each time you take a quiz is logged and recorded, but I plan to use the logs only to debug the quiz server and to check for intrusions -- for grading, I will only use information about passing the quiz.

Some questions are mathematical in nature. If you like, you are welcome to use paper, writing instruments, and/or a calculator to answer these questions.

Uptime

If you try to take the quiz but the quiz server is not responding, please try to find out what the problem is: use ping and traceroute to decide whether the problem is with the server program, the server computer, or the network in between. If the problem is with the server computer or server program, please notify the instructor. I try to keep the quiz server running at all times. Sometimes the problem is beyond my control.

Passwords

Before taking the first quiz, you must email an alphanumeric password to the instructor, who will enter you into the user database. You are welcome to do this as you request to be added to the mailing list. After you get the instructor's reply, you will be able to take quizzes (please allow at least 48 hours for this exchange). The instructor will also be able to change a password if necessary, though the process may take about a week while the instructor confirms your identity.

The instructor will only accept passwords from students who are registered for the course, and only via emails sent from ITS computers.

Since all passwords are sent in the clear (by email to the instructor, and over HTTP when you take a quiz) and visible to the instructor, please select a password that is not a high grade secret. It would be a bad idea to send me any password you use to access your money, for example. The password should also be non-obvious if possible.

Security

I have written the quiz code myself. I believe it to be reasonably secure, but I would not be surprised if there were bugs in it. If you are bored with the regular assignments and wish to challenge yourself by trying to break the code, you are welcome to try, with the exceptions listed below.

Ways of breaking the quiz code that don't count:

  1. Exhaustive password search. The quiz code is designed to shut down after too many wrong passwords are entered. This just makes it inconvenient for everyone, without getting you into the quiz server.
  2. Denial of service attacks. Again, this would not get you into the quiz server, and would inconvenience your colleagues.
  3. Breaking into the server machine (by any means other than by attacking the quiz server itself). I believe this falls outside of the "acceptable use policy" that applies to UH students, and might even get you kicked out of the University. You are only allowed to attack the quiz server software itself, and specifically only the two TCP ports that the quiz server listens on. If the quiz server should let you into the server machine, that is a successful break-in, but attacking any other part of the machine (any other port) will be subject to the usual penalties.
  4. Password sniffing. I am aware of the insecurity of the passwords. Also, sniffing the passwords would require you to do other things that are against the acceptable use policy.
  5. "Social Engineering". Tricking the instructor or your colleagues requires no technical skill. Any of the cheating behaviors described in the next section are also prohibited.
  6. Learning a way of breaking the quiz code from somebody else. There is no point in rewarding someone else's technical skills.

If you do find ways of breaking into the quiz server, please provide me with all the details necessary to reproduce the break-in myself. Breaking in means not just finding bugs, but finding a bug that will let you record that you've passed the quiz, without actually taking the quiz. If I am able to verify your break-in, I will fix the flaw (if possible) and you will no longer need to take the quizzes.

If you are interested in seeing the source code for the quiz server, please send me email, and I will email you the code in return (but only after project 1 has been turned in). Requesting the source may or may not have anything to do with trying to break into the server -- if you are simply curious, I welcome the code review, and only request that you email me any suggestions about the code.

Cheating

For most of you, I probably have no way of checking that you do not use books or other resources to take the quiz. Of course, I can compare your quiz performance to your performance in the remainder of the class and I may get suspicious if the two don't correlate. Please be advised that I will take any indication of cheating extremely seriously. Also be aware that, even if you are successful at cheating, you are ultimately hurting yourself (and possibly your fellow students) if you cheat. The quizzes are designed to be only moderately challenging, though some questions may be hard. If you find that they are very hard for you, please contact the instructor for additional assistance.

Cheating includes all of the following:

Other behaviors may also be considered cheating -- please use your common sense and do not collaborate with others for these quizzes. The instructor is happy to answer questions if you are not sure whether or not a specific (or theoretical) behavior might or might not constitute cheating.