Teaching Statement

Throughout my career as a software engineer, I’ve had many influential teachers who instilled in me a sense of discipline, precision, and creativity. My goal as a teacher is to pass on these lessons to students through computer science courses.

My first teaching experience was tutoring math in high school. One student struggled due to procrastination, while the other, a motivated learner, wanted to deepen his understanding. From this, I learned the importance of adapting my teaching to each student's needs.

In the 1980s, I began teaching C/C++ programming at IBM. I created a 10-day course for engineers transitioning to C-based programming. Despite initial challenges, I refined my lessons to anticipate students' difficulties and improve my teaching materials. My notes became the foundation for C instruction on the IBM site and were adopted by other instructors.

For several years before my retirement in 2021, I mentored high school students and UT Honors Scholars at the UT Applied Research Lab, focusing on software-specific acoustics projects.

My Teaching Philosophy

  1. I will provide downloadable notes for each topic, which students should read before class.
  2. Classes will mix lectures, problem-solving, and discussions on the course project.
  3. I will set clear expectations on the first day, including the course schedule, grading policy, and contact details.
  4. Students will be graded weekly, with feedback on performance to avoid surprises at the end of the semester.
  5. Grading will be determined by homework (20%), tests (30%), and optionally a final project (50%), or in accordance with departmental policy.