Mathematics & Computer Science
Associate Professor of Computer Science
B.S., Loyola University
M.S., Ph.D., Northeastern University
In 1978, I received a Ph.D. in Mathematics in the field of Algebraic Topology. Prior to graduate school, I served in the Peace Corps in Kenya, East Africa teaching mathematics, physics, chemistry and English. After graduate school, I taught at the University of Wisconsin at La Crosse. I came to Muhlenberg College in 1983 to teach computer science. My background in computer science has been supplemented by attending many National Science Foundation sponsored faculty summer programs.
In 1991 I published Ada Minimanual (McGraw Hill), a manual for learning the programming language Ada. A second edition was published in 1997.
I teach a wide variety of computer science courses. My favorite courses are Operating Systems, Computer Organization, Networks, Web Programming, Database Systems and Compiler Design.
My goal in all classes is to pair the theoretical material with challenging programming projects that illustrate how the theory is put into practice. Projects are the key elements of a course. I assign projects that use computer science theory and incorporate modern languages, tools and techniques. In this way, I ensure that students are well grounded in the fundamental concepts of computer science while preparing them for careers after college.
Scholarly Activity and Interests
My scholarly interests are in parallel programming and network protocols.
Parallel programming is about distributing the execution of a computer program over many computers. The reason for doing this is to solve problems faster. At Muhlenberg we have a collection of networked computers (known as a Beowulf Cluster) that is used to study and benchmark parallel algorithms.
One networking protocol problem that intrigues me is the implementation of priorities for data packets in the Internet. Packets carrying real time video or voice need to reach their destination in a more timely fashion than packets carrying emails. How to give video and voice a higher priority is an important current research issue.
Within the profession, I am an Associate Editor of the Journal of the Consortium for Computing Sciences in Colleges. In addition, I am on the steering committee of the yearly CCSC - Eastern Region computer science conference.