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.
- HTTP, HTML, and Socket Programming.
Released September 2.
- Network Basics. Released September 16.
- Ethernet. Released September 30.
- ATM and Digital Voice. Released October 14.
- Networking Layer. Released October 28.
- Transport Layer. Released November 11.
- Application Layer. Released November 25.
- Networking Acronyms. Released December 2,
but covering a lot of the course until now.
- 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:
- 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.
- Denial of service attacks. Again, this would not get you into
the quiz server, and would inconvenience your colleagues.
- 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.
- 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.
- "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.
- 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:
- Telling someone else about the contents of a quiz
- Asking someone else about the contents of a quiz
- Using any external resource (other than paper, pen/pencil, and
calculator) to answer the questions
- Revealing your password to anyone else
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.