Resources
Lecture Slides
Topic | Download |
---|---|
Intro | PDF (10MB) |
Application Layer - HTTP | PDF (5MB) |
Sockets | PDF (5MB) |
Lab Essentials | PDF (6MB) |
Application Layer - Email and DNS | PDF (4MB) |
Parallel Network Programming | PDF (5MB) |
Transport Layer | PDF (6MB) |
Advanced HTTP | PDF (2MB) |
IP Layer | PDF (2MB) |
Global Communication | PDF (5MB) |
Find other good references? Email me to have them added to this page!
HTTP References
- List of HTTP Header Fields
- Generate fake HTTP requests, and view actual HTTP response from real server
- Reliply.org: View real HTTP request sent by your browser to their server
- Google Chrome Developer Tools (built-in to web browser) can show HTTP requests and HTTP responses for all objects on a web page
- Enter the developer tools mode, select the Network panel, and then the Header sub-panel
- Fiddler: Web debugging proxy
- Concurrent Programming for Scalable Web Architectures: Good background reading
Socket Programming References
- Beej's Guide to Network Programming: Using Internet Sockets - C code, and great overall discussion of socket usage
- Programming IP Sockets on Linux: Part 1 and Part 2 (Note that Python code examples are from older 2.x language)
- Programming UNIX Sockets in C - Frequently Asked Questions
- Python Network Programming (Note that code examples are from older 2.x language)
Python Programming References
- Python documentation - Official
- Python Language Reference - Official
- Python Standard Library - Official
- Argparse: http://docs.python.org/3/library/argparse.html
- Queue (thread-safe): http://docs.python.org/3/library/queue.html
- String functions: http://docs.python.org/3/library/stdtypes.html
- Sockets: http://docs.python.org/3/library/socket.html and http://docs.python.org/3/howto/sockets.html
- Struct: http://docs.python.org/3/library/struct.html
- Threading: http://docs.python.org/3/library/threading.html
- Multiprocessing: http://docs.python.org/3/library/multiprocessing.html
- Tkinter (GUI): http://docs.python.org/3/library/tk.html
- Tkinter (GUI) references:
C Programming References
- C Language Tutorial from Drexel University
- Beej's Guide to C Programming
- Essential C Guide from Stanford University
- C Programming Tips for C++ Programmers
- C Programming on Wikibooks
- Tutorial on threads, locks, and synchronization
- Programming in C: UNIX System Calls and Subroutines
- Basic Valgrind Tutorial - Using Valgrind to detect memory errors, including leaks, reading/writing beyond end of array, etc...
Linux Programming References
- Linux Tutorial for Programmers by our own Dr. Bill Ford in CS
- Useful sections for this course include Linux files and directories (Ch 1), commonly-used commands (Ch 2), and redirection and pipes (Ch 3)
Networking