top of page

Teaching

Teaching is one of the most gratifying aspects of a Professor's life, helping shape the minds of future generations. My courses typically integrate some of the latest research, are highly interactive, and always incorporate a practical angle. The goal is to learn the foundations and to explore practical items that fit on a resume and can make the difference between being hired or not. I regularly shake up my courses, finding new ways of teaching the materials; sometimes this leads to a publication. 

Courses I Teach

The move to Canvas as the course management system at UC Irvine has meant that the materials associated with these courses are only accessible to students who are enrolled and faculty colleagues at UC Irvine. If you are interested in learning more about any of these courses, please contact me and I will happily share my slides, assignments, and so on,

INF 121

Software Design I. Introduction to application design: designing the overall functionality of a software application. Topics include general design theory, software design theory, and software architecture. Includes practice in designing and case studies of existing designs.

INF 190/295

Climate XR. Project-based course exploring how virtual and augmented reality can serve as a conduit to learn about and address the climate crisis. Interdisciplinary student teams develop a project theme, create a detailed design vision, and implement a prototype.

SWE 234

Human Aspects of Software Engineering. Selected topics about the cooperative and human aspects of software engineering from the perspective that software engineering is inherently an endeavor involving human stakeholders. Topics may include but are not limited to collaboration, trust, emotion, language, gender, and software tools.

SWE 265P

Reverse Engineering and Modeling. Introduces theories, concepts, representations, techniques, and case studies in understanding large-scale, complex software systems. Topics include static and dynamic modeling notations, manual and (semi-)automated reverse engineering techniques, APIs, patterns, and styles. A significant, hands-on project is included.

bottom of page