Date Topic Readings and Info. ppt Notes pdf Notes Homework Test      
    This Color indicates a recommended but not required reading.     Assignment Solutions        
  "Computer Networking A Top-Down Approach" Companion Website                
Tuesday, January 14, 2014     Intro and Overview Intro and Overview            
Thursday, January 16, 2014 The irresistible move towards interoperable database systems       Homework 1 HW1.pdf        
    Wireshark                
    traceroute                
    traceroute.org                
    whatismyip                
    whois                
    Get localhost routing table
netstat -rn
               
    dig command                
    Chapter 1 Applets                
Tuesday, January 21, 2014 A Top-Down Approach - Chapter 1. Computer Networks and the Internet Top 10 Inventions of Bell Laboratories                
    Bell Laboratories 30,000th patent, see Historical Timeline (Current - 11th from left) at link.                
  A Top-Down Approach - Chapter 2. Application Layer
Section 2.1 Principles of Network Applications
  Principles of Network Applications Principles of Network Applications            
    Well known ports                
    Apple Ports                
    Command line to find active ports on Unix
netstat -an | egrep 'Proto|LISTEN'
             
    To enable ftp on Mac:
sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist
     
    to disable ftp on Mac:
sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist
     
Thursday, January 23, 2014 Review of Python Object-oriented programming   O-O Python O-O Python Homework 2 HW2.pdf        
      tom and jerry.py            
Tuesday, January 28, 2014 UT closed due to weather                  
  This is optional for the class--> Installing Virtualenv on Mac                
  Installing Virtualenv on Windows                
    Instructions for using Virtualenv                
Thursday, January 30, 2014 Python - Chapter 1. Introduction to Client/Server Programming. Installing pip on windows     Homework 3 HW3.pdf Quiz 1      
    pip install pygeocoder
for the following programs
      In Wireshark, sort on info and look for: Look for DNS traffic and under Source look for:  
  For the search programs --> if you get:
'The Geocoding API v2 has been turned down on September 9th, 2013. The Geocoding API v3 should be used now.'
click here
search1.py <-- Very High level API to Google Maps TLSv1 173.194.115.1  
  search2.py <-- JSON Document API to Google Maps TLSv1 74.125.225.228  
  search3.py <-- HTTP Protocol API to Google Maps Get and json 74.125.198.95  
  search4.py <-- Socket-level API to Google Maps Get 74.125.198.95  
 
  ietf.org <-- The Internet Engineering Task Force
The mission of the IETF is to make the Internet work better by producing high quality, relevant technical documents that influence the way people design, use, and manage the Internet
         
  iana.org <-- The Internet Assigned Numbers Authority (IANA) is responsible for the global coordination of the DNS Root, IP addressing, and other Internet protocol resources          
  TCP/IP Illustrated, Volume 1: The Protocols                
  TCP/IP Illustrated: The Implementation, Vol. 2                
  TCP/IP Illustrated, Vol. 3: TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols                
Tuesday, February 04, 2014 Continue discussion of search[1-4].py plus List comprehension and Huffman Coding   List Comprehension            
    Huffman Coding Tree -->
for Mississippi       
             
Thursday, February 06, 2014 A Top-Down Approach - Chapter 2. Application Layer Section 2.2 The Web and HTTP   The Web and HTTP The Web and HTTP Homework 4 WebServer.py Quiz 2      
Tuesday, February 11, 2014 Python - Chapter 9. HTTP httplib.py Network Programming is not voodoo            
    urllib.py SimpleWebClient.py <-- Call this as follows: python SimpleWebClient.py localhost "/foo.txt" assuming foo.txt exists in the folder/directory where you started WebServer.py
    urllib2.py page137.py <-- This python code will produce the example output seen on page 137.
    urlparse.py page140.py <-- This python code will produce the example output seen on page 140.
    Client Web Programming in Python page142.py <-- This python code will produce the example output seen on page 142.
    Server Web Programming in Python                
Thursday, February 13, 2014 Web Programming Review                  
  Start getting ready for the Midterm Exam You should start using the Self-Assessment Quizzes to review the material from Chapters 1 and 2          
Tuesday, February 18, 2014 A Top-Down Approach - Chapter 2. Application Layer Section 2.3 FTP and 2.4 email   FTP and email FTP and email Homework 5 UDP  PingerClient Quiz 3      
    Command line to find active ports on Unix
netstat -an | egrep 'Proto|LISTEN'
  Skeleton Code          
    To enable ftp on Mac:
sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist
     
    to disable ftp on Mac:
sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist
     
    Click here for instructions for enabling FTP on Windows      
      anon ftp             
      wireshark for anon ftp            
      large ftp            
