Current Teaching

  • Spring 2025

    SER516 Software Agility

    Catalog: Focuses on quality software construction principles in an agile community context. Agile methods, open source communities, coding best practices, configuration management, software delivery and building in quality.

    My favorite course to teach as it lies in the intersection of my applied research and modern industry practices. We combine critical inquiry with modern practice in agile methods, lean software engineering, DevOps, MLOps, microservices and more. My students know the meaning of value, flow, DONE, waste, pull, small, and alignment.

  • Spring 2025

    SER321 Principles of Distributed Software Systems

    Catalog: Design and implementation of distributed software components; process and memory management underlying software applications; sockets, protocols, threads, XML, serialization, reflection, security, and events.

    Upper division core course in distributed computing technologies (networks, raw sockets, RPCs, distribuuted objects, HTTP, etc.) and algorithms (consensus building, blockchain, etc.).

  • Fall2024

    SER421 Web Applications

    Catalog: Distributed Web applications, their design, architecture and supporting technologies; user-interaction concepts and technologies; design and implementation of software servers for Web systems

    Students learn the architecture styles of web applications, and construction skills in the browser (vanillaJS and Vue3) and on the server-side (Spring Boot, REST. GraphQL, lambdas)

  • Fall 2024

    SER515 Foundations of Software Engineering

    Catalog: Software engineering overview, with an emphasis on component and service-based architectures, reliability, safety, dependability and software reuse. Introduces software engineering research methods and critical inquiry.

    A required graduate core course for incoming MS in SE students. Lays the foundation of software engineering and reviews best practices of software construction to prepare students for the graduate program

  • Spring 2024

    SER335 Engineering Secure Software Systems

    Catalog: oftware engineering principles applied to securing software systems. Software life cycle processes contextualized to security needs of software. Software requirements analysis and software verification and validation practices for security. Software architecture security assessment. Software engineering organization policies for security, including threat modeling and assessment, vulnerability classification, risk management, and preparing for security audits.

Mentoring and Engagement

  • present 2004

    Industry Project Mentorship

    I have been a faculty mentor for over 50 industry engagement projects, with companies ranging from GM, InfusionSoft, Unicon, General Dynamics, GoDaddy, and PayPal. Many of the projects I solicited early in the Software Enterprise, then for the past 4 years I have mentored and served on the college engagement committee for iProjects (now eProjects).

  • present 2004

    Graduate and Undergraduate Mentorship

    ASU offers the B.S. and M.S. software engineering degree programs, no Ph.D. program. I have chaired 13 thesis students, 50+ graduate culminating experience projects (1 semester applied research), graduate and undergraduate capstone projects, and several undergraduate research opportunities (FURI, Barrett Honors Theses, and independent studies). See my CV for details.

  • 2025 2024

    SUCCESS summer camp

    SUCCESS (A Survey of Computing, Coding, and Engineering Software Systems) is a summer camp I developed and facilitated in 2024 and 2025. The purpose was to reconnect middle and high schoolers with a college campus while introducing computing topics in a fun environment.

  • 2014 2013

    Apereo Unconference

    I was happy to support the hosting of the Apereo open source developer unconferences in January 2013 and 2014 on the Polytechnic campus, and support students attending the event.

  • Spring 2009

    Startup Weekend

    Sponsored a StartupWeekend event where over 60 students and community entrepreneurship volunteers conducted a 3-day weekend to explore technology ideas. As a result, 5 new companies formed, a couple of which survived for several years.