Robert M. Dondero, Ph.D.

< back to CV

Employment History

Princeton University, Princeton, NJ.

7/01 to present. Lecturer, Department of Computer Science. Preceptor for the courses COS 217: Introduction to Programming Systems and COS 126: General Computer Science. Developed and taught precepts. Supervised teaching assistants. Developed and graded programming assignments and examinations. Earned eight Engineering Council "Excellence in Engineering Education" awards for work as a preceptor on the COS 217 course (Fall 2001, Fall 2002, Fall 2003, Spring 2004, Fall 2005, Spring 2006, and Fall 2010, and Fall 2011). Awarded Engineering Council "Lifetime Achievement Award for Excellence in Teaching," December 2006.
Courses designed/taught

Hewlett-Packard, Mount Laurel, NJ.

12/97 to 7/01. Chief Course Developer, HPAS/Bluestone Division (formerly Bluestone Software). Developed and taught courses on the company's Java-based World Wide Web application infrastructure software products. Also developed and taught courses on underlying technologies: Java Programming Language, Java for Non-C Programmers, Advanced Java, Java Swing, JavaBeans, JavaServer Pages (JSP), Enterprise JavaBeans (EJB), The C Programming Language, C++ Object-Oriented Programming, and XML. Created CD-based distance education versions of those courses; the company used them to teach instructors, software developers, support personnel, consultants from partner companies, and customers. Promoted from Technical Trainer to Chief Course Developer in 1999.
Courses designed/taught

Towers Perrin, Philadelphia, PA.

8/94 to 12/97. Lead Applications Programmer/Analyst, Retirement Systems Department. Developed components of Towers Perrin Solutions (TPS), a client/server system to support the company's "benefits administration" line of business. Developed the indices, data dictionary, error reporting, and auditing subsystems of the TPS server, a multi-database system which presents to its clients a unified logical view of heterogeneous distributed physical databases. Developed the transaction management and callback propagation component of a TPS client, a graphical user interface builder and engine. Proposed, developed, and taught internal courses entitled Object-Oriented Programming Using C++, Object-Oriented Design Patterns, The C++ Standard Template Library, and Rational Rose.

Pennsylvania State University, Great Valley, PA.

1/94 to 12/97. Instructor, Continuing Education Department. Developed and taught courses entitled Introductory C++ Programming and C Programming I.
Courses designed/taught

Sterling Winthrop Inc., Malvern, PA.

6/92 to 8/94. Senior Software Engineer, Information Sciences Department. Evaluated commercial software packages for a company-wide client/server system to help users compose computer-assisted new drug applications (CANDAs). Created an object-oriented prototype system that demonstrated the feasibility of user-directed CANDA composition. Developed software utilities that loaded data into the company's first CANDA. The system was successfully deployed internationally (U.S., Canada, Australia). Received Vision and Accomplishment Award for "extraordinary contribution toward achievement of Sterling Winthrop's mission and values." Proposed, developed, and taught an internal course entitled Object-Oriented Programming Using C++.

La Salle University, Philadelphia, PA.

9/80 to 7/83 and 9/84 to 6/92. Assistant Professor, Mathematical Sciences Department. Developed and taught courses in theory of programming languages, database management systems, and algorithms and data structures. Proposed, developed, and taught a course in artificial intelligence emphasizing novel software architectures. Directed independent study courses in robotics. Sponsored cooperative education students. Member/chair of various departmental and university-wide committees. Promoted from Instructor to Assistant Professor in 1986. Awarded tenure in 1989.
Courses designed/taught

Naval Air Development Center, Warminster, PA.

6/87 to 6/92. Software Engineering Consultant, reporting directly to the Project Leader of 4 research efforts with $1,600,000 budget. Developed an object-oriented prototype of a real-time artificial intelligence system to help airborne communications personnel analyze message traffic and sensor data. Developed a real-time artificial intelligence system to control an autonomous reconnaissance aircraft. Created a prototype, wrote the functional specification, designed the novel software architecture, and programmed many software modules. The Office of Naval Technology rated the system first among all internal research programs. Awarded 3 American Society for Engineering Education (ASEE) Fellowships.

University of Delaware, Newark, DE.

1/84 to 5/84. Research Assistant for a duPont/Foxboro sponsored project developing an artificial intelligence system to help operators of chemical plants diagnose component failures.

Sperry Univac, Blue Bell, PA.

4/79 to 7/80. Systems Programmer. Developed components of a small operating system.

E. I. duPont de Nemours & Company, Wilmington, DE.

6/78 to 3/79. Applications Programmer. Developed components of a financial forecasting system.


Courses Designed/Taught At Princeton University

  • COS 126: General Computer Science
  • COS 217: Introduction to Programming Systems
  • COS 333: Advanced Programming Techniques

Courses Designed/Taught at Hewlett-Packard/Bluestone Software

  • The C Programming Language
  • C++ Object-Oriented Programming
  • Java Programming Language
  • Java for Non-C Programmers
  • Advanced Java Programming Part 1: Utilities, Input/Output, and Threads
  • Advanced Java Programming Part 2: Networking, RMI, and JDBC
  • JavaBeans
  • JavaServer Pages (JSP)
  • Enterprise JavaBeans (EJB)
  • XML
  • Bluestone Sapphire/Web NT
  • Bluestone JSP Server
  • Bluestone EJB Server
  • Bluestone XML Server
  • Bluestone Total-e-Server and Struts

Courses Designed/Taught at the Pennsylvania State University

  • C Programming I
  • Introductory C++ Programming

Courses Designed/Taught at La Salle University

  • CSC 151: Introduction to Computing with Applications
  • CSC 155: Fundamentals of Computing
  • CSC 156: Algorithms and Data Structures
  • CSC 254: File and Data Management Systems
  • CSC 356: Programming Languages
  • CSC 456: Artificial Intelligence
  • CSC 472: Independent Study in Robotics

< back to CV