Teaching Statement

The opportunity to influence future generations and to stay close to young and soon to be professionals are one of my personal motivating factors. My academic and professional background as an international technology transfer consultant make me well prepared to teach both introductory courses in computer science and software engineering, as well as advanced topics in software engineering, data structures, algorithms, operating systems, distributed systems, artificial intelligence, data bases, software quality assurance, and professional practices in computing.

I have completed two courses on teaching for the undergraduate and graduate levels at University of Ottawa. I have participated in numerous workshops and sessions that contributed to my understanding of the theory of learning and the practice of teaching.  My teaching experiences fall under two categories, academic teaching and professional training delivery.

I have taught undergraduate courses at three institutions. Most recently, I have taught undergraduate courses at University of Ottawa. In one course, I had more than 65 students at their second year. I have deployed the cutting edge and innovative technologies, whenever possible, in my classes. For example, I have used iClicker in my class to facilitate real-time feedback from students. I have also deployed multimedia technologies to facilitate assignments and grading. I have collaborated with instructors at the Psychology department who have better experience in assessing the effectiveness of exams and questions. For example, I have made sure that my exams have satisfactory ‘differentiating factors’.

Professionally, I have developed a 5-day industrial workshop on model driven development. The intended audience were software engineers and project managers interested in adopting model driven software development methodologies. I have delivered the workshop to IBM labs and clients in 18 countries around the globe representing 7 different languages and spanning four continents. This experience has exposed me to some of the professional practices in training delivery. I have completed a number of professional training courses such as train the trainer, team building, and communication and collaborative training. Most importantly, I experienced different modes of learning which I found valuable in my academic and teaching career.

I am particularly interested in teaching in the following topics:

  • Programming languages and programming paradigms.
  • Software quality assurance.
  • Introductory to computing for non-science students.
  • Business Process Management.
  • Requirement engineering
  • Software construction and design.
  • Software engineering.
  • Data bases.
  • Operating systems.
  • Networking and data communications.

My strategy in teaching is influenced by my academic and professional backgrounds. In particular, I strongly believe in hands-on learning and problems-based learning. Both techniques foster student involvement and participation in class. I also believe in the importance of capturing students interests in the topic by relating to current and latest technologies that the students are most likely already aware of.

My research background, as outlined in my research statement, motivates me to teach particularly software engineering courses. As a matter of fact, the research tool I developed in my PhD is being used in teaching UML and software engineering courses at the University of Ottawa to date.

Wikis and Blogs

I have used Wikis and Blogs as part of my teaching tools. I have learned that allowing anonymous contributions from students is very valuable. I post blogs and solicit opinions about grading scheme, midterms and exams, quizzes, etc. I try to incite participation from students whenever possible. I have learned that giving points to encourage contribution is actually counter productive. Students will contribute just for the sake of the points. When contribution is anonymous, I received much valuable and insightful feedback. I encourage students to post problems they face on the blog page and I ask my TAs to review the blogs and contribute by answering questions whenever possible. My experience tells me that fellow students are sometimes able to answer questions much better than I or the TAs could do.

Blackboard and virtual campus systems

Online education systems are key in enhancing the efficiency of submitting assignments and grading assignments. Recently, these educational systems have improved to support uploading content and providing support for wikis and blogs. I have consistently used such technologies to their fullest. Students feedback that I have collected over the year gives strong support for such educational tools.


Since 2010, I have volunteered to teach high school students in Ontario, Canada for a one full week. The objective of the one week course is to motivate interest in science and engineering. I have used the mysteries of Great Pyramids of Giza to grab students’ interest to explore the mathematical and engineering behind the construction of the pyramids. The course has an innovative approach and has consistently received outstanding evaluations.

Cumulative Academic Teaching Evaluation 

Please contact me for a report on my accumulative teaching evaluation.

Posts related to my views on teaching:

– Blackboard Learning system. The Good and the Bad.