In my M.Sc. and Ph.D. in computer science graduate studies, I have benefited from the academic
environment of the Concordia University, which has given me a comprehensive exposure to the core areas of
computer science and a strong conceptual understanding of the same. As a result of taking courses with
several excellent teachers and due to my collaboration with science-devoted researchers from both Concordia
University and University College Dublin, I came to see that computer science is profoundly interesting and
valuable for the mankind in its own right.
During the years of my studies at Concordia University, I have been assigned as a teaching assistant and
a teaching fellow to a variety of courses from computer science. During the years of my teaching, I have strived to be
focused on improving my teaching skills by learning from both my professors and my students. All of this helped me to develop
my philosophy of teaching as inspired by my understanding of the nature of computer science. Besides being a body of knowledge,
computer science is a set of skills and a way of thinking that students best learn by solving problems and asking
questions. As a result, I feel that lectures should be able to explain high-level concepts to help students grasp the
needed foundation and low-level details should be explained and illuminated through assignments. Because assigned
problems are crucial to education, instructors should take care to create and select problems that achieve the goals
of the lesson. Furthermore, instructors should provide students with the opportunity to discuss assignments with them.
Since students rely heavily on problem sets for learning, an instructor has the responsibility of providing quality feedback
on graded assignments.
I believe that teaching style and presentation have a great influence upon student motivation and ability to absorb
the content of course material. I have found that students become more actively engaged when course material is presented
interactively – this is particularly true in graduate-level courses and seminars. Here, a relative aspect of my teaching style is
that I recognize that on many occasions there is no single correct answer to a particular problem. There have been numerous
times in my classroom, when my response to a student question is “It depends!”. We then discuss, of course, what criteria
should be used to select the best solution from the alternatives. I believe that it’s important to convey to students that the
logical evaluation process is critical to developing good problem-solving skills.
To summarize, teaching computer science is challenging, because this is an area where underlying theory and
applications are not always tightly coupled and both are rapidly advancing. Hence, my goal is to teach students how to discover
answers and learn on their own, thus giving them capabilities to become professionals in computer science.