Robert M. Dondero, Ph.D.

Robert M. Dondero, Ph.D.

About Me

I arrived at Princeton University in 2001. Prior to that I earned a Bachelor of Arts degree in Mathematics and Computer Science from La Salle University, and a Master of Science in Engineering degree in Computer and Information Science from the University of Pennsylvania. In 2008 I completed a Ph.D. in Information Science and Technology at Drexel University. My doctoral dissertation is entitled Predicting Software Change Coupling.

I have prior experience as a professional computer programmer. I was a programmer at E. I. duPont de Nemours and Company, Sperry Univac, The Naval Air Development Center, Sterling Winthrop Pharmaceuticals, and Towers Perrin, an actuarial consulting company.

I also have prior experience as a teacher at the college level. I was a tenured Assistant Professor in the Mathematical Science Department at La Salle University in the 1980s and early 1990s, and an Adjunct Professor at Pennsylvania State University's Great Valley Campus in the mid 1990s. In the late 1990s I developed and taught computer science courses in industry at the (now extinct) Bluestone Software.

And now I am at Princeton. My job title is Lecturer. A Lecturer is a teaching-only faculty member, that is, a non-research faculty member.

Programming in Python Cover

I do pursue some research on my own. Notably, Robert Sedgwick, Kevin Wayne, and I wrote the book Introduction to Programming in Python and an accompanying booksite. I am especially interested in software engineering (as my dissertation indicates) and software engineering education. However, in accord with my job title, my focus is on teaching. I love to teach, and I am honored to work with my Princeton students.

My primary job at Princeton is to be the lead preceptor for Princeton's COS 217 course, entitled Introduction to Programming Systems. The list of semesters for which I was lead preceptor for this course can be found on my Teaching page. I also was the lead instructor for the COS 217 course during the Fall 2014 semester and the lead instructor for the COS 333 (Advanced Programming Techniques) course during the Spring 2011 semester. During the Fall 2017 semester I am again the lead instructor for the COS 333 course.

For that work, my Princeton students have chosen me to receive eight Engineering Council Excellence in Engineering Education awards, and the Engineering Council Lifetime Achievement Award for Excellence in Teaching. I consider those awards the highlight of my professional career.

When I am not working, I enjoy spending time with my family. I coach baseball and basketball with a local youth organization. I also run, cycle, play softball, play basketball, and play guitar—although not necessarily well!