Dr. H. Conrad Cunningham, Professor, joined the faculty in 1989. He served as Department Chair from mid-May 2001 through June 2015. He has a doctorate in computer science from Washington University in St. Louis and several years of professional experience in the aerospace industry and university research settings.
At the graduate level, Cunningham teaches courses on multiparadigm programming, functional programming, software language engineering, concurrent programming, software families, software architecture, formal methods, and research methods and scientific writing. He also teaches the senior-level core course in programming language organization. For the latter, he is writing a textbook titled Exploring Languages with Interpreters and Functional Programming.
Dr. Cunningham's current research focuses on methods and tools for the design of accessible documents, domain-specific languages, multiparadigm programs, and flexible software families. More broadly, Cunningham's research interests and expertise are in software architecture, concurrent and distributed computing, formal methods, programming languages, and accessibility. He served as the Program Chair for the 2007 International Conference on the Principles and Practice of Programming in Java (PPPJ) and as General Chair of the 2010 ACM SouthEast Conference. From 2009 to 2015, he served on the international Steering Committee for PPPJ. Dr. Cunningham's publications and research can be found here.
- G.-C. Roman and H. C. Cunningham. Mixed programming metaphors in a shared dataspace model of concurrency. IEEE Transactions on Software Engineering, Vol. 16, No. 12, pp. 1361-73, December 1990.
- G.-C. Roman and H. C. Cunningham. Reasoning about synchronic groups. In Research Directions in High-level Parallel Programming Languages, LNCS #574, pp. 21-38, Springer-Verlag, 1992.
- H. C. Cunningham and Y. Cai. Specification and refinement of a message router. In Proceedings of the Seventh International Workshop on Software Specification and Design, pp. 20-29, IEEE, December 1993.
- P. B. Lawhead and H. C. Cunningham. Qualitative decision making in software design, In Proceedings of the Quality Conference ’95, American Society of Quality Control, San Jose, California, April 1995.
- H. C. Cunningham, G.-C. Roman, and J. Y. Plun. Assertional reasoning about dynamic systems, In Parallel Computations: Paradigms and Applications, A. Zomaya, editor, International Thomson Computer Press, 1996.
- S. Vazhkudai and H. C. Cunningham. A reusable framework for distributed decision-making protocols, In Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA’2000), pp. 867-873, Las Vegas, CSREA Press, June 2000.
- H. C. Cunningham and J. Wang. Building a layered framework for the table abstraction, In Proceedings of the ACM Symposium on Applied Computing, pp. 668-674, March 2001.
- Y. Liu and H. C. Cunningham. Software component specification using design by contract, In Proceedings of the SouthEast Software Engineering Conference, Tennessee Valley Chapter, National Defense Industry Association, Huntsville, Alabama, 8 pages, April 2002.
- H. C. Cunningham, Y. Liu, P. Tadepalli, and M. Fu. Component software: A new software engineering course, Journal of Computing Sciences in Colleges, Vol. 18, No. 6, pp. 10-21, June 2003.
- H. C. Cunningham, Y. Liu, and C. Zhang. Using the divide and conquer strategy to teach Java framework design, In Proceedings of the 3rd International Conference on Principles and Practice of Programming in Java (PPPJ), pp. 40-45, June 2004.
- H. C. Cunningham, Y. Liu, and C. Zhang. Using classic problems to teach Java framework design, Science of Computer Programming, Special Issue on Principles and Practice of Programming in Java (PPPJ 2004), Vol. 59, No. 1-2, pp. 147-169, January 2006. doi: 10.10.16/j.scico.2005.07.009.
- H. C. Cunningham. Reflexive metaprogramming in Ruby, Journal of Computing Sciences in Colleges, Vol, 22, No. 5, pp. 145-146, CCSC, May 2007.
- H. C. Cunningham and Yi Liu. Hot spots, patterns, and contracts: An exploration of software framework design, Journal of Computing Sciences in Colleges, Vol. 23, No. 4, pp. 105-7, CCSC, April 2008.
- H. C. Cunningham, Y. Liu, and J. Wang. Designing a flexible framework for a table abstraction, In Y. Chan, J. Talburt, and T. Talley, editors, Data Engineering: Mining, Information, and Intelligence, 36 pages, Springer, 2009.