CS 228 -- Network Programming

Mon Jan 14 -- Syllabus stuff. Install Putty. First day stuff. Give everyone an account.
Wed Jan 16 -- Talk about the editor and compiler and basic Linux commands (cp mv rm g++ gdb ls). My email. Talk about IP numbers and host names and TCP and UDP and port numbers. Run our first client and server.
Fri Jan 18 -- Continue client/server. Man pages. Gdb. Networking Basics
Wed Jan 23 -- Homework now due Tuesday at 2:50pm (not later, meeting for me). Physical and data link.
Mon Jan 28 -- Review ethernet. Broadcast in ethernet. Frame format. Mac addresses. Types of ethernet (10mb/s, 100 mb/s, 1000 mb/s). Hubs vs switches vs routers (video, page).Network cards for sale.
Wed Jan 30 -- Quiz on stuff above.
Fri Feb 1 -- File transfer assignment. Token Ring.
Mon Feb 4 -- IP and IP numbers with Classes, Classless and /8 notation, address exhaustion.
Wed Feb 6 -- Arp-Rarp-DHCP.
Fri Feb 8 -- NAT. Routing.
Wed Feb 13 -- Go over program (which is due today). Review routing. Advantages and dis for BGP. routing table size. Load balancing. Ping Pong and Sliding Window and Selective Repeat.
Mon Feb 18 -- Email Assignment. Binaries in email. Email architecture. SPAM. SMTP and POP and IMAP and webmail. string.c_str().
Fri Feb 22 -- Review reliability protocols especially selective repeat. Congestion control.
Mon Feb 25 -- Review for the TEST.
Wed Feb 27 -- Test on TCP/IP.
Mon Mar 11 -- HTTP and HTTP Wiki page.
Wed Mar 13 -- How to write the program. Fork().
Mon Mar 18 -- Review Zombies. Review Fork. Exec. Cookies. Work on program.
Wed Mar 20 -- Quiz on HTTP.
Mon Mar 25 -- Unix Time and NTP and strftime. Where to open the log file. How to do append mode.easy example and detailed man page.
Wed Mar 27 -- Work on web server.
Fri Mar 29 -- Network testing. Exec(). DNS.
Wed Apr 3 -- Select and Poll.
Mon Apr 8 -- Select Poll Assignment. RSA.
Wed Apr 10 -- RSA Movie. HTTPS and SSL and TLS and Certificats and Cert authorities (1 and 2) and SSH.
Fri Apr 12 -- Lab day for select/poll program.
Fri Apr 13 -- Jeopardy
Mon Apr 17 - Lab Day.
Wed Apr 19 -- Lab Day.
Fri Apr 21 -- Lab Day.
Mon Apr 22 -- Theads and fork instead of select and poll. Sending data structures like linked lists and hash tables with Serialization or Pickling. (boost library example, C++ FAQ, pickling example client, pickling example server).
Wed Apr 24 -- Review for the final. Other finals from years past.
Some other day -- Basic Wifi info and Wifi packet types .
Fri Apr 31 -- Makeup day.