An important part of why I became an academic is to teach. I’ve had (and continue to have) the opportunity to interact with many wonderful students.

My objective as a teacher is help my students become independent thinkers with three core proficiencies:

  • the ability to “think like a computer scientist” and rigorously analyze problems,
  • the capacity to draw upon fundamental concepts in computer science to conceptualize and implement working solutions,
  • the capability to clearly communicate results and ideas (both written and oral).

Regardless of their eventual career choice, I believe these skills will remain relevant to students long after they have left my classroom.

Teaching Awards

  • Annual Teaching Excellence Award and Honor Roll, NUS, 2023/24
  • Annual Teaching Excellence Award, NUS, 2020/21
  • Annual Teaching Excellence Award, NUS, 2019/20
  • Faculty Teaching Excellence Award and Honor Roll, School of Computing, 2019/20
  • Faculty Teaching Excellence Award, School of Computing, 2018/19
  • Faculty Teaching Excellence Award, School of Computing, 2017/18


Over the past three years, I have developed and taught four courses at the core undergraduate level (CS2040/S - Data Structures and Algorithms, CS3264 - Foundations of Machine Learning) and graduate level (CS5340 - Uncertainty Modeling in AI, CS6281 - Human-Centered AI) and an advanced topics course on Human-Robot Interaction (CS6244).

My principal methodology is one of engagement and active learning, i.e., challenging students in an environment where they feel comfortable questioning, discussing, and developing ideas. To maintain student engagement, I try to provide sufficient motivation— why students should pay attention — and opportunities for in-class interaction.

A second critical element is proper scaffolding, i.e., matching material complexity to initial student capability and then increasing depth as concepts are learned. This prevents disengagement caused by boredom (when the material is too simple) or frustration (when it is too difficult). Feedback from students is important to guide this process; in my courses, students provided feedback via online surveys and quizzes. When done correctly, this approach engages and stretches minds, as recognized by students:

Amazing lecturer, interesting problem sets … lectures are fun and generally it feels like only 30 minutes has gone past when actually 1h 30min has gone by.” – Anonymous Student

and faculty peer-reviewers:

There was constant student engagement during the lecture, despite the difficult concepts… The constant and well-timed quizzes allowed the class to stay engaged throughout, and many students stayed after the class to ask deeper questions.” - Anonymous Peer-Reviewer

Personally, teaching has been a rewarding learning journey and I look forward to seeing more of what it has to offer.

Research Supervision

Research supervision at NUS has been fulfilling. I currently supervise a number PhD students and I actively participate as a supervisor for FYP and UROP projects. Unlike coursework, research is characterized by uncertainty and even doing everything “right” doesn’t necessarily lead to a positive result. As such, research can be frustrating for students.

My focus is on teaching my students proper methodology and to manage research risk. I scaffold their initial development, and supervise them closely in their first year; we meet weekly to discuss goals and action items, and I trust them to put in effort to meet these targets. Importantly, these meetings do not comprise me instructing them exactly what to do. Whenever possible, I refrain from providing explicit solutions (even though it can be very hard to do so!).

My students and I adopt a problem-solving stance and collaborate to derive next action steps. We discuss advantages and limitations of different approaches, and key risks. These meetings takes a significant amount of time, but is helpful to promote learning. Initially, I often find it necessary to provide more input. But time progress, the meetings become much more student-driven. I share this overall plan when we first discuss supervision; I let them know that:

my goal is that by the time you graduate, you are capable of independently driving your own research.

Thus far, this approach has led to my students performing well. Many of them have won department Research Achievement Awards; these prizes are granted for outstanding research performance over a one-year period. One UROP student was awarded the NUS Outstanding Undergraduate Researcher Prize in 2020 for his work on robots that can learn to collaborate. Awards aside, all my students aim to perform great reproducible research and publish in the world’s best venues.

I’m especially excited to see my senior PhD students actively exploring ideas that they conceived and developed. I continue to provide input and guidance, but the students are driving their own research ideas. It is heartening to see how much they have developed since their first year and I fully expect them to graduate as independent scientists.