CS 228 -- Network Programming Class

Wed Jan 17 -- Syllabus stuff. First day stuff. How to install WSL and compile using it. Visual Studio Code. How to Visual Studio Code with WSL. How to compile our client/server using Windows subsystem for Linux. How the internet works. Fri Jan 19 -- Assignment #1.What is a socket? What is a port number? read and write. Detecting errors. c++-strings vs arrays of char.
Wed Jan 25 -- The second assignment.
Fri Jan 27 -- Calculate time-to-send. things-to-know-for-ethernet-quiz.txt.
Mon Feb 6 -- IP. Djikstras. Ford.
Wed Feb 8 -- How to make an internet. (1) Make autonymous systems (2) assign IP numbers (3) Do routing (4) send packets. Local use only addresses. NAT. IP Packet format.
Fri Feb 10 -- Encapsulation. DHCP.
Mon Feb 13 -- Check homework. Encapsulation again. Email assignment. Show sample code.
Wed Feb 15 -- Email and spam and mail.nmu.edu. Work on HW.
Mon Feb 20 -- Fake quiz. TCP including it's purpose. Video for Stop-n-go. Sliding WIndow. Go back N.
Fri Feb 23 -- Selective Repeat. TCP in all it's glory.
Wed Mar 1 -- HTTP. HTTP Assignment.
Mon Mar 13 -- Review the four levels of HTTP. Read an write do not preserve boundries! How to detect the \r\n\r\n. How to save data to a file. Permissions.
Wed Mar 22 -- Selling your browser history -> The Man in the Middle Attack -> Why symetric encryption is not the answer -> Public Key Encryption -> (Picture) RSA -> Digital signatures -> Certificates (X509.) (Buying a cert)-> HTTPS -> OpenSSL.
Wed Apr 12 -- Need multiple connections. Have multiple core and multiple resources. Three choices .. threads/fork/select. Fork. Fork bomb. More fork examples. Crazy fork example. Fork sorting. Asynchonizity. No fork in windows! Waitpid Flock. Example of Flock. Fork Assignment. Outline of program.
Fri Apr 14 -- How to return multiple values from a function in c++ and Waitpid and Locking a file in c++ and flock and Failing to get a fd from an fstream Seriously and A possible solution and Flock.cc.
Mon Apr 24 -- Final Exam Review.