Jamie A. Jennings received her Ph.D. in Computer Science from Cornell University in 1995.  She then joined the faculty of Tulane University, where she established a robotics lab to continue her dissertation work on cooperative navigation and manipulation with mobile robots.  In collaboration with her graduate and undergraduate students, this work included computational geometry, algorithm design, distributed systems, and even topics from compiler design.

She left academia for a brief 19-year stint in industry, first as a Research Staff Member at IBM's T.J. Watson Research Lab, then later as a Senior Technical Staff Member in IBM's Software Group (now called the Watson Cloud division).  During this time, she led the creation of several open technical standards as the chair of Expert Groups in the SyncML Initiative, the Open Mobile Alliance, and OSGi.  She is the author of several software patents as well.

In August 2018, she joined the Computer Science department at NCSU as an Assistant Teaching Professor, a position in which the primary responsibility is undergraduate education.  Her research interests are largely in applications of theoretical computer science.  Working primarily with undergraduate researchers, she and her students apply techniques from Programming Language Theory, Compilers, and the Theory of Computation (particularly automata and grammars).

Dr. Jennings is the creator and primary author of the Rosie Pattern Language (see also the news/blog), a replacement for regular expressions that is designed to be used at industrial scale, where there are (1) many expressions (patterns) in use, (2) high data volume, velocity, and variability, and (3) many software developers involved in a project.

Office Hours

  • Office hours and location (Zoom meeting details) are found on this page.
  • Or by appointment:  Please email to request either a virtual or in-person appointment on a different day or time.
  • Note: Office hours may change occasionally, e.g. due to travel.

Research Areas

  • Algorithms and Theory of Computation
  • Software Engineering and Programming Languages