Experience
Education
Bio
Dr. Gehringer received his Ph.D. degree in Computer Sciences from Purdue University in 1979. His Ph.D. work was an attempt to measure the performance effects of capability-based operating systems, which were a class of operating systems to address the emerging problem of computer security. From 1979 to 1981, he was a Research Associate in the Computer Science Department at Carnegie-Mellon University, working on the distributed Cm* multiprocessor and its StarOS operating system. He is the lead author of the book written about the Cm* project. In 1981, he held a Fulbright Postdoctoral Research Fellowship at Monash University's main Clayton campus in Melbourne, Australia. He worked on the Monads project, which was an architecture and operating system providing support for modularization, information hiding, and other good software-engineering principles. Returning to Carnegie-Mellon in 1982, he became a Lecturer in Computer Science, teaching the sophomore-level Fundamental Structures of Computer Science course, as well as Operating Systems and Comparative Programming Languages. During this time, he also began working with future Eckert-Mauchly Award winner Bob Colwell on analyzing the Intel 432 architecture. Moving to NC State University in 1984 with a primary appointment in ECE and a joint appointment in Computer Science, he worked with the B-Hive multiprocessor, which was built on an unusual generalized-hypercube topology. In 1987, he established the first NCSU course in object-oriented languages and systems, which later became CSC/ECE 517. During this time, he was also teaching Operating Systems and the course that later became Architecture of Parallel Computers. In the 1990s, he turned his attention to hardware-assisted memory management, and also garbage collection, devising a series of architectural mechanisms and co-processors to speed up automatic memory management. He also began teaching the Computer Science department's Ethics in Computing course, and in 1996, originated the Ethics in Computing Web site ethics.csc.ncsu.edu, which later became Google's top hit for "Ethics in Computing." During the next decade, his primary appointment shifted to Computer Science, but he continues to teach cross-listed computer-architecture courses that have a large ECE enrollment. He also began projects in computer-supported peer review that he used in his classes and offered to other instructors. In time, they were used by thousands of students in about 20 schools. Improving the technology for this form of collaborative work has now become his main research focus. He also organized many educational workshops, such as the Workshop on Computer Architecture Education, and the OOPSLA/SPLASH Educators' Symposium.