I entered this school in August 1997 and mainly taught courses in mathematics, information technology, and programming. In terms of mathematics, I taught calculus courses for the college of science, engineering, and electrical and computer engineering. As for information technology courses, I taught data structures, internet programming, programming projects for the undergraduate program in the department of applied mathematics, and advanced programming for graduate students. Although mathematics and information technology courses may not have direct correlation, the foundation of these courses is based on “logical thinking and structure.” Therefore, my teaching philosophy emphasizes on how to enable students to think independently and critically, especially in logical thinking. During the teaching process, whether in mathematics or information technology courses, I often discuss with students why certain mathematical theorems or formulas exist, why certain computer programming languages are written in a particular way, why certain data structures are designed in a particular way, why a web application can be converted into a mobile app, etc. Because only when students truly understand the cause-and-effect relationship, relevance, and logical thinking, they can integrate the professional knowledge of mathematics, information technology, and programming, and apply what they learn in the workplace after graduation. Furthermore, they will have the ability to think independently and learn on their own in the workplace. On the contrary, if students only memorize mathematical formulas or programming languages for exams, they will not be able to apply what they learn in school in the workplace after graduation, and their competitiveness in the industry will be hindered. This has been the core teaching philosophy and experience I have gained in the past 25 years of teaching at this school.