Note: click on this, and actually read it; it’s part of the
syllabus:
../../ClassGeneral/Syllabus.html
This course focuses on the Internet and the general principles of computer networking. It covers the TCP/IP model from the application layer to the link layer in a top-down approach. It also exposes students to multimedia networking, network security, wireless and mobile networks. This course includes performance modeling and analysis, development and implementation of complex communication protocols. Prerequisite: A “C” or better grade in Comp Sci 3800.
A good attitude, work ethic, and an interest in computing!
Grade of “C” or better in CompSci 3800 - Operating systems.
In general, in this class, you are welcome to propose some variant of
these assignments that benefits you.
For example, setting up a DNS server for something you actually need to
do,
in a different environment that the class uses, setting up your own real
web server, DHCP server, etc.
It will often, but not always overlap enough.
These are intended to cover the IT side of actually setting up
networks themselves,
and applications, for both personal, and small corporate settings.
By the end of the semester, you should know how to set up:
a website, DNS server, firewall, intrusion prevention and detection
system,
wifi access point, local router, DHCP server, and more, enough for a
small company’s network.
These are intended to help you learn to actually program network applications.
If you can’t find a paywalled research paper or book:
https://en.wikipedia.org/wiki/Sci-Hub
This is a nice search engine to find non-open textbooks ;)
https://en.wikipedia.org/wiki/Library_Genesis
I normally try very hard to not require a “paid” textbook.
This one is the best in the field, and is a great book
The 6th edition is actually better, in my opinion, and the 7th edition
is actually worse…).
It is optional, though you can just duck it:
https://duckduckgo.com/?t=ffab&q=filetype%3Apdf+Kurose+Computer+Networking+A+Top+Down+Approach+6th
Open/free textbooks:
https://www.computer-networking.info/ (http://cnp3book.info.ucl.ac.be/)
free, 2 different versions; 1st ed explicitly mimics the above book
http://intronetworks.cs.luc.edu/
https://www.wikipendium.no/ID203012_Computer_Networks_and_network_programming
http://etutorials.org/Networking/
Multiple!
Python, Python-Scapy, a hint of bash, SQL, Haskell