IITM BS Computer Networks (BSCS4024): Syllabus and Tips
By Editorial TeamLast reviewed
5 min readData ScienceOn this page
Computer Networks (BSCS4024) is a 4 credit elective at the degree level of the IITM BS in Data Science. The handbook places it at level 4. You must pass Programming in C (BSCS3005) before you can take it. The course explains how the Internet works, starting from the apps you use and moving down to how packets find their way.
| Code | Credits | Level | Prerequisites |
|---|---|---|---|
| BSCS4024 | 4 | Degree (level 4) | Programming in C (BSCS3005) |
The course is taught by Ayon Chakraborty, Assistant Professor in Computer Science and Engineering at IIT Madras. He also teaches Computer Systems Design (BSCS3031). The course page and the handbook agree on credits and prerequisite.
What you learn in Computer Networks
The course follows a top-down order. You begin with applications and work down through the layers. The 12 weeks fall into four blocks.
- Weeks 1 to 4: how the Internet is built and measured. The overall architecture, the layered protocol stack and how to read captured packets. Then delay and performance numbers, and how the user's experience of a web page is measured.
- Weeks 5 and 6: writing programs that talk over a network. Socket programming and the client-server model. Then application level protocols and how to study real TCP traffic.
- Weeks 7 to 9: the transport layer. How data arrives correctly over a network that loses packets. Flow control with sliding windows, then congestion control and how TCP connections share bandwidth fairly.
- Weeks 10 to 12: addressing, routing and the link layer. IP addresses, subnetting, routing algorithms and how separate networks join up. The last week covers medium access control and wireless protocols.
How the course is assessed
The course page does not list its own assessment plan. It points you to the standard course structure on the programme's Academics page. For how quizzes and the end term exam usually work, see IITM BS Quiz 1 and Quiz 2.
Where Computer Networks counts
- BS level stream rule. The BS level needs 2 programming stream and 2 data science stream courses at level 4 or higher. This course is level 4 and tagged BP in the handbook table, which appears to mean the programming stream. See the BS degree level.
- Minor in Computer Systems. It is one of three courses, with Computer Systems Design and Operating Systems. Programming in C is the prerequisite for this minor. See the Computer Systems minor.
- Minor in Internet of Things. It sits with two ES courses, Communication Systems (EE4103) and Internet of Things (EE5101). The ES handbook lists the same minor for ES students and writes this course as CS4024. See the IoT minor.
One course can count toward only one minor. If you want both minors, Computer Networks can fill only one of them, so ask support what replaces it in the other.
The DS course table (updated 18 March 2026) marks this course as offered in September 2026 and January 2027, but not in May 2026. A course runs only if enough students register.
Who finds it hard and how to prepare
Students who rushed through Programming in C often get stuck in week 5, because socket code uses pointers, structs and byte buffers together. Others mix up the many small TCP rules in weeks 7 to 9.
- Before the term, write a small C program that reads a file into a buffer and prints parts of it. If pointers still feel shaky, fix that first.
- Install a free packet capture tool such as Wireshark and look at your own browsing traffic. The packet analysis weeks will then feel familiar.
- For weeks 7 to 9, draw sender and receiver timelines on paper. Mark each packet, each acknowledgement and each timeout. Most TCP doubts clear up once you can draw the exchange.
- Practise subnetting by hand until you can split an address block without a calculator.
What to take before and after
Take Programming in C (BSCS3005) first, since it is the formal prerequisite. If you are aiming for the Computer Systems minor, Computer Systems Design lists Programming in C as a corequisite, so those two can go in the same term. Operating Systems needs Computer Systems Design first. Computer Networks can go in any term after Programming in C.
Common questions
Can I take Computer Networks without Programming in C?
No. Both the course page and the handbook list Programming in C (BSCS3005) as the prerequisite. Plan to finish it at least one term before Computer Networks.
Is this the same course ES students take for the IoT minor?
Yes. The ES handbook names it CS4024, Computer Networks (DS), in its IoT minor. It is the Data Science course. The ES handbook does not say how the Programming in C prerequisite applies to ES students, so ES students should ask their support team.
Does Computer Networks count toward the data science stream?
The handbook tags it BP, not BD. So plan on it counting toward the programming stream at the BS level. Pick your 2 data science stream courses from courses tagged BD.
Official sources
Read next
- IITM BS Deep Learning Practice (BSDA5013): Syllabus and Tips
- IITM BS Operating System (BSCS4022): Syllabus and Tips
- IITM BS Reinforcement Learning (BSDA5007): Syllabus and Tips
- IITM BS Algorithms for Data Science (ADS) (BSDA5003): Syllabus and Tips
- IITM BS Deep Learning for Computer Vision (BSDA5006): Syllabus and Tips
- IITM BS Introduction to Big Data (BSDA5001): Syllabus and Tips