NPTEL : NOC:Design and Engineering of Computer Systems (Computer Science and Engineering)

Co-ordinators : Prof. Mythili Vutukuru


Lecture 1 - Introduction to Computer Systems

Lecture 2 - Principles of Computer Systems Design

Lecture 3 - Overview of CPU hardware

Lecture 4 - Overview of memory and I/O hardware

Lecture 5 - Introduction to Operating Systems

Lecture 6 - Week 1: Tutorial 1

Lecture 7 - Week 1: Tutorial 2

Lecture 8 - Processes

Lecture 9 - Kernel mode execution

Lecture 10 - Threads

Lecture 11 - CPU scheduling policies

Lecture 12 - Virtual machines and containers

Lecture 13 - Week 2: Tutorial 1

Lecture 14 - Week 2: Tutorial 2

Lecture 15 - Week 2: Tutorial 3

Lecture 16 - Memory management in OS

Lecture 17 - Paging

Lecture 18 - Demand paging

Lecture 19 - File system and memory

Lecture 20 - Optimizing memory access

Lecture 21 - Week 3: Tutorial 1

Lecture 22 - Week 3: Tutorial 2

Lecture 23 - Week 3: Tutorial 3

Lecture 24 - Filesystem Datastructures

Lecture 25 - Filesystem Implementation

Lecture 26 - Network I/O via Sockets

Lecture 27 - Network I/O Implementation

Lecture 28 - Memory and I/O virtualization

Lecture 29 - Week 4: Tutorial 1

Lecture 30 - Week 4: Tutorial 2

Lecture 31 - Introduction to computer networking

Lecture 32 - Internet Routing and Forwarding

Lecture 33 - Transport protocols

Lecture 34 - Application layer protocols

Lecture 35 - Network Security

Lecture 36 - Week 5: Tutorial 1

Lecture 37 - Week 5: Tutorial 2

Lecture 38 - Multithreaded application design

Lecture 39 - Inter-process communication

Lecture 40 - Multi-tier application design

Lecture 41 - Examples of end-to-end systems design

Lecture 42 - Deployment of computer systems

Lecture 43 - Week 6: Tutorial 1

Lecture 44 - Week 6: Tutorial 2

Lecture 45 - Performance measurement

Lecture 46 - Performance analysis

Lecture 47 - Performance profiling and optimization

Lecture 48 - Caching

Lecture 49 - Performance scalability

Lecture 50 - Week 7: Tutorial 1

Lecture 51 - Fault tolerance and reliability

Lecture 52 - Replication and consistency

Lecture 53 - Atomicity

Lecture 54 - Distributed transactions

Lecture 55 - Case studies of distributed systems design