TCOM 512: General Information

Please note that some of this information may change. Notice of changes will be posted to the newsgroup. Consult the syllabus for information about material covered in the course. When events (such as the midterm) are scheduled, they will be entered here.

Quick index:Administrivia | Aims and Topics | Prerequisites| Textbooks


Administrivia

Lectures:
Where: Heilmeier Hall, in Towne Hall.
When: Mon/Wed 1:30-3


Aims and Topics

This course covers the design, analysis, and implementation of application- and transport-level protocols. We review basic techniques of framing, error recovery, reliable delivery, flow control, adaptation to congestion, presentation (and representation) of data, authentication and security, as applied to conversational, transactional, and dissemination-oriented transport and application level protocols. In addition to hands-on experience designing and implementing network protocols in C using the BSD socket interface, we also teach elementary modeling (through both simulation and analytic models) and measurement of network protocols.

The main thrust of this course is to teach you how to model expected protocol behavior well enough to make the appropriate design choice or choose the best implementation technique in the specific context of the protocol you are designing or implementing for a particular application/load.

Prerequisites

All} of the following are required:

  • Either TCOM400 (must be a prerequisite) or TCOM500 (can be a corequisite). In some cases TCOM370 will be an acceptable prerequisite.

  • Basic undergraduate mathematical background, including elementary probability.

  • C programming: you should be comfortable writing programs in {\em some} language. We will use C, but we expect you to be able to pick up the language assuming you have experience in some other, similar, language(s). We require sufficient programming knowledge to edit, write, and debug programs in C.

    Textbooks

    Required:
    Peterson & Davies, Computer Networks: A Systems Approach (2nd edition!).

    W. Richard Stevens, UNIX Network Programming, vol 1, (2nd Edition).

    Supplementary texts: Carson, Nelson, & Nicol, Discrete-Event System Simulation, Prentice Hall

    Wright \& Stevens, TCP/IP Illustrated, Volume 2: The Implementation, Addison-Wesley.


    Assignment collaboration policy:

    Informally discussing the problems is good. Helping each other with computing environment questions is very good. Group discussion and brainstorming is great. You can ask questions of whomever you want. However, once you are ready to write up your solution, no further collaboration is allowed. Each student must write up his or her own assignments. Each student must write his or her own code.


    Grading

    Assignments: 65%
    Exams: 35%


    Back to: TCOM 512 Home Page


    Maintained by: Michael Greenwald / tcom512@central.cis.upenn.edu