Systems Programming - Lecture Schedule

This schedule provides an approximate distribution of topics among the 12 weeks of the trimester. Lecture slides, and additional materials/tutorial shall be posted as and when they become appropriate.

Lecture slides uploaded before the lectures serve as pre-readings, and thus are subject to changes.

Week Lecture Topic and Slides Lecturer Other Materials
1 Lecture 1 Course Introduction
C Program Design; C Compilation Process
Alvin Valera Week 1 Revision Answers
Lecture 2 C Fundamentals Alvin Valera  
Tutorial-Style Lecture Compilation Process and Basic I/O Alvin Valera  
2 Lecture 1 Function-Like Macros; Arrays Alvin Valera Week 2 Revision Answers
Lecture 2 Strings Alvin Valera  
Tutorial-Style Lecture C Programs in Multiple Files, Function-Like Macros, Arrays and Strings Alvin Valera  
3 Lecture 1 Structures; Pointers (1) Alvin Valera Week 3 Revision Answers
Lecture 2 Pointers (2) Alvin Valera  
Tutorial-Style Lecture Strings, Structures, Arrays and Pointers, and GDB Alvin Valera  
4 Lecture 1 Pointers (3); Storage Classes; Process Layout Alvin Valera Week 4 Revision Answers
Lecture 2 Dynamic Memory Management Alvin Valera  
Tutorial-Style Lecture Call by Reference, Storage Classes and Process Layout, Dynamic Memory Allocation Alvin Valera  
5 Lecture 1 User-Defined Types Alvin Valera Week 5 Revision Answers
Lecture 2 Data Structures (Linked Lists) Alvin Valera  
Tutorial-Style Lecture Unions vs Structures, Dynamic Memory Allocation, Valgrind, Linked Lists Alvin Valera  
6 Lecture 1 FILE Stream I/O Alvin Valera Week 6 Revision Answers
Lecture 2 FILE Stream I/O (2) and Command Line Arguments
Low-Level Systems Programming (not included in quizzes and final test)
Alvin Valera  
Tutorial-Style Lecture Holiday
Mid-Trimester Break
7 Lecture 1 Introduction to System Calls, Socket Programming (1) Jyoti Sahni Week 7 Revision Answers
Lecture 2 Socket Programming (2) Jyoti Sahni  
Tutorial-Style Lecture Code Samples Jyoti Sahni  
8 Lecture 1 Process Management (1) Jyoti Sahni

Week 8 Revision Questions

Lecture 2 Process Management (2) Jyoti Sahni  
Tutorial-Style Lecture System Calls, Socket - Handling Multiple clients, Code samples Jyoti Sahni Week 8 Revision Answers
9 Lecture 1 Introduction to C++; C++ I/O Jyoti Sahni Week 9 Revision Questions
Lecture 2 Classes (1) Jyoti Sahni  
Tutorial-Style Lecture   Jyoti Sahni Week 9 Revision Answers
10 Lecture 1 Classes (2) Jyoti Sahni Week 10 Revision Questions
Lecture 2 Classes (3), Containers (1) Jyoti Sahni  
Tutorial-Style Lecture   Jyoti Sahni Week 10 Revision Answers
11 Lecture 1 File Handling Jyoti Sahni Week 11 Revision Questions
Lecture 2 Dynamic memory allocation,Templates Jyoti Sahni  
Tutorial-Style Lecture   Jyoti Sahni Week 11 Revision Answers
12 Lecture 1 Containers (2) Jyoti Sahni Week 12 Revision Questions
Lecture 2 Smart Pointers, Smart Pointers in Detail Jyoti Sahni Week 12 Revision Answers
Tutorial-Style Lecture Revision Jyoti Sahni 2018 Final Exam (Answers)
2019 Final Exam (Answers)