CS 356 (Fall 2009)

Unique no. 54820 Time: Tu Th 3:30 - 5 p.m. Classroom: CPE 2.216

Instructor: Simon S. Lam, office hours: Tu Th 5-6 p.m.,  office: Taylor 3.112

Teaching assistant:    Mr. Jaeyoun Kim,    email:  jaeyoun at cs.utexas.edu 
Office hours:  Mon 4-5 p.m., Wed 12:30-1:30 p.m., Thu 2-3 p.m.    Location:  ENS 31NQ, Desk #1

This course is an introduction to the subject of computer networks with emphasis on the Internet. The following topics will be covered:

  • network and protocol architectures
  • communication and switching techniques
  • application and transport layer protocols
  • flow and congestion control
  • network layer and routing
  • link layer and local area networks
  • wireless networks
  • network security

We will emphasize fundamental concepts and key ideas, and try to minimize coverage of implementation details. However, some details are unavoidable in a course on protocols and networking. Also, to explain why certain ideas and design decisions are better than others, there will be some amount of mathematical performance analysis (in lectures, homework, as well as exams).

Prerequisites

The following courses, with a grade of at least C in each: CS 310 or 310H, 336 or 336H, and Mathematics 408D or 408M; and credit with a grade of at least C in or concurrent registration for CS 352 or 352H.

Textbook (required)

J.  F. Kurose and K. W. Ross, Computer Networking: A Top-Down Approach, 5th edition, Addison Wesley, 2010.

Reading assignments of selected chapters and sections in the text will be posted on the class web page. I plan to cover the first five chapters of the textbook (with omission of a few sections).  Selected sections from Chapter 6 and Chapter 8 will also be covered.  Please read Chapter 1 of the textbook as soon as possible.

Lectures

Lecture slides (pdf files) are available on the class web page.  Please print them and bring them with you to class.  Do not use laptops, cell phones, or other electronic devices during class.

Grades

Final course grades will be computed with the following weights.  Letter grades will be determined on a curve.

  • Homework assignments (five):  15%
  • Wireshark labs (five):  15%
  • Programming assignments (two): 8% for first, 10% for second
  • In-class exams (two):  26% each

Homework and Wireshark assignments:  Both homework and Wireshark lab assignments will be due at the beginning of class on due date. Late submissions will not be accepted. (There will be a 10-minute grace period in case you arrive late to class. If you arrive within the first 10 minutes of class, please locate the TA and give your submission to him quietly.)   NoteWireshark lab assignments will be done on your own PC or laptop.

Programming:  The objective is for you to learn how to use the sockets interface to provide client-server communications.  There will be two programming assignments requiring the use of  TCP and UDP socket calls.  You can do these assignments using C, C++, or Java.  Your programs will interact with a CS356 server running on two of my linux machines.  (Some skeleton code for the programming solutions will be provided  in C only.)

Exams:  There are two exams on 10/15/09 Thursday and 12/1/09 Tuesday. (There will be no final exam.)  These are closed-book exams during regular class periods.  You are allowed one 8.5" x 11" page of notes (on one side of paper only).  You may also bring a non-programmable calculator.

You will be allowed to make up a missed exam only with prior approval from the instructor. To get approval, you need a compelling reason.

Collaboration policy:  You can discuss homework and labs with classmates.  Similarly, you can talk to fellow students about general concepts, data structures, and language constructs needed for programming assignments.  However, everyone must write up his/her own solutions for submission, and everyone must write and test his/her own programs individually. Do not look at or copy someone else's solution to any homework, lab, or programming assignment, including solutions by students in a previous offering of this class.  Please refer to the Student Code of Conduct document for additional information.

Class web page & email announcements

All assignments, lecture slides, as well as special announcements are posted on the class web page with the URL: http://www.cs.utexas.edu/users/lam/cs356 . I do not have a fixed schedule for posting updates, but it is a good idea to check several times a week for assignment due dates and special announcements.

You are responsible for downloading and printing the homework, Wireshark  lab, and programming assignments from the class web page.  There will be no hard-copy handouts of these in class.

The class web page will have links to the TA web page, with information on office hours, homework and lab solutions, instructions and C skeleton code for programming assignments, etc. If you have questions about homework, labs, exams, and programming, please email the TA, or visit during his office hours. He will be responsible for grading homework, Wireshark labs, and programming assignments as well as the two exams. 

Occasionally, when there is an urgent announcement, we will email you.  The TA will compile a list of student email addresses from the CS 356 class roster.  If you would like such notices to be delivered to a different email address or you are not sure which email address of yours is in the class roster, please notify the TA of your preferred email address as soon as possible.