More detailed information can be found here, including: time and place, purpose, prerequisites, books, grading, cheating, and computer systems and labs.
Here is the list of topics covered in this course. They will be mapped to chapters from the text as the course progresses.
The text is chock full of good stuff. For your own good, I recommend you read as much of the book as possible. However, I may refine the separate sections of each chapter that are explicitly covered in class as the course proceeds.
You might check out the assignment timeline to help you plan for exams, papers and projects. But please remember, this is only a tentative timeline and is subject to change.
Slides from the in-class lectures will be available shortly after they are presented, depending upon how things go.
Here are the slides so far:
Written homework will be put here as it is assigned. Here is what we have so far:
The projects (I often call them labs) are the programming assignments you will have for the course. I encourage you to work in groups of two for the projects. I'd prefer to limit the groups to only 2, but if you really want a larger group, come talk to me. Do remember, however, that all exams will be taken alone. Make sure each group member understands the programs completely!
Here is what we have so far:
tar xvf
to extract)
tar xvf
to extract)
In this section are any code samples discusses in class, practice exams or any other demonstration-type class materials.
Final exam stuff:
Mid-term stuff:
Sample code for using doing UDP multicast:
multicast.c
- send or
receive a multicast packet
Sample code for using UDP sockets:
talk.udp.c
-
client talk code for UDP
listen.udp.c
-
client listen code for UDP
Sample code for using TCP sockets:
talk.tcp.c
-
client talk code for TCP
listen.tcp.c
-
client listen code for TCP
Misc:
get-opt.c
- code that parses command line arguments (fairly) painlessly.
Here are some sample programs concerning Process stuff :
A network simulation engine to help learn about network protocol implementations.
An informal network programming guide that has helped some students in the past.
NIST Net is a network emulation package that runs on Linux. NIST Net allows a single Linux PC set up as a router to emulate a wide variety of network conditions.
Route stuff:
The Mapping the Internet project has some artistic (and maybe useful) results from traceroute and the Atlas of Cyberspace includes maps of Cyberspace.
VisualRoute Server provides you traceroute, ping, and geographical location information from our server in Fairfax, Virginia, USA, to any URL or domain you select.
A collection of traceroute sites on the web.
X Traceroute for 3-d maps.