Teaching
Learn together
Teaching Experience
Over the last 13 years, I have taught a diverse range of courses, designed inclusive curricula and assignments, and evaluated student performance across three universities—guided by a teaching philosophy that values accessibility, practical relevance, and learner success.
Instructor & Lead Coordinator
Winter 2025
CMPT 470/816: Advanced Software Engineering
- Designed inclusive, employment-focused curriculum aligned with industry and applied learning standards.
-
Delivered lectures and practical sessions covering:
- Data & Software Analytics, AI & Software Engineering
- Trustworthy & Responsible AI and ethical deployment
- Modern SE Practices (LCNC, cloud-native), change management, DevOps, automation, and software quality
-
Implemented diverse assessment methods:
- Quizzes, coding tasks, peer reviews, and project presentations
- Emphasis on business-focused AI tools and responsible ML practices
-
Mentoring — mentoring six undergraduate research groups (18 students):
Leveraging GitHub Copilot for API Misuse Detection in Real-time Code Development (Juan Arguello, Hong Wang, Samantha Mathan) CASCON 2025 · to appearLeveraging Large Language Models and Historical Patterns for Efficient Automated Program Repair (Babafunmise Adebowale, Pallavi, Wahhaj Javed)Characterizing Feature Requests on Meta Stack Overflow: Insights into Community-Driven Platform Evolution (Anurag Khare, Samein Dorazahi, Omar Sadek)Decoding Feature Importance: Unveiling ML Model Learning Strategies with Explainable AI (Jay S. Patel, Karanpreet S. Bansal, Saeed Ahmed)LLMs Incorrectness Detection in Git Merge Issues (David Baik, Hudson Sundbo, Ibrahim Touqani)Can Large Language Models Mitigate Challenges in Reproducing Issues Reported in Stack Overflow Questions? An Exploratory Study (Daniel Ibekwe, Kristian Manaloto, Ali Udi)
These studies are being prepared for submission to suitable Software Engineering venues. I also mentored two graduate students on individual research-based projects.
-
Integrated industry-relevant practices to support employability:
- Collaborative projects, agile methods, and Git-based workflows
- Data-driven decision making and practical AI API usage
Assignment Designer & Evaluator
Winter 2024
CMPT 470/816
- Developed and evaluated practical assignments on Python for AI, data mining, and software automation.
Project Mentor & Evaluator
Winter 2022
CMPT 370: Intermediate Software Engineering
- Supervised and assessed four project teams (16 students) on intermediate Software Engineering concepts and implementation.
- Provided ongoing feedback to promote teamwork, version control, and iterative design.
Teaching Assistant & Grader
2018–2023
CMPT 141, CMPT 214, CMPT 280
-
Graded assignments and provided instructional support for:
- CMPT 141: Introduction to Computer Science
- CMPT 214: Programming Principles and Practice
- CMPT 280: Intermediate Data Structures and Algorithms
- Taught multiple undergraduate-level Computer Science courses across foundational and advanced topics.
-
Responsible for full instructional duties:
- Designed curriculum and course content
- Delivered lectures and lab sessions
- Created questionnaires and exams
- Conducted evaluations and published final grades
-
Supervised software development projects and (co-)supervised seven undergraduate theses, focused on:
- Information Security (Image & Audio Steganography)
- Biomedical Research (Heart Diseases Prediction) using ML
- Supervised Students: Tasmim Riza, Rufaida Kabir Zarin, M. Raihan, Omar Faruqe Sagor, Palash Sarker, Sk Arman, Mahadi Hasan Rakib, Mahdi Hussain, Mohoshin Ara Tahera, Anika Das, Farjana Yeasmin, Saumitra Bagchi, Shahirul Kabir Sami
- Courses Taught: Software Development Project (CSE 2200) • Artificial Intelligence & Laboratory (CSE 4205 & CSE 4206) • Structured Programming (CSE 1103) • Compiler Design & Laboratory (CSE 4105 & CSE 4106) • Algorithms (CSE 2201) • Object Oriented Programming (CSE 1201) • Pattern Recognition (CSE 4221) • Web Programming Project (CSE 3200) • Data Structure & Algorithms (CSE 2151) • Computer Programming (CSE 1151)
- Taught several undergraduate-level Computer Science courses as a part-time faculty.
-
Responsibilities included:
- Delivered lectures and labs
- Designed questionnaires and conducted exams
- Evaluated student performance and published grades
- Supervised sessional software development projects
- Courses Taught: Software Development Project/Sessional • Computer Graphics and Pattern Recognition (CSE 4301) • Computer Graphics and Pattern Recognition Lab (CSE 4302) • Compiler Design (CSE 3207) • Compiler Design Lab (CSE 3208)