The Three Statements Of My Teaching Philosophy
In general I believe that an effective teacher must have a thorough understanding of the subject she/he teaches, as well as underlying pedagogical theories. A teacher must be able to make good selections about what to teach and how to structure and organize the material, or what’s the best way to present the material to the students. I also believe that the best learning comes from practice together with individual desire to develop a strong theoretical foundation.
“Best Learning Comes From Practice”
Whenever there is a new member joining the team, I am always asking myself the same question: what is the best way for she/he to get familiar with the code, the debugging environment and the business logic? I don’t want just give new team member a set of documents and let them digging into the detail. In another word, I don’t want them spending a lot of time just reading and gathering all the information all over the place. Usually I will spend couple hours explaining the overall business to her/him so she/he has the general business sense which helps her/him understanding the actual code. Then I will assign him a mentor, usually a senior member of the team, who will help her/him setting up a debugging environment on her/his local machine. Then it is up to this individual to really get into the detail of the code (setting up the debugging points, step into actual function to understanding the logic etc. ).
Once this individual understands the code, I will assign real tasks for her/him to solve, typically starting from a small task which does not affect the core business. The whole process implemented here within my team focuses a lot on learning from practice and I do see the new team member adapts to this concept very well. After years of learning from practice, some of the team members have been growing dramatically so she/he is able to become Software Architect within my team. When it comes to teaching student in the classroom I firmly believe the same concept could yield positive results. Students need practice to attain fluency and become academic successful, and practice will cultivate their interest to dedicated problem as well.
“Teaching Students According to Their Aptitude”
Each team member’s technical foundation is different when they join my team and they also have different personality. As the leader/coach, I design different learning strategy for each of them. Some team members are very good at going deep into certain areas of technology solution while others maybe more interested in company business logic. For those who have enthusiasm on technology, I will train them to research technical difficulties. While for a team member who show great interests in learning business logic of the system it is better to do more tickets implementation on the system.
I believe we should apply the same concept in the classroom. As a teacher, I believe that students should develop a strong theoretical foundation. A journey of a thousand miles begins with a single step and Rome was not built in one day, it is extreme important that students have the very basic concepts of computer science (computer system, mathematics knowledge, operation system and compiler theory etc. ). With the foundation built, I will layer according to the students’ mastering to the basic knowledge and adjust the teaching contents and methods for different layers of students and arrange the teaching in a targeted way, in which way, all levels of students can make progress, so as to achieve a good teaching results.
“Industry Experience Is a Plus”
As a long time professional in the IT industry, I understand the latest technology widely used by the companies and I can share my real-world experience with students. My firsthand knowledge of how technologies are created, prototyped, and ultimately implemented, which is of practical significance that I will share with students.