Teaching Approach

I believe that teaching is an opportunity to share the excitement of knowledge with curious minds of students. It can be challenging, as finding the right pitch to capture and attract the minds of a diverse audience is a non-trivial task. Therefore, a teacher should never stop refining and fine-tuning his/her, teaching methods to best fit the new audience. In addition, an immense responsibility comes from being entrusted with a position where your actions as a role model will not only serve to enlighten but has the potential to affect the career choice of the students. I believe that the keys to effective teaching are providing students with simple real-world examples, motivating them to discuss what they have learned, and providing them with opportunities to practice their knowledge. In addition to providing the students with informative and insightful lectures, the instructor should foster an environment in the classroom that promotes question, discussion, and short-term research opportunities. Here I am sketching some of my humble and proactive teaching approaches, which I have been using and reached students successfully in learning engineering aspects in both classes and laboratories.

Strong foundational concepts.

In order to learn advanced techniques in any area of computer science and engineering, I feel that it is of utmost importance for students to have a thorough understanding of foundational concepts in that area. As an academician, I would like to provide students with this solid foundation through three methods: (1) I would like to engage class and laboratory lectures, which are aided with state of the art smart room facilities, animated working principles, and multimedia. (2) when teaching important computer science or programming concept or problems, I would like to use the white-board as much as possible to develop the solution real-time, encouraging students to ask as many questions as possible. (3) I would like to emphasize core concepts by continually revisiting them throughout the semester, via small course projects, lessons, quizzes, and exams.

Effective problem-solving.

Developing techniques for effective problem solving is an important requirement for computer science. I want to teach students the following problem-solving skills: approaching a problem without being intimidated by it, resisting the urge to start solving the problem without a firm understanding of its requirements and winning over a problem by a divide-and-conquer technique. One of my proposed solutions towards achieving this goal is to design homework, assignments and class tutorials that present problems with gradually increasing levels of difficulty, and then employ quizzes and exams to test the learned skills.

Practical applicability.

As a computer science lecturer, I want to arm my students with a keen sense of practical applicability of their classroom material and research. To this end, I would like to (1) equip students with computer science skills indispensable in practice, including strong competence in programming large-scale projects, algorithms, operating systems, networks, and security; (2) design best in class projects that mimic real-world scenarios; (3) involve industry in collaborative research; and (4) ensure that students have a basic awareness of contemporary computer security issues.

Course Projects and Assignments.

I do have enormous evidence that introducing small course projects related to computer/programming problems span across many basic computer subjects, which enabled students with improved practical awareness as well as elevated subject knowledge through short-term research. This will not only help the student to grasp the working concept but also boost the student to carry out researches in the future.

Engaging in interactive lectures.

I strongly believe that engagement is a prerequisite for learning. I want to keep students curious and absorbed by providing them with interesting lectures, homework, and projects. I also want to encourage active class participation for keeping lectures though the live demonstration of concepts using videos, animations within the scope and nature of the concept.

Collaborative work.

I feel discussions are important for reinforcing thrown ideas by lectures and learning to work as a team is an important skill to develop. Collaborative assignments and course projects would give students an excellent means to develop both technical and interpersonal skills. This will surely enable students to work effectively in the industry as well as the place they work in their future.

Professional writing and presentation skills.

I always give training on technical writing and presentation skills so that student can effectively showcase their work in seminars, conferences, and exams. To this end, I want to weave in pieces of fun technical writing and presentation tasks as part of my course plan.

Individual learning and comfort.

To reach students from diverse backgrounds and learning styles, I want to design my courses melding different teaching approaches: lectures, prolific discussions, individual and collaborative activities, research, presentations, and projects. I also want to create a safe classroom environment where individual differences are respected, which I strongly believe is important for active participation and learning.