CS 356 (Fall 2017)

Unique no.  51695  Time: TuTh 3:30 - 5 p.m.  Classroom: GDC  5.302

Instructor: Simon S. Lam, email: lam AT cs DOT utexas DOT edu
office hours: TuTh 5-6 p.m., office: GDC 6.826

Teaching assistant:  Mubashir  Adnan Qureshi  email:  mubashir AT cs DOT utexas DOT edu
office:   TA Station Desk 2, GDC 1.302          TA webpage
weekly office hours:  Tuesday noon - 1 p.m., Wednesday noon - 1 p.m.
special office hours before programs are due:
for Lab 0: Friday, October 6, 2017, 11:30 a.m. -1:00 p.m., Desk 2
for Lab 1: Friday, November 3, 2017, noon-2:00 p.m., Desk 2

This course is an introduction to the subject of computer networks with emphasis on the Internet. The following topics will be covered:
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 understand 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).


The following coursework with a grade of at least C- in each: Computer Science 439 (or 372) or 439H (or 372H). Familiarity with calculus and basic probability theory.

Textbook (required)

J.  F. Kurose and K. W. Ross, Computer Networking: A Top-Down Approach, 7th edition, Addison Wesley, 2017. Reading assignments of selected chapters and sections in the text will be posted on the class web page. I plan to cover the first six chapters of the textbook (with omission of some sections).  Selected topics from Chapter 7 will also be covered.  Please read Chapter 1 of the textbook as soon as possible.


Lecture slides (pdf files) are available on the class web page.  (Note that some slides may be revised and not finalized until the day after their use in a lecture.)  Do not use laptops, cell phones, or any other electronic devices during class lectures.

Course Averages and Letter Grades

Your course grade averages will be computed with the following weights.
Plus and minus grades will be used for final course grades. If you average 87% for the course, you are guaranteed a letter grade of A- or better.  If you average 80% for the course, you are guaranteed a B- or better.  I will also consider the distribution of course grades for the class as a whole and possibly give more A's and B's according to a curve

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

The objective is for you to learn how to use the sockets interface to provide client-server (also peer-peer) communications.  There will be two programming assignments requiring the use of  TCP and UDP socket calls.  You will do these assignments in Python.  Your programs must be able to run on UTCS linux computers and interact with a CS356 server running on my UTCS linux computer.   You will submit your programs by uploading your files to UT's Canvas system for the TA (see instructions on TA webpage).

There are two in-class exams (see class schedule for dates). Each is a closed-book exam of 1 hour 15 minutes long. You are allowed one 8.5" x 11" page of notes (on one side of paper only).  You may also bring a calculator or use the calculator function in your cell phone. No access to any materials online, in calculator, in cell phone, or in any electronic device, is permitted.

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 lab assignments 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. You are required to abide by the Student Honor Code of the University of Texas at Austin.

Class web page & email announcements

All assignments, lecture slides, as well as special announcements will be 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 the master schedule several times a week for assignment due dates and exam dates. 

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 solutions, instructions for programming assignments and submissions, etc. If you have questions about homework, labs, exams, and programming, please email the TA, or visit him during his office hours. He will be responsible for grading homework, Wireshark labs, and programming assignments as well as the two exams.  Exception: Grades will be posted on the CS 356 course page in Canvas.

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. 


1. Students with disabilities may request appropriate academic accommodations from the Division of Diversity and Community Engagement, Services for Students with Disabilities, 512-471-6259, http://www.utexas.edu/diversity/ddce/ssd/  . If you have an accommodation request, you must talk to the instructor in person about details of your request first (a request sent by email is not sufficient).

2. By UT-Austin policy, you must notify the instructor of your pending absence at least fourteen days prior to the date of observance of a religious holy day.  If you must miss a class, an examination, a work assignment, or a project in order to observe a religious holy day, you will be given an opportunity to complete the missed work within a reasonable time after the absence.

3. The following recommendations regarding emergency evacuation from the Office of Campus Safety and Security, 512-471-5767, http://www.utexas.edu/safety/ :
Occupants of buildings on The University of Texas at Austin campus are required to evacuate buildings when a fire alarm is activated. Alarm activation or announcement requires exiting and assembling outside.

Please familiarize yourself with all exit doors of each classroom and building you may occupy.  Remember that the nearest exit door may not be the one you used when entering the building.

Students requiring assistance in evacuation shall inform their instructor in writing during the first week of class.

In the event of an evacuation, follow the instruction of faculty or class instructors.

Do not re-enter a building unless given instructions by the following: Austin Fire Department, The University of Texas at Austin Police Department, or Fire Prevention Services office.

        -        Behavior Concerns Advice Line (BCAL):  512-232-5050

        -        Link to information regarding emergency evacuation routes and emergency procedures can be found at: www.utexas.edu/emergency .