Design and Engineering of Computer Systems

By Prof. Mythili Vutukuru   |   IIT Bombay
Learners enrolled: 2921
In this course, we will understand how to design and engineer real-world computer systems, covering important concepts cutting across multiple topics such as operating systems, computer networks, computer architecture, virtualization, cloud computing, performance analysis, and distributed systems. The course is accessible to anyone who has a basic introduction to computer programming; no other prior knowledge is assumed. 

The course concepts will be covered in a bottom-up manner, beginning with a discussion of the building blocks of computer systems, and ending with case studies and examples of end-to-end design of real-world computer systems. We start with an overview of computer systems hardware. We then understand how the operating system manages the hardware, and how user applications are built over the operating system. We will also understand how user applications communicate over the Internet. We will then study how a computer system is assembled from various sub-components, using examples from real life. Next, we will learn how to measure the performance of computer systems, and how to optimize for good performance. Finally, we will study some techniques to improve the fault tolerance and reliability of computer systems. The course will not be tied to any specific programming language or framework, but will focus on the best practices and principles for designing and engineering computer systems. It is expected that by the end of the course, students will get a good understanding of how real-world computer systems work, and will be able to apply the concepts learnt in the course to design systems on their own.

PRE-REQUISITE :Introduction to programming. A previous course in operating systems or computer networks can be helpful, but not necessary. 

INDUSTRY SUPPORT :Computer Systems, Operating Systems, Computer Networking, Distributed Systems

INTENDED AUDIENCE :Senior UG students or PG students in Computer Science. Working professionals.
Course Status : Completed
Course Type : Elective
Duration : 8 weeks
Category :
  • Computer Science and Engineering
  • Systems
Credit Points : 2
Level : Undergraduate/Postgraduate
Start Date : 24 Jan 2022
End Date : 18 Mar 2022
Enrollment Ends : 07 Feb 2022
Exam Date : 27 Mar 2022 IST

Note: This exam date is subjected to change based on seat availability. You can check final exam date on your hall ticket.

Page Visits

Course layout

Week 1 - Introduction to computer systems.
• Introduction and overview of the course
• Principles for designing computer systems
• Overview of computer system hardware and software
Week 2 - Process management and CPU virtualization
• Process abstraction and process management in operating systems
• Threads and concurrency
• Virtual machines and containers
Week 3 - Memory management
• Memory management in operating systems
• Virtual memory and paging
• Optimizing memory access in user programs
Week 4 - Disk and network I/O
• Filesystem data structures and implementation
• Synchronous and event-driven APIs for socket-based network communication
• Network I/O subsystem in operating systems
Week 5 - Computer networking
• Architecture of the Internet
• Internet routing, transport and applications
• Network security
Week 6 - End-to-end application design
• Inter-process and inter-thread synchronization
• Architecture of multi-tier applications
• Case studies and examples of systems design
Week 7 - Performance engineering
• Performance measurement and analysis
• Techniques to improve performance of computer systems
• Caching, horizontal and vertical scaling, load balancing
Week 8 - Reliability engineering
• Techniques for fault tolerance in computer systems
• Replication, consistency, and atomicity
• Case studies of designing reliable computer systems

Books and references

1.“Operating Systems: Three Easy Pieces”, https://pages.cs.wisc.edu/~remzi/OSTEP/
2. https://www.cse.iitb.ac.in/~mythili/os/

Instructor bio

Prof. Mythili Vutukuru

IIT Bombay
Mythili Vutukuru is an Associate Professor in the Department of Computer Science and Engineering at IIT Bombay. She works in the areas of computer networking, operating systems, and networked systems. She completed her B.Tech. from IIT Madras in 2004, and M.S. and PhD. from Massachusetts Institute of Technology (MIT) in 2006 and 2010 respectively, all in Computer Science. She has been teaching at IIT Bombay since 2013. For more information, please visit: https://www.cse.iitb.ac.in/~mythili/

Course certificate

The course is free to enroll and learn from. But if you want a certificate, you have to register and write the proctored exam conducted by us in person at any of the designated exam centres.
The exam is optional for a fee of Rs 1000/- (Rupees one thousand only).
Date and Time of Exams: 27 March 2022 Morning session 9am to 12 noon; Afternoon Session 2pm to 5pm.
Registration url: Announcements will be made when the registration form is open for registrations.
The online registration form has to be filled and the certification exam fee needs to be paid. More details will be made available when the exam registration form is published. If there are any changes, it will be mentioned then.
Please check the form for more details on the cities where the exams will be held, the conditions you agree to when you fill the form etc.


Average assignment score = 25% of average of best 6 assignments out of the total 8 assignments given in the course.
Exam score = 75% of the proctored certification exam score out of 100

Final score = Average assignment score + Exam score

YOU WILL BE ELIGIBLE FOR A CERTIFICATE ONLY IF AVERAGE ASSIGNMENT SCORE >=10/25 AND EXAM SCORE >= 30/75. If one of the 2 criteria is not met, you will not get the certificate even if the Final score >= 40/100.

Certificate will have your name, photograph and the score in the final exam with the breakup.It will have the logos of NPTEL and IIT Bombay. It will be e-verifiable at nptel.ac.in/noc.

Only the e-certificate will be made available. Hard copies will not be dispatched.

Once again, thanks for your interest in our online courses and certification. Happy learning.

- NPTEL team

MHRD logo Swayam logo


Goto google play store