Syllabus for CS-5376 Communication Networks

Dr.  Michael Sobolewski
Room: CP-310
Office hours: Wednesday 2:00 p.m. to 4:00 p.m. or by appointment

Course Information
CS-5376 Communication Networks
Location: CP 205
Time: 1:00 p.m. - 1:50 p.m., MWF

Course website: We will make extensive use of the class WWW site. You should check the WWW page on a near daily basis for updates

This course covers advanced fundamental principles of computer networks, studying foundational and applied material in the field. Topics include protocol mechanisms, overlay networks, implementation principles and practices, advanced communication networks, protocol specification/verification techniques. The goal of this course is to teach networking fundamentals/techniques and overlay communication networks. By the end of this course, you will have acquired a deep understanding of various network concepts and protocols and developed extensive knowledge that you can use to develop sophisticated network applications. Case studies, programming projects, and relevant papers support the course.

Learning Outcomes
Students who successfully completed this course will be able to:
1. Distinguish the Internet from grid and intranet from extranet (5 MS; 5 PhD)
2. Describe the network edge, core, access networks (2, 5 MS; 2, 5 PhD)
3. Differentiate circuit-switched and packet-switched networks (2, 5 MS; 2, 5 PhD)
4. Understand and differentiate application, transport, network, and link layer protocols of the Internet (3 MS; 5 PhD)
5. Compare, contrast, and apply  connection-oriented and connectionless transport protocols (3 MS; 5 PhD)
6. Understand and differentiate unicast and multicast socket-based programming (3 MS; 5 PhD)
7. Understand and differentiate service-oriented systems from client/server systems (3 MS; 5 PhD)
8. Research paper describing a networking topic of your choice (1, 4 MS;1, 5 PhD)
9. Develop and demonstrate a networking application of your choice (project option) (1, 4 MS;1, 5 PhD)

Methods of Assessment of Learning outcomes
a. Two quizzes to assess common networking concepts and terminology
Wireshark laboratory
c. Midterm exam
d. Networking programming assignments
e. Term research paper
f.  Cumulative final exam or project
g. Student evaluation of course learning objectives

Prerequisites: introductory (undergraduate level) courses in computer networks (e.g., CS4392), and some familiarity with Java programming will also be needed.

Textbook: There is no textbook for the course. Reading material will be posted online whenever possible. In all other cases, material will be placed on reserve.

Tentative Topics:

  • Data Communications and Networks Overview
  • Communication in bionetworks
  • Design Principles
  • Implementation Principles
  • Security in Computer Networks
  • Wireless and Mobile Networks
  • Unicast Networking
  • Multicast Networking
  • Remote Method Invocation (Java Interfaces. JRMP, JERI)
  • Servlets
  • EJBs
  • Web Services
  • Grid Services
  • Discovery Protocols: Jini
  • P2P: JXTA Communication Protocols
  • Service Object-Oriented Networks: S2S in SORCER
  • Comparison of Communication Networks


Quizzes 10%
Wireshark lab 10%
Research paper 25%
Midterm exam 20%
Programming assignments 10%
Project/Final exam 25%

Course Delivery Format/Policies
Student Workload: This is a combined lecture/discussion course, falling somewhere between a traditional lecture-oriented class and a seminar class. Material will be presented by the instructor, and students are expected to participate in class discussions. I anticipate there will be one written assignment, one Wiresharks lab, two programming assignment, a take-home midterm exam, and a final exam or project.
Wireshark Labs:  Complete Getting Started and two of ten available labs using  the Wireshark packet sniffer. Submit result of investigated protocol(s) in operation by email: before the date on which it is due. For late submissions there will be a penalty of 10% for lateness.

Programming Assignments two of many proposed programming assignments should be  submitted by email: before the date on which it is due. For late submissions there will be a penalty of 10% for lateness. Please work individually on your assignment. Please study the assignment specifications, code your programs, and test them independently. Stop by my office if you have difficulty in understanding the assignment or the course material discussed in the class.

Projects: Students should make two person teams or work individually if it is preferred. Each team must complete a project on some aspect of networking. The project should deal with issues such as client/server, P2P, service-oriented networking, network security, document management, web collaborative applications. The project will be presented and demonstrated during the last two classes. All students must be present for all the presentations/demos. The students will be graded on the project as well as the quality of the presentations/demos. The presentation should not exceed more than six viewgraphs and should reflect a clear understanding of the subject by the student. Please use your critical thinking skills to be concise and focused on both the project results as well as the presentations/demos.

Midterm and Final exams will be open-book/notes, but will be extremely time-constrained. Material from handouts, textbooks and reading/homeworks will be included in the scope of the exams.

The purpose of these different instruments is to have a positive learning experience, critical thinking about computer networking issues, and some sound grasp of fundamentals. If you feel any of these instruments is not working for any reason, please send me email and I will consider a change in the format of delivery.
Student-teacher relationships are based on trust. Acts, which violate this trust, undermine the educational process. Your classmates and the instructor will not tolerate violations of academic integrity (see Statement of Academic Conduct for Engineering Students, College of Engineering Texas Tech University).