-- DonaldActon - 05 Jul 2011

Course Time Line (For January 2012)

Week 1 - January 5

  • Introductory lecture
    • Rules and structure of the course
    • In class exercise do something like a wget to introduce students to networking and protocols. Use it to tell the story of what we are going to be looking at in the course. Example of a wget might be to www.google.com and www.cs.ubc.ca, students could then compare the differences. (we might want to setup some special servers to return very simple pages so students can compare to some not so simple responses.) Could also want to explore what the communication model is (i.e reliable streamed inorder bytes with no notion of boundaries)

Week 2 - Jan 10, 12

Week 3 - Jan 17, 19

One way that this section could go is to start the students out by having them invent a protocol for something. One of the key things would be to get to students to deal with issues like data formats, the rules for exchanging data (i.e. requests and responses) and completeness as in having to identify all possible scenarios. From that base students would then move on to interacting with a real server of some sort. Interacting with a mail server would be nice so that students get exposed to the idea of how little security there is around mail. A second client server activity would be to do something with an http server with a focus on server side issues. (Or maybe we could have them develop a simple server, or go back to an echo server that they may have worked on in the socket programming module.) Ideally this would lead into a discussion of handling multiple clients at a time and also performance issues associated with different HTTP request strategies like closing the connection when the response is finished as opposed to keeping it open and then sending a new request or keeping the connection open and pipelining requests.
  • Introduction to Client Server programming and protocols
    • Construction of simple client and server
  • This lecture session would focus on exploring and developing protocols.

Week 4 - Jan 24, 26

Week 5 - Jan 31, Feb 2

Week 6 - Feb 7, 9

Week 7 - Feb 14, 16

This week starts the part of the course that deals with exploring the organization, and structure of the internet and the issues associated with moving data in a packet switched network. The section will explore ideas like bandwidth, latency, jitter, and packet loss. The section will also look at how lost packets are handled and ways to improve throughput.
  • Engage in activities to map/trace out the structure of the using things like ping, and traceroute. Also could have them do a reverse traceroute to try to determine if the forward and backward routes are the same or look for different routes to the same host. Should also be able to introduce notions of addressing and the association of IP addresses to interfaces as opposed to machines.
  • In this class we would look at measuring Bandwidth, latency, jitter and packet loss. This could be a mixture of calculations and exploration, data gathering activities. It might be interesting to have the students do a throughput calculation for a stop and wait protocol and then compare it to TCP.

Midterm break Feb 21, 23

Week 8 - Feb 28, Mar 1

  • Introduction to UDP socket programming - students learn how to program UDP sockets
  • Using UDP sockets we explore how to improve throughput with sliding windows & how to deal with knowing data get through and how to recover from lost packets. (Basically timeouts and sequence numbers)

Week 9 - Mar 6, 8

  • Continuation of throughput/reliability session
  • DNS - explore the purpose of DNS and how it works. Could use tools like dig and nslookup

Week 10 - Mar 13, 15

  • Quiz/catchup
  • Public Key - Explore how to secure data on a connection, in particular the usage of something like public key encryption.

Week 11 - Mar 20, 22

Week 12 - Mar 27, 29

  • Do something with cloud computing
  • Work with a google API (Map reduce, task api, calendar API, prediction API)

Week 13 - Apr 3, 5

  • Mobile
  • Last class, review/questions

Other possible topics

  • Working with big DATA (Alan's topic)
Edit | Attach | Watch | Print version | History: r15 | r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r4 - 2011-07-05 - DonaldActon
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback