Teaching
A collection of courses I have designed and instructed, complete with resources and materials for students.
Introduction to Programming
Introduction to programming fundamentals and scientific libraries using Python, designed for Department of Urban and Regional Planning.
Digital Logic Design Sessional
Boolean algebra, logic gates, combinational and sequential circuit design, registers, counters, and memory units.
Data Structure and Algorithm II Sessional
Advanced data structures and algorithms including graphs, trees, heap, hashing, NP-Completeness, and approximation algorithms.
Computer Programming and Numerical Analysis forMaterials Modeling
Introduction to programming and numerical analysis using C, offered to Department of Nanomaterials and Ceramic Engineering.
Digital Techniques Sessional
Practical experience with logic gates, combinational and sequential circuits, flip-flops, and memory units.
Algorithm Engineering Sessional
Advanced algorithm engineering, covering approximation, parameterized algorithms, and NP-Completeness.
Structured Programming Language Sessional
Introduction to programming using C language. Topics include variables, control structures, functions, arrays, pointers, strings, and iGraphics library.
Data Structure and Algorithm II Sessional
Advanced data structures and algorithms including graphs, trees, heap, hashing, NP-Completeness, and approximation algorithms.
Mathematical Analysis for Computer Science
Mathematical foundations for computer science including probability, statistics, Markov chain, and queueing theory
Operating Systems Sessional
Hands-on experience with operating system concepts including xv6 process management, memory management, file systems, and shell scripting.
Software Development Sessional
Full-stack software development project covering requirements engineering, system design, implementation, testing, and deployment.
Computer Graphics Sessional
OpenGL-based graphics programming covering 2D/3D transformations, viewing, lighting, and ray tracing.