Courses Currently Teaching

ENG 100-650: Gaming for the Greater Good

During the first part of the course, each student will learn fundamental programming skills, such as language syntax, sequential and concurrent execution, iterative and alternative commands, and event-driven execution. These lessons will be taught in the context of 1-2 Object-Oriented languages. In the second part of the course, each team of students will create a computer game using their newly acquired programming skills. The game, however, must have some form of social relevance. As examples, the game might help a child with a cognitive or physical disability such as Cerebral Palsy or Autism Spectrum Disorder. The overall goal of the course is to integrate the games that are developed into the therapy and assessment laboratories at C.S. Mott Children’s Hospital.

More info:

EECS 495: Accessible Software Systems Design

Using established software development methodology, build software system that combines new technology and also addresses disability or illness. Gain understanding and empathy for existing software/device approaches for accessibility. Frequently work with UM-affiliated hospital and/or specific disabled customer. Emphasis given to team-based development of large, complex, software system.

This video is an example of projects from the class.

Courses Previously Taught

EECS 183: Elementary Programming Concepts

EECS 203: Discrete Math

EECS 270: Computer Organization

EECS 280: Programming and Data Structures

EECS 281: Data Structures and Algorithms

EECS 481: Software Engineering

EECS 496: Major Design Experience, Professionalism

EECS 497: Major Design Projects

Media Links Related to Courses Taught

Projects from some of my recent courses have been highlighted in the media. Here are some examples.