Teaching
I am currently on sabbatical from the Department of Computer Science and Engineering at United International University (UIU)1, Bangladesh, where I served as a tenured faculty member. Before my sabbatical, I taught advanced computer science topics, including Software Engineering, Computer Architecture, and Web Programming to senior undergraduate students.
1 UIU: Spring 2020 — Current
/
Previously, I was a tenured faculty at Military Institute of Science and Technology (MIST)2 University, where I began my academic career as an adjunct faculty member. At MIST, I focused on teaching core programming concepts to undergraduate students, delivering courses in Structured Programming, Object-Oriented Programming, and Data Structures & Algorithms for nearly three years. In addition to my teaching responsibilities, I have actively contributed to various administrative roles, including serving as Postgraduate Coordinator, Secretary of the Syllabus Reform Committee, and overseeing departmental software development projects.
2 MIST: Spring 2017 — Fall 2019
/
Guest Lecture at Texas A&M
I delivered a guest lecture at Texas A&M University as part of the Supercomputing graduate course (CSCE-654) in Fall 2025. Over two sessions, I introduced the concept of Data-Distributed Parallel (DDP) techniques for training models on large datasets, providing hands-on demonstrations using PyTorch.
In the first session, I began by explaining how to perform interprocess communication using the PyTorch Distributed Package across multiple processes and demonstrate the ALL_REDUCE operation. We then implemented DDP from scratch to train a simple MNIST dataset using a multi-layer perceptron (MLP). I also discussed strategies for adjusting the learning rate to ensure that DDP produces a consistent loss curve.
In the second session, the focus shifted to multinode DDP training. I demonstrated how to use HDF5 files to load portions of the dataset into a distributed dataloader.
The session materials are available in this GitHub repository.
Course Contents
Below are some of the courses I’ve taught over five years. I primarily used learning management systems to share course content with my students. This is a link to a sample page from a C programming courses I taught at MIST.
CSE-465 Web Programming
Institute: UIU
HTML5 Tags, CSS Selectors, JavaScript (Basic Syntax, Higher Order Array Functions, DOM Traversal), Django (Routing, Templating, ORM, Authentication, Form Handling), Client Side Rendering, VueJS, Progessive Web Application (PWA)
CSE-469 Project Management
Institute: UIU
Process Models (Waterfall, RUP, Iterative, Incremental, Agile, Scrum, Kanban, Extreme Programming), Vision and Design Document, Work Breakdown Structure (WBS), Delphie Estimation, Scheduling (Dependancy Network Graph, Gantt Chart), Review Documents
CSE-414 Computer Graphics Sessional
Institute: MIST
OpenGL 2D Animation, Mouse Interaction, Raster-based Pipeline
CSE-404 Artificial Intelligence Sessional
Institute: MIST
State Representation using Graph, Local Search, A* Search, Adversarial Search, Constraint Satisfaction Problem
CSE-322 Software Engineering Laboratory
Institute: UIU
REST API, CRUD Operations, Agile Methodology, Testing (Python Selenium, PyTest), Ajax (Fetch/XHR), Version Controlling (Git, GitHub), Markdown, Static Site Generator (MkDocs), SRS Writing
CSE-312 System Analysis and Design Laboratory
Institute: UIU
Benchmark Analysis, Feasibility Analysis, UML Diagrams (Use Case, Class Diagram, Dataflow Diagram), Agile Methodology (Jira)
CSE-313 Computer Architecture
Institute: UIU
Basic Concepts, MIPS, Datapath, Caching, Multiplication Algorithms
CSE-304 Compiler Sessional
Institute: MIST
Lex, Bison, Yacc
CSE-226 Assembly Language Programming
Institute: UIU
Introduction to 8086 emulator, Registers, Flags, Flow Control, Loop, Shift, Rotate, Nested Loop, Procedure, Stack, Multiple, Division, Array, String
CSE-223 Thoery of Computation
Institute: UIU
Basic concepts, DFA, NFA, Epsilon Transition, DFA Equivalence of NFA, Regular Expression, Context Free Grammar, Parse Trees, Ambiguity in Grammar, Pushdown Automata, Equivalence of PDA and CFG, Deterministic PDA, Normal Forms, Turing Machines
CSE-222 Database Management System Laboratory
Institute: UIU
MySQL Queries (Basic, JOIN, Aggregation, Subqueries), PHP Implementations
CSE-215 Data Structures and Algorithms-II
Institute: MIST
Hashing, HashSet, Binary Search Tree, Trie, Balanced Search Tree (Skip List, AVL Tree)
CSE-205 Object Oriented Programming Language (Part-B)
Institute: MIST
Inheritance, Multiple Inheritance, Constructor & Destructor, Virtual Functions, Runtime Polymorphism, Abstract Class, Diamond Problem, Virtual Base Class, Operator Overloading, Functors (Function Objects), Conversion Function, Overloading subscript, new, and delete operator
CSE-203 Data Structures and Algorithms-I
Institute: MIST
Big-O Notation, Linked List, Stack, Queue, Binary Search, Dequeue, Double Linked List, Graph, Tree
CSE-1116 Object Oriented Programming Sessional
Institute: UIU, MIST
Java Basic Syntax, Object Oriented Concepts (Inheritance, Abstraction, Interface, Polymorphism), Access Modifier, String, File I/O, Exception Handling, Concurrency, UI Design with Swing
CSE-1110 Introduction to CS
Institute: UIU
Introduction to Computer, Block-based Programming Language (Scratch), Memory and Storage, Binary Numbers, Introduction to C Programming Language (Variable Declaration, Conditions, For Loop)
CSE-105 Structured Programming Language (Part-B)
Institute: MIST
Recursion, Arrays & Strings, 2D Array & Pointers, Structures, Unions, Padding, Enum, File I/O, Dynamic Memory Allocation, Bitwise Manipulation, Function Pointers