The Complete List of Quizzes:

These quizzes may be taken in any order, but the instructor may start sending you mail if you haven't passed the quiz within two weeks of release.
  1. HTTP, HTML, and Socket Programming. Released August 31.
  2. Network Basics. Released September 14.
  3. Ethernet. Released September 28.
  4. ATM. Released October 5.
  5. Networking Layer. Released October 26.
  6. Transport Layer. Released November 9.
  7. Application Layer. Released November 16.
  8. Networking Acronyms. Released November 16, but covering a lot of the course until now.
  9. Fundamental Networking Ideas. Released November 30.
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.

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 notify the instructor.

Passwords

Before taking the first quiz, you must email an alphanumeric password to the instructor, who will enter you into the user database. 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.

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.

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.