Teaching
I currently teach courses in web development, mobile application development, programming, and architecture.
Current Courses (Autumn 2017)
Past Courses
- Info 448: Android Development, UW iSchool, Spring 2017
- Infx 598: Introduction to Programming for Data Science and Visualization, UW iSchool, Spring 2017
- Info 201: Technical Foundations of Informatics, UW iSchool, Winter 2017
- Info 498: Software Architecture, UW iSchool, Winter 2017
- Info 343a/b: Client-Side Web Development, UW iSchool, Autumn 2017
- Info 343: Client-Side Web Develoment, UW iSchool, Summer 2016
- Info 498: Mobile Application Development - Android, UW iSchool, Spring 2016
- Infx 598: Programming for Data Science and Visualization, UW iSchool, Spring 2016
- Info 498: Mobile Application Development - Android, UW iSchool, Winter 2016
- Info 498 E: Software Architecture: Analysis and Applications, UW iSchool, Winter 2016
- Info 343b/d: Client-Side Web Development, UW iSchool, Autumn 2015.
- CSCI 161a/b: Intro to Computer Science, Puget Sound, Spring 2015.
- CSCI 261: Computer Science II, Puget Sound, Fall 2014.
- CSCI 240: Software Engineering, Puget Sound, Fall 2014.
- CSCI 315: Computer Graphics, Puget Sound, Fall 2014.
- CSCI 261: Computer Science II, Puget Sound, Spring 2014.
- MA 210: Intro to Mathematics of Computer Science, Puget Sound, Spring 2014.
- CSCI 161: Intro to Computer Science, Puget Sound, Fall 2013.
- CSCI 240: Software Engineering, Puget Sound, Fall 2013.
- CSCI 315: Computer Graphics, Puget Sound, Fall 2013.
- CSCI 161: Intro to Computer Science, Puget Sound, Spring 2013.
- CSCI 261: Computer Science II, Puget Sound, Spring 2013.
- CSCI 440: Capstone in Computer Science, Puget Sound, Spring 2013.
- CSCI 161b: Intro to Computer Science, Puget Sound, Fall 2012.
- CSCI 161c: Intro to Computer Science, Puget Sound, Fall 2012.
- CSCI 240: Software Engineering, Puget Sound, Fall 2012.
- ICS 139w: Critical Writing, UCI, Summer II 2011.
Guest Lectures
- Serious Games and Gamification. Fall 2011.
- Pervasive and Mobile Game Technologies. Spring 2011.
- Persuading Using Pervasive Games. Fall 2010.
Past Courses (TA)
- INF 42: Informatics Core II, UCI, Winter 2012.
- ICS 139w: Critical Writing, UCI, Summer I 2011.
- ICS 62: Game Technologies and Interactive Media, UCI, Spring 2011.
- ICS 139w: Critical Writing, UCI, Summer II 2010.
- INF 162w: Organizational Information Systems, UCI, Winter 2010.
- INF 161: Social Analysis of Computerization, UCI, Fall 2009.
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.