Dr. H. Conrad Cunningham
Professor Emeritus and Chair Emeritus
223 Weir Hall
(662) 915-7396 (dept. office)
hcc@cs.olemiss.edu
Dr. H. Conrad Cunningham, Professor Emeritus, joined the faculty as Assistant Professor in 1989 and retired as Professor in 2019. He served as Department Chair from May 2001 through June 2015. He holds DSc and MS degrees in computer science from Washington University in St. Louis and a BS degree in mathematics from Arkansas State University. He came to the Department with several years of professional experience in the aerospace industry and university research settings.
Dr. Cunningham’s detailed personal website is https://john.cs.olemiss.edu/~hcc/.
Teaching
At the graduate level, Dr. Cunningham has developed and taught new courses on multiparadigm programming, functional programming, concurrent programming, software language engineering, software families, software architecture, formal methods for programming, and research methods and scientific writing. He has also taught courses on logic programming, algorithm analysis, and software engineering.
At the undergraduate level, Cunningham has taught the core courses on programming language organization, automata theory and formal languages, professional ethics, algorithm analysis, file systems, and senior project and elective courses on discrete-event simulation and object-oriented programming.
Although not teaching regularly since his retirement, Cunningham continues curriculum, course, and course materials development in conjunction with others. He has continued to work on a textbook titled Exploring Languages with Interpreters and Functional Programming for use in Haskell-based programming language organization and functional programming courses. He is also planning work on a textbook tentatively titled Nothing Bad Happens: Safe and Secure Programming in Typed Python.
Research
Throughout his career, Dr. Cunningham’s research interests and activities have been primarily in areas of software engineering, programming languages, and concurrent programming. In the latter 1980s and 1990s, he focussed on formal methods for programming. In the mid-1990s, he added new interests in software architecture. A decade later, he added more new interests in domain-specific languages, multiparadigm programming languages, and language design and processing. In recent years, he became interested in accessibility, particularly in methods and tools for creating accessible, interactive course materials and textbooks and for the design of inclusive software. He is also interested in effective scholarly communication, critical thinking, and professionalism in the context of the computer science discipline. His publications are listed below.
Since his retirement, Cunningham has continued to work with his students and colleagues on feature modeling, reactive programming, software patterns, safe and secure programming, programming languages, accessibility, and other topics.
Service
Dr. Cunningham has been an active participant in the computer science discipline throughout his career. He served as a Program Committee member and co-chair of the concurrency and distribution track of the 1991 International Workshop on Software Specification and Design (IWSSD). As one of the founders of the CCSC Mid-South conference, he served in several capacities including as General Chair for the 2005 conference and Regional Board Chair 2005-10. He received the conference’s ELVIS service award in 2008. He also served as Program Chair for the International Conference on the Principles and Practice of Programming in Java (PPPJ) (now called Managed Programming Languages and Runtimes). From 2009 to 2015, he served as a member of PPPJ’s Steering Committee. He also served as the General Chair for the 2010 ACM SouthEast Conference. He has served as a program committee member, referee, and reviewer for other conferences, journals, textbook publishers, and universities.
Throughout his three decades as a faculty member and administrator, Cunningham has been involved with many efforts related to curriculum, policy, procedure, facilities, staffing, and outreach within the Department, School of Engineering, and University. For example, he led the Department during three ABET self-studies and assisted with another. He helped organize two moves of the Department between buildings. He helped recruit Department faculty, staff, and students. He served on the Faculty Senate for several years.
Since his retirement, Cunningham has continued his service to the computer science community. For example, he was a member of the Program Committee for the ACM SouthEast Conference in 2021, 2022, and 2023 and an external program reviewer for another university.
Recent Publications
- João Paulo Oliveira Marum, J. Adam Jones, and H. Conrad Cunningham. Functional reactive Augmented Reality: Proof of concept using an extended augmented desktop with swipe interaction. In Proceedings of ICAT-EGVE 2016, Little Rock, Arkansas, USA, 2 pages, Eurographics Association, 2016.
- Hazim Shatnawi and H. Conrad Cunningham. Mapping SPL feature models to a relational database. In Proceedings of ACMSE 2017, Kennesaw, Georgia, USA, 8 pages, ACM, April 2017.
- João Paulo Oliveira Marum, J. Adam Jones, and H. Conrad Cunningham. Towards a reactive game engine. In Proceedings of the IEEE SoutheastCon 2019, Huntsville, Alabama, USA, 8 pages, IEEE, April 2019.
- João Paulo Oliveira Marum, J. Adam Jones, and H. Conrad Cunningham. Dependency graph-based reactivity for virtual environments. In Proceedings of the IEEE VR 2020 Workshop on Software Engineering and Architectures for Interactive Systems (SEARIS), Atlanta, Georgia, USA (online because of COVID-19 pandemic), 8 pages, IEEE, March 2020.
- João Paulo Oliveira Marum, H. Conrad Cunningham, and J. Adam Jones. Unified library for dependency-graph reactivity on Web and desktop user interfaces. In Proceedings of ACMSE 2020, Tampa, Florida, USA (online because of COVID-19 pandemic), 8 pages, ACM, April 2020. [ADDENDUM]
- Hazim Shatnawi and H. Conrad Cunningham. Automated analysis and construction of feature models in a relational database using Web forms. In Proceedings of ACMSE 2020, Tampa, Florida, USA (Virtual Event because of COVID-19 pandemic), 6 pages, ACM, April 2020.
- Hazim Shatnawi and H. Conrad Cunningham. Encoding feature models using mainstream JSON technologies. In Proceedings of ACMSE 2021, Virtual Event, USA, 8 pages, ACM, April 2021.
- João Paulo Oliveira Marum, H. Conrad Cunningham, J. Adam Jones, and Yi Liu. Following the writer’s path to the Dynamically Coalescing Reactive Chains design pattern. Algorithms, Vol. 17, No. 2, MDPI, February 2024.
Selected Older Publications
- Gruia-Catalin Roman, Michael E. Ehlers, H. Conrad Cunningham, and R. Howard Lykins. Toward comprehensive specification of distributed systems. In Proceeding of the 7th International Conference on Distributed Computing Systems, Berlin, Germany, pp. 282-9, IEEE, September 1987.
- Gruia-Catalin Roman, H. Conrad Cunningham, and Michael E. Ehlers. A shared dataspace language supporting large-scale concurrency. In Proceedings of the 8th InternationalConference on Distributed Computing Systems, San Jose, California, USA, pp. 265-72, IEEE, June 1988.
- Gruia-Catalin Roman and H. Conrad Cunningham. A shared dataspace model of concurrency–Language and programming implications. In Proceedings of the 9th International Conference on Distributed Computing Systems, Newport Beach, California, USA, pp. 270-9, IEEE, June 1989.
- H. Conrad Cunningham. The Shared Dataspace Approach to Concurrent Computation: The Swarm Programming Model, Notation, and Logic. Doctor of Science Dissertation, Washington University, Department of Computer Science, St. Louis, Missouri, August 1989.
- Gruia-Catalin Roman and H. Conrad Cunningham. The synchronic group: A concurrent programming concept and it’s proof logic. In Proceedings of the 10th International Conference on Distributed Computing Systems, Paris, France, pp. 142- 9, IEEE, May 1990.
- H. Conrad Cunningham and Gruia-Catalin Roman. A UNITY-style programming logic for shared dataspace programs. IEEE Transactions on Parallel and Distributed Systems, Vol. 1, No. 3, pp. 365–76, IEEE, July 1990.
- Gruia-Catalin Roman and H. Conrad Cunningham. Mixed programming metaphors in a shared dataspace model of concurrency. IEEE Transactions on Software Engineering, Vol. 16, No. 12, pp. 1361-73, IEEE, December 1990.
- Gruia-Catalin Roman and H. Conrad Cunningham. Reasoning about synchronic groups. In Research Directions in High-level Parallel Programming Languages, LNCS #574, pp. 21-38, Springer, 1992.
- H. Conrad Cunningham and Yinxiu Cai. Specification and refinement of a message router. In Proceedings of the Seventh International Workshop on Software Specification and Design, Redondo Beach, California, USA, pp. 20-29, IEEE, December 1993.
- Rose F. Gamble, Gruia-Catalin Roman, William E. Ball, and H. Conrad Cunningham. Applying formal verification methods to pure rule-based programs. International Journal of Expert Systems, Vol. 7, No. 3, pp. 203-237, Elsevier, 1994.
- H. Conrad Cunningham, Viren R. Shah, and Shu Shen. Devising a Formal Specification for an Elevator Controller. Technical Report UMCIS-1994-10, Department of Computer and Information Science, University of Mississippi, Oxford, Mississippi, USA, 14 pages, September 1994.
- H. Conrad Cunningham, Gruia-Catalin Roman, and Jerome Y. Plun. Assertional reasoning about dynamic systems. In Parallel Computations: Paradigms and Applications, A. Zomaya, editor, International Thomson Computer Press, 1996.
- Sudharshan Vazhkudai and H. Conrad 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, Nevada, USA, CSREA Press, June 2000.
- H. Conrad Cunningham and Jingyi Wang. Building a layered framework for the table abstraction. In Proceedings of the ACM Symposium on Applied Computing, Las Vegas, Nevada, USA, pp. 668-674, ACM, March 2001. [presentation]
- Yi Liu and H. Conrad 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, USA, 8 pages, April 2002. [presentation]
- H. Conrad Cunningham, Yi Liu, Pallavi Tadepalli, and Mingxian Fu. Component software: A new software engineering course. Journal of Computing Sciences in Colleges, Vol. 18, No. 6, pp. 10-21, CCSC, June 2003. [presentation]
- Yi Liu and H. Conrad Cunningham. Mapping component specifications to Enterprise JavaBeans implementations. In Proceedings of ACMSE 2004, Huntsville, Alabama, USA, pp. 177-182, ACM, April 2004. [presentation]
- Pallavi Tadepalli and H. Conrad Cunningham. JavaCHIME: Java Class Hierarchy Inspector and Method Executer. In Proceedings of ACMSE 2004, Huntsville, Alabama, USA, pp. 152-157, ACM, April 2004. [presentation]
- H. Conrad Cunningham, Yi Liu, and Cuihua 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), Las Vegas, Nevada, USA, pp. 40-45, ACM, June 2004. [presentation]
- H. Conrad Cunningham, Cuihua Zhang, and Yi Liu. Keeping secrets within a family: Rediscovering Parnas. In Proceedings of the Conference on Software Engineering Research and Practice (SERP), Las Vegas, Nevada, USA, pp. 712-718, CSREA Press, June 2004. [presentation]
- Yi Liu, H. Conrad Cunningham, and Hui Xiong. The architectural design of FRUIT: A Family of Retargetable User Interface Tools. In Proceedings of the International Conference on Software Engineering Research and Practice (SERP), Las Vegas, Nevada, USA, pp. 641-647, CSREA Press, June 2004. [presentation]
- H. Conrad Cunningham, Yi Liu, and Pallavi Tadepalli. Toward specification and composition of BoxScript components. In Proceedings of the Workshop on Specification and Verification of Component-Based Systems (SAVCBS), Newport Beach, California, USA, pp. 114-117, November 2004. [poster]
- Yi Liu and H. Conrad Cunningham. BoxScript: A component-oriented language for teaching. In Proceedings of ACMSE 2005, Kennesaw, Georgia, USA, Vol. 1, pp. 349-354, ACM, March 2005.
- H. Conrad Cunningham, Pallavi Tadepalli, and Yi Liu. Secrets, hot spots, and generalization: Preparing students to design software families. Journal of Computing Sciences in Colleges, Vol. 20, No. 6, pp. 118-124, CCSC, June 2005.
- H. Conrad Cunningham, Yi Liu, and Cuihua 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, Elsevier, January 2006. doi: 10.10.16/j.scico.2005.07.009.
- H. Conrad Cunningham and Pallavi Tadepalli. Using function generalization to design a cosequential processing framework. In Proceedings of the 39th Hawaii International Conference on System Sciences, Kawai, Hawaii, USA, 10 pages, IEEE, January 2006. [presentation]
- H. Conrad Cunningham, Yi Liu, and Pallavi Tadepalli. Framework design using function generalization: A binary tree traversal case study. In Proceedings of the ACMSE 2006, Melbourne, Florida, USA, pp. 312-318, ACM, March 2006. [presentation]
- Yi Liu and H. Conrad Cunningham. Java in the box: Implementing the BoxScript component language. In Proceedings of ACMSE 2007, Winston-Salem, North Carolina, USA, pp. 47-52, ACM, March 2007. [presentation]
- V. Amaral, L. Veiga, L. Marcelino, and H. C. Cunningham, editors. Proceedings of the 5th International Conference on the Principles and Practice of Programming in Java (PPPJ 2007), Lisbon, Portugal, 257 pages, ACM, September 2007.
- H. Conrad Cunningham. A little language for surveys: Constructing an internal DSL in Ruby. In Proceedings of ACMSE 2008, Auburn, Alabama, USA, 6 pages, ACM, March 2008. [presentation]
- Pallavi Tadepalli and H. Conrad Cunningham. Incrementally distributed B+ Trees: Approaches and Challenges. In Proceedings of the ACMSE 2009, Clemson, South Carolina, USA, 6 pages, ACM, March 2009.
- H. Conrad Cunningham, Yi Liu, and Jingyi Wang. Designing a flexible framework for a table abstraction. Chapter 13 in Y. Chan, J. Talburt, and T. Talley, editors, Data Engineering: Mining, Information, and Intelligence, pp. 279-314, Springer, 2010.
Build modern sites with Atomic Blocks layouts
The Gutenberg editor uses blocks to create all types of content, replacing a half-dozen ways of customizing WordPress, bringing it in line with modern coding standards, and aligning with open web initiatives. When we refer to “blocks” we are talking anything that can be inserted into the editor to create content.
Sites Built To Last
The new editor comes with a handful of default blocks such as paragraph, image, gallery, and more, to help you create better standard posts and pages.
From the Atomic Lab
The new editor comes with a handful of default blocks such as paragraph, image, gallery, and more, to help you create better standard posts and pages.
Beautiful Designs
The new editor comes with a handful of default blocks such as paragraph, image, gallery, and more, to help you create better standard posts and pages.
Rock Solid Standards
The new editor comes with a handful of default blocks such as paragraph, image, gallery, and more, to help you create better standard posts and pages.