Teaching

Teaching Overview

Teaching has been a central part of my academic career. I have more than 7 years of university level teaching experience, beginning as a Lecturer and later serving as an Assistant Professor in the Department of Computer Science and Engineering at Dhaka University of Engineering and Technology (DUET), Gazipur, Bangladesh, along with more than 2 years of Graduate Teaching Assistant experience at the University of Connecticut.

My teaching experience spans a broad range of undergraduate computer science courses, including programming, data structures, artificial intelligence, machine learning, databases, computer networks, theory of computation, big data analytics, and quantum computing.

I believe students learn best by actively participating in class and applying what they learn to practical problems. I encourage students to ask questions, think independently, and work together to solve challenges. My goal is to create a supportive learning environment where students feel comfortable learning and growing. I strive to explain complex computer science concepts in a clear and simple way by using practical examples and hands-on programming activities.


Teaching Experience

Dhaka University of Engineering and Technology (DUET), Gazipur, Bangladesh

Lecturer (July 2017 – August 2019)
Assistant Professor (August 2019 – December 2022)

I joined the Department of Computer Science and Engineering at DUET as a Lecturer and was subsequently promoted to Assistant Professor. During my time at DUET, I taught undergraduate computer science courses, developed lectures, programming laboratories, assignments, quizzes, examinations, and course materials, supervised undergraduate theses and capstone projects, and mentored students in programming, software development, machine learning, and research.

Courses Taught


Bangladesh University (BU), Dhaka, Bangladesh

Lecturer, Department of Computer Science and Engineering

At the Bangladesh University, I taught undergraduate computer science courses that helped students build strong foundations in programming and core computer science concepts. My teaching emphasized conceptual understanding, algorithmic thinking, practical programming skills, and collaborative problem solving through lectures, classroom discussions, assignments, and programming exercises.

Courses Taught


University of Connecticut, Storrs, USA

Graduate Teaching Assistant

As a Graduate Teaching Assistant at the University of Connecticut, I supported undergraduate instruction across several computer science and mathematics courses. This experience strengthened my ability to work with students from diverse academic backgrounds while gaining valuable teaching experience in a U.S. university environment.

Courses Supported

Teaching Responsibilities


Student Mentoring

Throughout my teaching career, I have supervised undergraduate theses and academic projects and mentored numerous students in programming, software development, machine learning, and research. I enjoy working closely with students as they develop analytical thinking, independent learning skills, and confidence in solving challenging computing problems.


Teaching Interests

I enjoy teaching courses in the following areas:


Teaching Philosophy

I believe that effective teaching extends beyond delivering course content. My goal is to help students become independent learners who can analyze problems, think critically, and apply computational techniques to solve real-world challenges. I encourage active participation, collaborative learning, and hands-on programming experiences that connect theory with practice. By creating an inclusive and supportive classroom environment, I strive to inspire curiosity, build students’ confidence, and prepare them for successful careers in computing and lifelong learning.