At CityU HK, I teach fundamental CS courses such as introduction to computer studies and web development. When I was a Ph.D. student at university of Maryland, I also taught advanced courses focusing on interaction design. As a HCI researcher, I tend to integrate principles of design and user studies into my lectures as a way to broaden students' perspectives on computer science and cultivate a human-centric mindset.

Here is one of my 10-min teaching demos on Personal Data Visualization (Oct 2021, University of Maryland).

CS2204 Fundamentals of Internet Applications Development [Syllabus]

Instructor; Undergraduate level; 3 credits

Department of Computer Science, City University of Hong Kong

This course aims at providing the fundamental skills in programming Internet applications. Upon completion, students should be able to (1) be familiar with the development of WEB programming; (2) write web pages with the Extensible HyperText Markup Language (XHTML) and Cascading Style Sheet (CSS); (3) write dynamic web pages using scripting; and (4) write a basic client-side web-based application.

CS1102 Introduction to Computer Studies [Syllabus]

Instructor; Undergraduate level; 3 credits; Co-teaching with Dr. Howard Leung

Department of Computer Science, City University of Hong Kong

This course is intended for non-CS major students who are interested in learning about CS-related topics, concepts, and skills. No prior programming or computer science experience is required. In this course, students are introduced to software tools, web content scripting and basic computer programming.

At the end of this course, you will be able to (1) describe the basic principles of computer systems, networks, Internet and information security; (2) inquire and evaluate the social, ethical, and safety issues of emerging technologies and innovations; (3) demonstrate the use of software tools and the ability to write simple programs using a scripting language; (4) apply basic programming concepts to develop simple computer programs.

INST 408D Special Topics: Designing Patient-Centered Technologies [Syllabus]

Instructor; Undergraduate level; Elective; 3 credits

College of Information Studies, University of Maryland

Project prototype: Snooze (group 1) and Recenter (group 4)
Project prototype: VacciTrac (group 2) and Tranquility (group 5)
Project prototype: HealthyU (group 3) and Clockout (group 6)
In-class activity: "Everyday Flossing"
In-class activity: "Draw Your Pulse"
In-class activity: "Designing Technology for Vulnerable Populations"


This course is a combination of group project, lecture, and seminar, covering a series of topics in Human-Computer Interaction (HCI) and Health Informatics, including design thinking, qualitative analysis, self-monitoring, health information visualization, clinician-patient communication, and patient engagement, etc.

Due to COVID-19, the course was devliered online. Each week, I provided a pre-recorded lecture and assigned related papers of the topic background. During the remote interaction sessions, students were engaged in seminar discussions and design exercise: they had a chance to pitch ideas, collaborate with team members, and work on an interesting project over the course of 16 weeks. Following the spirit of human-centered design, we also spent part of the class time on brainstorming, providing critique, and sharing feedback.

The aims of this course are to help students understand the unique challenges for designing patient-centered technologies, be aware of different types of digital health technologies currently available or being researched, and apply appropriate methods to design and evaluate patient-centered technologies.