My courses · Autumn 2026
Courses I teach at GCET Kashmir. Each course has its slides and practice questions, week by week, and a link to its Google Classroom.
Design & Analysis of Algorithms
How to design algorithms and prove how fast they are: divide and conquer, greedy, dynamic programming, graph algorithms and NP-completeness.
Data Structures
How data is organised in memory and why it matters: arrays, linked lists, stacks, queues, trees, graphs, hashing, searching and sorting.
Operating Systems
What happens between your program and the hardware: processes, CPU scheduling, synchronisation, deadlocks, memory, file systems and disks.
Compiler Design
How source code becomes machine code: lexical analysis, parsing, syntax-directed translation, intermediate code, optimisation and code generation.
Subjects I teach
- Data Structures
- Algorithms
- Programming in C / C++ / Python
- Graph Theory
- Compiler Design
- Operating Systems
Video lectures
Free video lectures that go with these courses are on the video courses page.