Professor Richards holds B.A. degrees in Physics and Computer Science, an M.Sc. in Computer Science, and earned his Ph.D. in Computer Science from the University of Wisconsin — Madison, where his research was on custom memory-system support for distributed shared-memory parallel computers. In addition to his continuing work on parallel and distributed computing, Dr. Richards is active in Computer Science education, having authored numerous papers on pedagogy and curricular issues. Professor Richards has been teaching at Puget Sound since 2005.