Teaching

Learning through Structure, Practice and Reflection

My teaching focuses on helping students build accurate mental models, connect theory with implementation and become thoughtful software engineers.

Teaching philosophy

Make Abstractions Observable

Students learn advanced programming concepts more effectively when the underlying structure is visible. I therefore combine explicit models, worked examples, carefully staged exercises and frequent feedback. My courses emphasise reasoning about program behaviour rather than memorising syntax.

  • ClarityExplain the purpose of an abstraction before introducing its mechanics.
  • PracticeMove from guided examples to independent implementation and design.
  • FeedbackUse labs, checkpoints and formative assessment to reveal misconceptions early.

Teaching history

Courses

A chronological overview of current and previous teaching responsibilities at NUS.

Highlighted courses are ones where I did not deliver lectures; the tag shows the format I taught.

AY 2026/27 Sem1

Lecturer - Department of Electrical and Computer Engineering, NUS

  • CS2030DE Programming Methodology II
  • EE2211 Introduction to Machine Learning Tutorials only
  • CEG5206 Algorithms & Performance Optimization for Computing
AY 2025/26 Sem2

Lecturer - Department of Electrical and Computer Engineering, NUS

  • CS2030DE Programming Methodology II
  • CS2103DE Software Engineering
AY 2025/26 Sem1

Lecturer - Department of Electrical and Computer Engineering, NUS

  • CS2030DE Programming Methodology II
  • CEG5206 Algorithms & Performance Optimization for Computing
  • EE2211 Introduction to Machine Learning Tutorials only
AY 2024/25 Sem2

Lecturer - Department of Electrical and Computer Engineering, NUS

  • CS2030DE Programming Methodology II
  • CS2103DE Software Engineering
AY 2024/25 Sem1

Lecturer - Department of Electrical and Computer Engineering, NUS

  • CS2030DE Programming Methodology II
Graduate years

Teaching Assistant - Department of Computer Science, NUS

  • CS1231S Discrete Structures Tutorials only
  • CS2040S Data Structures and Algorithms Recitations
  • CS3244 Machine Learning Tutorials only

Student Projects and Supervision

I supervise capstone and final-year projects involving Machine Learning, Computer Vision, Software engineering and Applied AI, with attention to requirements, architecture, testing, documentation and responsible use of machine learning.