I usually teach one course a semester. These courses focus on different aspects of human-centered sensing, machine learning, and AI. These courses are designed to be broad and do not go deep into a single technical topic. I have designed these courses to provide students with an end-to-end, broad view of the technology landscape. In the past I have also taught courses to guide beginner programmers with best software engineering practices, and several seminar courses.