Andrew Gill
Associate Professor
Electrical Engineering and Computer Science
School of Engineering
The University of Kansas

Contact Information

Email: andygill@ku.edu
Phone: +1 785-864-8817 (Eaton) /
+1 785-864-4712 (ITTC)
+1 785-864-3226 (FAX)
Address: The University of Kansas,
2001 Eaton Hall,
1520 West 15th Street,
Lawrence, KS 66045-7621
Office: Room 2024 (Eaton) /
Room 252 (Nichols Hall)
Office hours: Wednesday 2:00-4:00
(or by appointment)

Research

I lead the Functional Programming Group at the University of Kansas. Funded by the National Science Foundation, the International Foundation for Telemetering, and others, we use functional programming to solve problems in ways that are amicable to acceleration, and supports assurance arguments. As a group we make aggressive use of functional languages, extending the technology where needed, and ultimately strive to close gaps between high level specifications and highly efficient implementations. We then deploy our new technologies into diverse application areas, including telemetry, high performance computing and real-time systems.

Teaching

I teach programming in Java (EECS 168 & 368), JavaScript & Scheme (EECS 368), and Haskell (EECS 368, 776, 876). In all these class, we go on to use programming to solve interesting real-world problems. Before KU, I taught graduate-level compilers at the Oregon Graduate Institute (OGI). I also lead the EECS Computer Science Capstone (EECS 581, 582). In Fall 2014, I am teaching EECS 776 and EECS 581.

EECS 168 Programming I S13 S12
EECS 368 Programming Language Paradigms F08 F09 F11 F12 S14
EECS 581/582 CS Senior Design I & II F14 S15
EECS 700 Functional Programming S09 S10 S11 S12
EECS 776 Functional Programming and Domain Specific Languages F12 F13 F14
EECS 876/800 Advanced Topics in Functional Languages S10 S11 S14
CSE 511 Principles of Compiler Design (at OGI) Summer 02, Summer 03

Recent Publications and Submissions

Professional Activities

  • Editor, SIGPLAN Notices
  • ACM SIGPLAN Information Director
  • PC Member, Trends in Functional Programming, 2015
  • PC Member, ACM SIGPLAN International Conference on Functional Programming, 2015
  • PC Member, The 22nd Annual IEEE International Symposium on Field-Programmable Custom Computing Machines, 2015
  • PC Member, 7th International Conference on Software Language Engineering, 2014
  • PC Member, 24th International Conference on Field Programmable Logic and Applications, 2014
  • PC Member, Workshop on Haskell And Rewriting Techniques (HART), 2013
  • PC Member, 23nd International Conference on Field Programmable Logic and Applications, 2013
  • PC Member, International Symposium on High-level Parallel Programming and Applications, 2013
  • PC Member, Trends in Functional Programming (TFL’13)
  • PC Member, 6th International Conference on Software Language Engineering, 2013
  • Co-Chair, Midwest Verification Day, Lawrence, KS, 45 attendees, 2012
  • PC Member, 22nd International Conference on Field Programmable Logic and Applications, 2012
  • PC Member, 8th ACM SIGPLAN Workshop on Generic Programming, 2012
  • PC Member, Reconfigurable Architectures Workshop, 2012
  • PC Member, High-level programming for heterogeneous and hierarchical parallel systems, 2012
  • PC Member, ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM’12)
  • Chair & Editor, International Symposium on the Implementation and Application of Functional Languages (IFL’11)
  • Member, ACM SIGPLAN Haskell Symposium Steering Committee, 2008-2011 (Chair in 2011)
  • PC Member, ACM SIGPLAN Haskell Symposium (HASKELL’11)
  • Chair, ICFP Program Committee Workshop, Cambridge, England, 2010
  • PC Member, ACM SIGPLAN International Conference on Functional Programming (ICFP’10)
  • PC Member, ACM SIGPLAN Symposium on Practical Aspects of Declarative Languages (PADL’10)
  • PC Member for the Workshop on Mathematically Structured Functional Programming (MSFP’10)
  • PC Member for the Symposium on the Implementation and Application of Functional Languages (IFL’10)
  • PC Member for the ACM SIGPLAN International Conference on Functional Programming (ICFP’10)
  • PC Member for Practical Aspects of Declarative Languages (PADL’10)
  • PC Member for the Symposium on the Implementation and Application of Functional Languages (IFL’09)
  • Chair, ICFP Programming Contest, 2009
  • Chair, Midwest Programming Languages Day, 2009
  • PC Member for the Symposium on the Implementation and Application of Functional Languages (IFL’08)
  • PC Co-Chair for the Practical Aspects of Declarative Languages (PADL’09)
  • PC Chair for the ACM SIGPLAN Haskell Symposium (HASKELL’08)
  • PC Member for Mathematically Structured Functional Programming (MSFP’08)
  • PC Member for the ACM SIGPLAN Haskell Workshop (HASKELL’07)
  • Chair, First International Glasgow Haskell Compiler “Hackathon”, 2006, 55 attendees.
  • PC Member, ACM SIGPLAN Haskell Workshop, 2000

Professional Awards

  • Leading Light Award, for contributing to the research enterprise at the University of Kansas in a major way, Office of the Provost & Office of Research and Graduate Studies, 2014.
  • Miller Professional Development Award for distinguished research in the engineering profession, University of Kansas School of Engineering, 2014.
  • National Science Foundation CAREER Award, 2014.
  • Distinguished Visitor Fellowship, Scottish Informatics and Computer Science Alliance, 2013.
  • Excellence in Teaching award, Center for Teaching Excellence, University of Kansas, 2010.
  • Harry Talley Excellence in Teaching Award, KU EECS Department, 2009.

Bio and Background

Andrew (Andy) Gill was born and educated in Scotland, and has spent his professional career in the United States. Andy received his Ph.D. from the University of Glasgow in 1996, then spent three years in industry as a compiler developer, and a year in academia as a principal project scientist. He co-founded Galois in 2000, a technology transfer company that used language technologies to create trustworthiness in critical systems. In 2008 he returned to academia and research, joining the University of Kansas and the Information and Telecommunication Technology Center.

Andy believes that functional languages like Haskell are a great medium for expressing algorithms and solving problems. Since returning to academia, he has targeted the application areas of telemetry and signal processing, specializing in generating high performance circuits from specifications. His research interests include optimization, language design, debugging, and dependability. The long-term goal of his research is to offer engineers and practitioners the opportunity to write clear and high-level executable specifications that can realistically be compiled into efficient implementations.