I currently teach courses in web development, mobile application development, programming, and architecture.

Past Courses

Past Courses (TA)

Other Courses Designed

Teaching Philosophy

As a teacher, my goal is to help students approach computer and information sciences as more than just programming, but as the study of processes that people use to solve problems. Learning computer science requires developing and mastering such problem-solving techniques---in particular, the skill of solving problems through constant questioning and testing. Students must repeatedly ask questions such as: "What is the next line of code?" "Will this algorithm help solve my problem?" "Why does the system behave this way?" "How does this technology influence the world around it?" and then seek out the answers in order to construct an understanding of computer systems. My teaching philosophy centers on helping students to develop a questioning attitude and apply it as an approach to solving problems throughout their careers. I aim to help students practice asking questions that allow them to learn how to learn.

See more in my teaching philosophy.