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 Senior Lecturer. A Senior 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.

Throughout most of my time at Princeton my has been 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 that course can be found on my Teaching page. I also was the lead instructor for the COS 217 course during the Fall 2014 semester. More recently my job has been to be the lead instructor for the COS 333 (Advanced Programming Techniques) course. The list of semesters for which I was the COS 333 lead instructor can be found on my Teaching page.

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.