Course objective:

The course studies the basic concepts of communication networks, protocols and their performance as well as the design constraints of developing and deploying these networks.


To understand communication architectures, focusing on the TCP/IP model but in relation to the OSI model, describing the principles and protocols that apply at each layer. Assignments may include programming exercises for implementation of the protocols and algorithms studied.  As a result of successfully completing this course, students will:

  1. Become familiar with layered communication architectures (OSI and TCP/IP).
  2. Understand the client/server model and key application layer protocols.
  3. Learn sockets programming and how to implement client/server programs.
  4. Understand the concepts of reliable data transfer and how TCP implements these concepts.
  5. Know the principles of congestion control and trade-offs in fairness and efficiency.
  6. Learn the principles of routing and the semantics and syntax of IP.
  7. Understand the basics of error detection including parity, checksums, and CRC.
  8. Know the key protocols for multimedia networking including IntServ and DiffServ for IP.
  9. Familiarize the student with current topics such as security, network management, sensor networks, and/or other topics.

Detailed Course Content:


  • Review of Telecommunication networks: Hardware & software, reference models (Protocol Starks): OSI Vs TCP/IP, transmission (TX) media, the telephone system and the new telecommunication systems.
  • Physical Layer: Basics of EM wave Transmission: Modulation, Digitization, Synchronization, Physical Layer Standards : RS-232, CCITT X.21; 

Computer Networks:

  • Link Layer: Data transfer between neighboring network elements including encoding, framing, error correction, access control for shared links (MAC protocols) examples to include Ethernet, fast ethernet, satellite etc
  • Network Layer: host-to-host connectivity, detailed study of generic routing & addressing – also for today’s internet
  • Transport Layer: host-to-host data transport. Detailed study of reliable data transport, congestion control, flow control with examples of TCP and UDP
  • TCP/IP Application layer: Detailed study of the Network Applications including HTTP, FTP, electronic mail protocols (SMTP,POP3,IMAP), DNS and distributed file sharing. 

Advanced Concepts:

  • Advanced topics in computer networks: Multimedia networking (quality of service), computer security, wireless networks, overlay networks.
  • Case studies of new/emerging network systems /technologies: HTTP load balancing, Network caching, Content distribution (Akamai), Peer-to-peer systems (Gnutella/BitTorrent).

 Teaching and Learning Pattern

The teaching of students will be conducted through lectures, tutorials, short classroom exercises, case studies, group discussions among the students and projects aimed at solving real life problems. The lecture material will be availed to the students in advance to enable them have prior reading. Solving real life problems in each theme or a number of topics will enhance the students’ understanding of the problem based learning techniques.

Assessment method

Assessment will be done through coursework which will include assignments, class room and take home tests, project work and presentations and a written examination. Course work will carry a total of 40% and written examination carries 60%. Coursework marks will be divided into; Assignments 5%, Tests 10% and Practical/project Work 25%.


[1]      J. F. Kurose, K. W. Ross, Computer Networking, A Top-Down Approach Featuring the Internet, Addison-Wesley.

[2]      Dimitri Bertsekas and Robert Gallager, Data Networks, 2nd edition or later

[3]      W. Stallings, “Data and Computer Communications”, Prentice Hall, Sixth Edition, 2000, or later.

[4]      Andrew S. Tanenbaum, “Computer Networks”, Prentice Hall, 4th Edition, August 2002


Attachment Name Attachment Type

MTE 7102- Computer Communications Networks