Teaching Philosophy
Read my full Teaching Experience
My objective in the classroom is to encourage each student’s unique passions and goals to drive their learning process. To achieve this, I use experiential learning, when applicable. I promote active learning by engaging students and involving them in a dialogue with me and their peers. The infomration technology and engineering field is particularly well suited for this because it has always been shaped by change. The current engineering landscape is reshaped by advancements in our field as well as various approaches to technology commercialization and impact on society and our environment. Today’s students are more than ever aware of the changes occurring globally, and it is encouraging to see them feel more empowered to use their education to make a positive impact.
In my experience as a software developer, I was exposed to many technologies and engineering techniques. As a researcher, I have embraced interdisciplinary collaboration where I learn from colleagues in different disciplines. I often use this knowledge in class as it gives me a unique opportunity to provide students with practical, relatable, and motivating examples on the course’s material. The rate of development and the availability of engineering tools is so high that today’s students come to the classroom with information from secondary sources. My job as an educator is to propel students forward in their interests and encourage self-guided learning while providing the foundational knowledge for a successful career in engineering. A growing number of computer science and engineering graduates are interested in entrepreneurship or continue their studies in different social sciences and humanities. It has long been recognized that executives with an engineering background provide a perspective in the boardroom that is invaluable to their company’s growth. My own experience as the sole engineering student at social service workshops gave me a unique perspective on continued learning. Whether students choose research, industry, public service, or entrepreneurship, I aim to encourage their love of learning.
It is often difficult to find a teaching style that benefits everyone, so I rely on two key strategies. First, I begin each class by providing an agenda outlining what will be covered that day. This lets students know they need to pay special attention if they do not feel comfortable with a particular topic. It also lets student gauge how far along in the class we are, creating a mental marker which keeps the students oriented between topics. Second, I engage students to promote active learning through interaction, relevant examples, and open discussions that encourage participation from all students, especially those who do not participate or are struggling. To ensure engagement from as many students as possible, I ask questions and make sure the same students do not answer them, as it discourages others from actively participating in the class. Often, I will deconstruct a complex concept into multiple more straightforward questions and ask students who do not. I then continue asking the class until together they reach the final answer. This approach also encourages discussions when the wrong answer is given. I may provide examples when their response might be correct as to not discourage them. I then solicit answers from others. I find that students try to help each other by joining in the conversation.
Adapting the content of a lecture to the students’ individual strengths is not simply a matter of adjusting the curriculum. A deep understanding of the content is required to know which parts can be modified and which cannot. Students sometimes focus less on sections of the curriculum they view as out of date or not relevant to their “planned” career path. To keep students engaged, I strive to make course material and content relevant while still teaching foundational knowledge. For example, I taught two semesters of CPS125 “Digital Computation and Programming” in the Computer Science department at Ryerson University, a fundamentals course covering the basics of computer architecture and programming using the C programming language to engineering students. Many students assumed that they would only work with higher-level languages, mathematical software like MATLAB or that they do not need to know low-level calculations, such as binary-to-decimal conversion. To motivate them, I explained that C was used to write many of the compilers and libraries they use, including MATLAB, reminded them of the speed benefits of first-generation languages like C and that they would need such languages to expand the tools they use. I also referenced newer modelling techniques for their projects which were not explicitly referenced in the course’s syllabus. I provided a brief introduction to object-oriented design to help them comprehend the concepts, relating it back to how software is designed today. For three semesters, I was a Teaching Assistant for MIE350 “Design and Analysis of Information Systems” in the Mechanical and Industrial Engineering department at the University of Toronto. Students possessed various levels of programming knowledge and experience. I adjusted each tutorial to cover topics students wanted to focus on next class.
I rate my successes on how well students performed in my course, the types of questions they ask, and their reviews. Often my reviews will mention that I adjust my teaching style and content for the students. This was especially applicable during my MIE350 tutorials, where I assured the students I was there to help them with whatever they needed. During three semesters teaching CXCP685 “PHP/MySQL Web Design Fundamentals,” my reviews were also positive. I successfully adjusted my teaching style to a heterogeneous group of students, ranging in age, career background, and abilities.
As an educator, I am determined that each student leaves each class with the tools and the motivation to dive deeper into topics they find especially interesting. In the before-mentioned CPS125 course, I briefly covered object-oriented design to demonstrate how to implement a C structure. I encouraged the students to think of the best way to design a C structure using this design pattern and made myself available to any questions they had. I was careful to avoid more in-depth topics not required by the course and focus on content that helped them better grasp the necessary material and relate it to current modelling techniques and industry standards.
To engage students, I will use any teaching aids available to me. For specific programming topics in CPS125 lectures and MIE350 tutorials, instead of slides, it was beneficial to write code live in front of the students and discuss the appropriate choices, such as when to use different loop constructs. When covering binary conversion and algebra on real numbers in CPS125, I found a source online from another university that explained the required calculation better than the standard slides I was provided by the course coordinator. This allowed the students to review the calculations after class and practice using the provided examples and online tool. I found the students reacted better to the external content and were more engaged with a live calculator to verify my calculations during class on the board.
The opportunity to share knowledge and exchange ideas with students, and provide direction has been incredibly rewarding. These experiences taught me how to keep my class’s attention and curiosity at a level required for active listening.