- 2021. Spring term. Natural Language Processing (2 hours × 8 weeks). Westlake University. Graduate course.
- 2020, 2021. Spring term. Machine Learning (3 hours × 4 weeks). Westlake University. Graduate course.
- 2019, 2020, 2021. Autumn term. Academic English Writing (co-teaching, 2 hours × 3-4 weeks). Westlake University. Graduate course.
- 2019. Autumn term. Data Structure and Algorithm (co-teaching, 3 hours × 4 weeks). Westlake University. Graduate course.
- 2016, 15, 14. Jul. Invited summer lecture series: Statistical Natural Language Processing (Harbin Institute of Technology, China).
- 2016, 15. Spring and summer terms. Teaching the Capstone Projects course for final year undergraduate students (SUTD).
- 2016. Jul. Invited summer lecture series: Statistical Natural Language Processing (Zhengzhou University, China).
- 2015, 14, 13. Spring term. Teaching the sophomore course the Digital World (SUTD).[Lecture Notes]
- 2017, 16, 15, 14, 13. Fall term. Teaching (lead) the pillar course Computation Structures (ISTD/SUTD). 2015, 14. Jul. Invited summer lecture series: Statistical Natural Language Processing (Harbin Institute of Technology, China).
- 2013. Aug. Invited summer lecture series: Python and Computer Programming (Heilongjiang In- stitute of Technology, China).
- 2013, 12. Teaching the undergraduate summer lecture series on advanced Java programming (SUTD).
- 2011. Undergraduate supervisor for C/C++ (University of Cambridge).
- 2011. Practical demonstrator for Statistical Machine Translation (University of Cambridge).
- 2011, 10. Undergraduate thesis supervisor (University of Cambridge).
- 2010. Undergraduate supervisor for Natural Language Processing (University of Cambridge).
- 2008. Class tutor for Advanced Topics in Natural Language Processing (University of Oxford).
- 2007, 06. Teaching assistant for Introduction to Specification (University of Oxford).