I teach courses in which teams of students develop software for non-profits, government organizations, early stage startups, and established companies.