Systems Programming - Lecture Schedule

See the TimeTable for times and locations of lectures and helpdesks.

Video recordings of lectures will be available from Panopto, which is accessible through Nuku/Canvas.

The schedule below 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, Slides and Other Resources Lecturer
1 Lecture 1 Course Introduction Jyoti Sahni
Lecture 2

C Program Design, Compilation Process and C Fundamentals

Practice Quiz

Practice Quiz Solutions

Jyoti Sahni
Tutorial-Style Lecture Compilation process, Standard C library Jyoti Sahni
2 Lecture 1 C Fundamentals (cont.); Functions; Function-Like Macros Jyoti Sahni
Lecture 2

Function-Like Macros (cont.), Arrays; Strings

Practice Quiz

Practice Quiz Solutions

Jyoti Sahni
Tutorial-Style Lecture Functions, Macros, Arrays and Strings(1) Jyoti Sahni
3 Lecture 1 Strings(2), Structures Jyoti Sahni
Lecture 2

Structures, Pointers

Practice Quiz

Practice Quiz Solutions

Jyoti Sahni
Tutorial-Style Lecture Pointers(2), Tutorial - sscanf, sprintf and Pointers Jyoti Sahni
4 Lecture 1 Pointers (3) Jyoti Sahni
Lecture 2

Pointers (4) Storage Classes; Process Layout

Practice Quiz

Practice Quiz Solutions

Jyoti Sahni
Tutorial-Style Lecture Pointers, Stuctures and Storage classes Jyoti Sahni
5 Lecture 1 Dynamic Memory Management Jyoti Sahni
Lecture 2

Dynamic Memory Management (2), Introduction to Linked Lists
Additional Lecture Material on Linked Lists (not assessed)

Practice Quiz

Practice Quiz Solutions

Jyoti Sahni
Tutorial-Style Lecture Holiday, No Lecture. Example code for practice Jyoti Sahni
  Mid-Trimester Break    
6 Lecture 1 Enum, Union, FILE Stream I/O Jyoti Sahni
Lecture 2 FILE Stream I/O and Command-Line Arguments Jyoti Sahni
Tutorial-Style Lecture VLA, Dynamic memory allocation, file handling and command line arguments. Code samples Jyoti Sahni
Mid-term Test
April 19 (Friday)

Timing: 17:00 - 18:00

Rooms for test:

Class split (based on Last Name or Surname)

HMLT205 : (A… - L…)

KKLT303: (M… - Z…)

7 Lecture 1 Introduction to System Calls, Socket Programming (1) Alvin Valera
Lecture 2 Socket Programming (2)
Practice Quiz
Practice Quiz with Answers
Alvin Valera
Tutorial-Style Lecture Socket Programming
Server code sample: server.c
Client code sample: client.c
Alvin Valera
8 Lecture 1 System Calls and Process Management Alvin Valera
Lecture 2 Process Management System Calls
Practice Quiz
Practice Quiz with Answers
Alvin Valera
Tutorial-Style Lecture System Calls and Process Management Alvin Valera
9 Lecture 1 Introduction to C++ Alvin Valera
Lecture 2 C++ Classes
Practice Quiz
Practice Quiz with Answers
Alvin Valera
Tutorial-Style Lecture C++ Programming Fundamentals Alvin Valera
10 Lecture 1 C++ Strings, Inheritance Alvin Valera
Lecture 2 Structures in C++, Containers, File Handling
Practice Quiz
Alvin Valera
Tutorial-Style Lecture C++ Strings, Inheritance, Vectors Alvin Valera
11 Lecture 1 File Handling (Part 2), Revisit of Constructors, Dynamic Memory Allocation Alvin Valera
Lecture 2 Friends, Templates Alvin Valera
Tutorial-Style Lecture   Alvin Valera
12 Lecture 1 Friend Functions Alvin Valera
Lecture 2 Revision
Alvin Valera
Tutorial-Style Lecture   Alvin Valera

Exam Period

Final Exam

Date and Time (TBD)