Thursday, February 20, 2014 Python -Chapter 17. FTP and Chapter 12. email           Quiz 4      
      page200.py <-- This python code generates a simple email  message
      page201.py <-- This python code generates a more complex email message
      page202.py <-- This python reads and parses an email message
      page206.py <-- Compose a MIME attachment, run it as follows:
          $ echo "This is a test" > test.txt
$ gzip <test.txt > test.txt.gz
$ python mime_gen_basic.py test.txt test.txt.gz
Tuesday, February 25, 2014 A Top-Down Approach - Chapter 2. Application Layer Section 2.5 DNS   DNS DNS     Quiz 5      
    Get local nameserver on Mac --> cat /etc/resolv.conf | grep nameserver 0r System Preference -> Network -> Advanced    
    Get local nameserver on Win --> ipconfig -all    
Thursday, February 27, 2014 Review   Review Review            
Tuesday, March 04, 2014 Midterm Exam Midterm Exam Solutions                
Thursday, March 06, 2014 Python - Chapter 9 POST and Forms,
pages 148 - 151
  page149.py            
      Designing a RESTful API with Python and Flask            
      Flask app.py            
      Flask Mega-Tutorial <-- I would recommend understanding Part I - Part III of this tutorial to get ready for your Project.  
      Installing Cygwin Installing Cygwin <-- If you're tired of dealing with Dos on Wondows, you may want to try installing Cygwin on your Windows Machine. Cygwin gives you a Unix terminal window (command-line window) on Windows that you can use instead of a Dos terminal window.  
                     
      Flask Web Development
Developing Web Applications with Python
           
Tuesday, March 11, 2014 Spring Break                  
Tuesday, March 18, 2014 Project Discussion   Deploying Flask applications to pythonanywhere            
Thursday, March 20, 2014 IPv4 Addressing, DHCP, NAT, and ICMP - "Top-Down Approach" Sections 4.4.2 - 4.4.3   IP Addressing IP Addressing            
Tuesday, March 25, 2014 Initial Project Reviews   Project Requirements/Suggestions Register Your Project Schedule    
For Dr. Cannata's use - to schedule a room use:
   https://www.cs.utexas.edu/calendar or
   https://www.cs.utexas.edu/facilities/meeting-rooms
to get a projector - http://apps.cs.utexas.edu/shopreq/
to get student groups from the Schedule use:
   select last_name1 || ', ' || first_name1 || '; ' || last_name2 || ', ' || first_name2 || '; ' || last_name3 || ', ' || first_name3, project from schedule
               
Thursday, March 27, 2014 Continue IPv4 Addressing, DHCP, NAT, and ICMP - "Top-Down Approach" Sections 4.4.2 - 4.4.3                  
Tuesday, April 01, 2014 Cellular Networks - "Top-down Approach" Chapter 6 - Sections 6.2 and 6.4   Cellular Technology Cellular Technology Homework 6 HW 6 Solutions Quiz 6      
      What makes CDMA work with my smartphone?            
      Part A            
      Part B            
      Part C            
      CDMA vs. GSM: What's the Difference?            
      AT&T AT&T 4G            
      Sprint Sprint 4G            
      T Mobile T Mobile 4G            
      Verizon Verizon 4G            
      Voice over LTE            
      LTE to 3G Handoff            
Thursday, April 03, 2014 Wifi Networks - "Top-down Approach" Chapter 6 - Section 6.3   Wi-Fi Wi-Fi            
      speedtest.net            
Tuesday, April 08, 2014 Review of previous two classes on wirless technology                
Thursday, April 10, 2014 Air Cards (WiFi Hotspot Cards)   How do air cards work Homework 7 HW 7 and 8 Solutions        
  Cellular Mobiity - "Top-down Approach" Chapter 6 - Section 6.7   Cellular Mobility Cellular Mobility            
    We can safely predict that by the end of the the current decade almost all video distribution and voice conversations will take place end-to-end over the Internet, often to wireless devices connected to the Internet via 4G and WiFi access networks.          
Tuesday, April 15, 2014 Multimedia Networking - "Top-down Approach" Chapter 7, Sections 7.1 and 7.2 - Streaming Video   Multimedia Multimedia            
Thursday, April 17, 2014 Multimedia Networking - "Top-down Approach" Chapter 7, Sections 7.3 - 7.5 - Voice over IP, RTP, and SIP     Homework 8          
Tuesday, April 22, 2014 Project Reviews Schedule Project Evaluation Rubric            
Thursday, April 24, 2014 Selected Project Presentations                  
Tuesday, April 29, 2014 Review   Wrap-up Wrap-up            
Thursday, May 01, 2014 No Class                  
  Final Exam WEDNESDAY MAY 07 2-5 PM GSB 2.126               
For Dr. Cannata to submit grade: https://utdirect.utexas.edu/registrar/egrades/                  
Change grades http://registrar.utexas.edu/staff/grades/changes