Course Outline : The course (MA5L005) consists of 3 lecture hours for theory and 2 lecture hours for the Lab per week. A basic syllabus will be followed as outlined in the institute website here.
Course Instructor : Dr. Arun Kumar Das, SBS (Math).
Teaching Assistants: Mr. Ankit Dhara.
Venue: Wednesday at Room U22M, Friday at SBS-346.
Timings : Wednesday 9 AM - 11 AM, Friday 2:30 PM - 5:30 PM.
Grading policy : Lab Assignments - 25%, Theory Minor (Mid Sem) - 25%, Theory Major (End Sem) - 50%
Lecture 1 (27/07/2026, T+L) : Course outline, Introduction to the von Neumann architecture, machine language, assembly language, programming languages, compiler, interpreter, loader, linker, text editors, operating systems, C programming and compilation.
Lecture 2 (29/07/2026, T) : Variables, data types, operators, "stdio.h" header file (QRV).
Lecture 3 (31/07/2026, T+L) : Conditional statements, "math.h" header file.
Lecture 4 (05/08/2026, T) : Ternary operator, For and While loops.
Lecture 5 (07/08/2026, T+L) : Compiling in linux (Ubuntu), Nested For and While loops.
Lecture 6 (12/08/2026, T) : Hands on with loops, Do-While loops, introduction to time complexity.
Lecture 7 (14/08/2026, T+L) : Introduction to arrays, searching, Glass breaking puzzle, Linear, Jump, and Binary Search.
Lecture 8 (19/08/2026, T) : Introduction to sorting, bubble sort, selection sort.
Lecture 9 (21/08/2026, T+L) : Hands on with sorting, insertion sort, introduction to ADT, the need for Data Structures.
Lecture 10 (28/08/2026, T+L) : Matrix : 2D arrays, the idea of a circular array: card shuffling in cycle.
Lecture 11 (02/09/2026, T) : Introduction to functions : declaration, arguments. Local and global scope of functions. Examples.
Lecture 12 (04/09/2026, T+L) : Introduction to pointers.
Lecture 13 (09/09/2026, T) : Recursions in functions, Revising call by value/reference.
Lab Assessment Exam 1 (11/09/2026, L) : Lab exam, 25 marks.
Lecture 14 (30/09/2026, T) : Introduction to stacks and queues, stack permutations (QRV), simulating a queue using two stacks (QRV).
Lecture 15 (07/10/2026, T) : Simulating queue with a revertible stack (QRV), Reverting a queue into another with minimum enqueues, simulating a stack using two stacks (QRV), finding the min in a stack (QRV).
Lecture 16 (09/10/2026, T+L) : Back to the basics: Primality testing (QRV), Comparison between sorting techniques: selection vs bubble (QRV), bubble vs insertion (QRV).
Lecture 17 (14/10/2026, T) : Recap to stacks and queues, problem of shifting elements in array, introduction to linked lists (QRV).
Lecture 18 (16/10/2026, T+L) : Recap to searching : Hands on binary search (QRV), doubt clearing.
Lecture 19 (28/10/2026, T) : Linked lists operations : Insertion (QRV), Deletion (QRV), Reversal (QRV), etc.
Lecture 20 (30/10/2026, T+L) : Hands on matrices, rotating a matrix (QRV), sorting inside a matrix.
Lecture 21 (04/11/2026, T) : Linked lists: Finding a cycle in a linked list (QRV).