University of Saskatchewan Department of Computer Science

Welcome to the Department of Computer Science

Courses >
Printer

Computer Science 434 (Detailed Information)

Note that the information presented here does not necessarily reflect the most up to date syllabus or course information. Rather this information is intended to provide a general overview of course content from previous offerings.

Instructor

Prof. Derek Eager (Thorv. 281.2, x4899)

Lectures

M W F, 9:30-10:20, Thorv 205A

Text

Computer Networks (5th edition), Andrew S. Tanenbaum and David J. Wetherall, Prentice Hall, 2011.

Laboratory Facilities

Some assignment problems will require use of the cnet simulator. This has been installed in the Computer Science Department labs. It can also be downloaded (Linux and Mac platforms only) from http://www.csse.uwa.edu.au/cnet/install.html.

Purpose of Course

This course provides a comprehensive survey of the design and organization of computer networks. The course will largely follow a bottom-up approach, beginning with the fundamentals of data communication and communication infrastructures, then covering topics such as protocols for reliable data transfer, multiple access protocols, local area networks, routing, congestion control, quality of service, and transport layer protocols, before finally looking at important applications and the cross-cutting issues of network security. The principles we discuss will be made concrete through study of existing systems, most notably the Internet and its structure, protocols, and applications.

Outline

(timings approximate)

  1. Data Communication Fundamentals (1 week)
    Transmission media, limits on achievable data rate, digital modulation, communication infrastructures.
  2. Data Link Layer (1 week)
    Framing, error detection and correction, protocols for reliable data transfer.
  3. Multiple Access Protocols and Local Area Networks (1.5 weeks)
    Classes of multiple access protocols, Ethernet, link layer switching, VLANs, 802.11, 802.16, Bluetooth, RFID.
  4. Network Layer (3 weeks)
    Datagram vs. virtual circuit networks, routing, congestion control, quality of service, network layer addressing in the Internet, IP and related protocols, routing in the Internet.
  5. Transport Layer (2 weeks)
    Internet transport services and API, elements of transport protocols, congestion control, Internet transport protocols.
  6. Application Layer (2 weeks)
    DNS, email, the Web, streaming media, content delivery, P2P.
  7. Network Security (1.5 weeks)
    Encryption/decryption algorithms, digital signatures, message digests, public key management, authentication, security in the Internet, social issues.

Evaluation

There will be 3 equally weighted assignments (likely approximate due dates – early February, mid February, mid March), and a project (to be done in groups of two). Assignments will involve both programming and non-programming problems. A midterm test will be held early in March. The midterm test and the final examination will be “closed book” (no books, no notes, no calculators). The weightings for the project, assignments, and examinations are as follows:

Project:17 %
Assignments:18 %
Midterm Test:15 %
Final Examination:50 %

Academic Honesty

All students must be properly registered in order to attend lectures and receive credit for the course. Students are expected to be academically honest in all of their scholarly work, including course assignments and examinations. Academic honesty is defined and described in the Department of Computer Science Statement on Academic Honesty; see also the University of Saskatchewan information