Computer Networks (BTCS 504-18) - Theory

Course Objectives

This course aims to:

Course Outcomes

Upon completion of this course, students will be able to:

  1. Understand the principles of network communication and the OSI and TCP/IP models.
  2. Explain the functions of various protocols at different layers of the network stack.
  3. Design and analyze network topologies and protocols for efficient communication.
  4. Implement basic network programming concepts using socket programming.
  5. Identify and address network security issues.

Detailed Syllabus

Module 1: Introduction to Computer Networks

Module 2: The Physical Layer

Module 3: The Data Link Layer

Module 4: The Network Layer

Module 5: The Transport Layer

Module 6: The Application Layer

Textbooks

Reference Books


Computer Networks Lab (BTCS 507-18)

List of Experiments

  1. Simulate various OSI layer protocols using C/C++/Java.
  2. Implement data link layer framing methods such as bit stuffing and character stuffing.
  3. Implement error detection and correction techniques such as parity check, checksum, and CRC.
  4. Implement sliding window protocol.
  5. Simulate various routing algorithms like distance vector routing and link state routing.
  6. Implement socket programming for client-server communication using TCP and UDP.
  7. Implement a simple file transfer application using TCP/UDP.
  8. Simulate a subnet with address allocation, routing tables, etc.
  9. Implement a simple chat application using TCP/UDP.

Course Outcomes

Upon completion of this lab, students will be able to:

  1. Implement and analyze various networking protocols.
  2. Understand the working of different layers in the network stack.
  3. Develop simple network applications using socket programming.
  4. Gain hands-on experience with network simulation tools.