Difference: CourseTimeLine (11 vs. 12)

Revision 122011-09-14 - DonaldActon

Line: 1 to 1
 
META TOPICPARENT name="ComputerScience317Cwsei"
-- DonaldActon - 05 Jul 2011
Line: 8 to 8
 
  • I could imagine starting out with the initial focus being on basic networking. We would look at things like Socket Programming, the TCP/IP model of data streaming and what a protocol is. From there we would add more structure and look at things like the client server model, handling network errors (e.g. connection failure), the structure of the Internet and some distributed programming paradigms like publish/subscribe. At this point students should be able to write a basic application that lives on the Internet.
Changed:
<
<
  • The next phase explores applications that are packet oriented services opposed to a byte stream like TCP. The intention is to motivate this section by introducing multimedia applications and seeing the need for a transport layer with different service properties. Students will be introduced to UDP and and exposed to how DNS works. (Note to self look for fast DNS, location DNS, basically DNS that uses some location information to return different results.)
>
>
  • The next phase explores applications that are packet oriented services opposed to a byte stream like TCP. The intention is to motivate this section by introducing multimedia applications and seeing the need for a transport layer with different service properties. Students will be introduced to UDP (or some other transport type protocol that does not provide delivery or ordering guarantees) and exposed to how DNS works. (Note to self look for fast DNS, location DNS, basically DNS that uses some location information to return different results.)
 
  • The final part of the course will focus on the "cloud" (could be motivated by things like app stores) and the rationale behind it. A section of this might also focus on public/private keys, SSL connections etc, which are key pieces of technology used to secure connections for stuff like banking and online retail.

Course Time Line (For January 2012)

Changed:
<
<

Week 1 - January 5

  • Introductory lecture
>
>

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, perhaps some sort of activity where the server sends the same chunks of data but it is received in different chunks, maybe different times between data writes could achieve this.)

Week 2 - Jan 10, 12

Line: 61 to 60
 

Week 9 - Mar 6, 8

Changed:
<
<
  • Introduction to UDP socket programming after being motivated by the Multimedia part- 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 got through and how to recover from lost packets. (Basically timeouts and sequence numbers)
>
>
  • Using multimedia as the motivation, we want to have the students do some sort of work with a transport layer where packets are, possibly, delivered out of order or not at all. (Alan has an example assignment from 417 where they use such a protocol and have to build a working app that plays back media. Apparently we provide a server that does all sorts of bad things and they write the client.)
  • (Some question as to whether or not we want to go down this route) Introduce students to the UDP socket interface. Maybe have them write something like ping. If going down this route, it might be more appropriate to introduce UDP and then have them work with a more a transport protocol that adds features like sequence numbers or timestamps that the students have to deal with.
  • Using UDP sockets we explore how to improve throughput with sliding windows & how to deal with knowing data got through and how to recover from lost packets. (Basically timeouts and sequence numbers)
 

Week 10 - Mar 13, 15

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

Week 11 - Mar 20, 22

 
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