Tuesday, November 15, 2022

Thoughts on Learning and My Teaching Philosophy


I've been teaching in UPLB since 2002 (that's >20 years already!). I haven't really put into writing my thoughts about learning and my teaching philosophy.  Here are some items (which will be updated from time to time because things happen and change): 

  • Since this is UPLB, I assume that my students are really smart (but some will be "slow"). Of course, some students will be smarter than me. This is one reason I like teaching here.
  • Since I teach Systems subjects, I want my students to work on hands-on activities and experiment (build, break, and rebuild stuff).
  • I don't believe in "learning styles". I believe that students can learn any topic (no matter what their learning styles are) if they really give time and effort to learn the topic. They can always ask for help on difficult topics. Even if I am a boring lecturer, for sure they will learn something.
  • My role is just a facilitator of learning (and possibly a source of inspiration), not the source of knowledge. Students are free to explore other knowledge sources outside the syllabus and the classroom. Using AI Tools is welcome in my classes.
  • I don't tolerate academic dishonesty. It is better for students to fail (then retake the subject) than to cheat in graded activities such as exams. However, I don't police students on this matter. For me policing is a waste of my time. I have  high respect for students who fail because they did not resort to academic dishonesty. Also, a student can just drop the course if he/she is failing rather than resort to academic dishonesty. 
  • High grades matter only if students will apply to grad school or apply for a teaching position after they graduate. Students should aim for the "learning" and "mastery" as well as skills development. High grades will just be an end result in the pursuit of "learning" and "mastery". 
  • Some students are "grade conscious" (or GC) which means they want/beg for a grade of 1.0! If they want high grades, sure I can give it to them as long as they turn in excellent work. This is the reason I give bonus points, though some students don't avail of these bonus points. 
  • Feedback is not just the score students get from graded activities (wrongly termed as "learning assessment"). If students code worked on the given test cases, that is already feedback. If a student wants feedback, he/she needs to talk to me directly during class and consultation hours. The only way I can help "slow" students is if they intentionally ask for my help. Otherwise they are on their own. 
  • Not all students currently taking BSCS are really interested in computing(or a Nerd) . I am biased towards students who are passionate about computing. Thus course materials, difficulty, and delivery are more geared towards challenging these passionate students to the best of my abilities.
  • I want my classes to be "world class", thus I try to adhere to the ACM curriculum recommendations when creating and delivering course content. I also consult course websites of other top universities and incorporate topics and approaches in my syllabus.
  • I try to focus on teaching the fundamentals. However, computing is a rapidly evolving field so I try to teach the state of the art given the resource constraints and bureaucracy.
  • Textbooks are important in my classes. I prefer to use free or open source textbooks. I give paper readings from time to time to encourage students to do research.
  • I encourage students to ask questions, even the simplest or 'stupidest' questions. 
  • I prefer to create videos that are more than 15 minutes. TL;DR/TL;DW is not for me and should not be for my students. I don't want my students to take 'shortcuts'.
  • I want my students to do great work without desiring for my validation.