James Caldwell
Department Head

Department of Computer Science


4085 Engineering Hall
University of Wyoming
Laramie, Wyoming


email: jlc@cs.uwyo.edu

Cornell University
SUNY Albany
SUNY Albany
Computer Science
Computer Science
Computer Science
Research Interests: Broadly, my research area is the applications of logic and formal methods in computer science. My research is motivated by the close connection between mathematical proofs and computer programs, an idea that is made precise by the Curry-Howard isomorphism. Areas of specialty include functional programming, constructive logic, type theory, theorem proving, applications of proofs-as-programs, extraction of programs from formal proofs. I am also doing joint research with colleagues in the philosophy department designing logics to model beliefs.
Research Projects: [EPSRC] Proof Theory and Constraint Satisfaction With Ian Gent and Roy Dyckhoff
[NSF] Science of Design: Comprehensibility as a Design Critera with Ruben Gamboa
[NSF] Programming in Constructive Type Theory Ongoing.
Curriculum Vitae: [PDF]
Publications: Available Online
Spring 2015 Classes:

COSC 4780   Principles of Programming Languages
Current Students:
  • Troy Axthlem (M.S.)
Former Students:
  • Ryan Roan (M.S.) Type Checking SQL
      Senior Software Engineer, Handel Information Technologies Inc., Laramie, WY
  • Sunil Kothari (Ph.D.) Type Inference and Unification: Formal and Informal Proofs in and around Wand's Algorithm
      Researcher at HP Labs, Palo Alto, CA
  • Josef Pohl (Ph.D.) Programming with Evidence
        Research Engineer at NASA Ames Research Center
  • Christoph Jechlitschek (M.S.) Sharing Mathematical Knowledge in a Distributed Environment - a P2P Approach.
        Applications Engineer at Intel
  • Tjark Weber (M.S.) Program Transformations in Nuprl.
        Senior Lecturer, Uppsala University.
  • Scott Johnson (M.S.) Program Extraction from Single and Multi-Succedent Intuitionistic Propositional Proofs.
  • Vitali Khaikine (M.S.) Projecting Formal Proofs into XML: Nuprl into HELM