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  
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; Process Management (1) Jyoti Sahni  
Lecture 2 Process Management (2) Jyoti Sahni  
Tutorial-Style Lecture   Jyoti Sahni  
8 Lecture 1 Socket Programming (1) Jyoti Sahni  
Lecture 2 Socket Programming (2) Jyoti Sahni  
Tutorial-Style Lecture   Jyoti Sahni  
9 Lecture 1 Introduction to C++; C++ I/O Jyoti Sahni  
Lecture 2 Classes (1) Jyoti Sahni  
Tutorial-Style Lecture   Jyoti Sahni  
10 Lecture 1 Classes (2) Jyoti Sahni  
Lecture 2 File Handling Jyoti Sahni  
Tutorial-Style Lecture   Jyoti Sahni  
11 Lecture 1 Templates Jyoti Sahni  
Lecture 2 Containers (1) Jyoti Sahni  
Tutorial-Style Lecture   Jyoti Sahni  
12 Lecture 1 Containers (2) Jyoti Sahni  
Lecture 2 Smart Pointers Jyoti Sahni  
Tutorial-Style Lecture   Jyoti Sahni