CS 228 -- Network Programming

Wed Jan 18 -- Syllabus stuff. Install Putty. First day stuff. Give everyone an account.
Fri Jan 20 -- Remind choices to map the drive or use nano. The first assignment. Command line arguments and error checking and socket already in use and c-strings. Talk about IP numbers and host names and TCP and UDP and port numbers.
Mon Jan 23 -- Network basics. Aloha. Aloha vid and Slotted Aloha vid.
Fri Jan 27 -- Ethernet and a quiz on Aloha.
Mon Jan 30 -- More ethernet. Hubs and routers and switches. Token ring.
Wed Feb 1 -- TTS formula!. EMail program.
Mon Feb 6 -- IP starting with what does it do, then routing.
Fri Feb 10 -- Email program due. Spam and the email from B.R. More IP stuff. Routing.
Mon Feb 13 -- What is an IP number? Review routing. Review matching IP numbers to patterns. Ip number exhaustion. BGP Table size.
Wed Feb 15 -- Review routing. (source vs hop-by-hop, Ford and BGP) Review IP numbers. (localhost, 192.168.X.X, network portion vs host portion, broadcast, ip number exhaustion). Review DHCP. Fragementing. Packet format. Review for quiz.
Fri Feb 17 -- quiz. Last of IP stuff.
Wed Feb 22 -- HTTP stuff. Review HTTP/0.9 and 1.0. Go over HTTP/1.1. Go over request modifiers and cookies and answer metadata. Talk about spiders.
Wed Mar 1 -- File size in c++. Lots more code stuff. UDP.
Wed Mar 21 -- RSA and public key crypt.
Fri Mar 24 -- How HTTPS and TLS and SSL work. X509 Certs.
Mon Mar 27 -- Goals of How HTTPS. How it works again. Bad hostnames. Sample SSL code. Attacks include (1) human including (1a) Phishing and (1b) Spear Fishing example (Stuxnet)(2) denial of service via excess requests (3) DDOS (4) Windows Ping of Death (5) Gaining Remote Control via stack smashing (defences) (examples) or bad data (bobby tables).
Wed Mar 29 -- Stack overflow from above. Chat wth poll assignment.
Mon Apr 3 -- Selling your browsing history. DNS.
Fri Apr 7 -- Chat Server.
Wed Apr 12 -- Sending binary data. Why objects and structs might be bad. Pointers might be bad. JSON and XML. JSON examples. Timing fork the easy way. Timing with an empty loop and with -O4. Timing fork() right.Baby Threads.
Mon Apr 24 -- Evaluate course and Review for the final.