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 10:00-12: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. I also lead the EECS Computer Science Capstone (EECS 581, 582). In Spring 2015, I am teaching EECS 582. Before KU, I taught graduate-level compilers at the Oregon Graduate Institute (OGI).

EECS 168 Programming I S13 S12
ENGR 108 Introduction to Engineering (CS component) F13 F14
EECS 368 Programming Language Paradigms F08 F09 F10 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 and Pending Publications and Submissions

Professional Activities

  • Editor, SIGPLAN Notices
  • ACM SIGPLAN Information Director
  • PC Member, Symposium on High Level Languages for Parallel Computing on FPGAs, 2015
  • 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
  • Invited participant, Dagstuhl Seminar on Domain-Specific Languages, 2015
  • Invited observer, IFIP Working Group 2.1, 2014
  • 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
  • Invited observer, IFIP Working Group 2.8, 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)
  • Invited observer, IFIP Working Group 2.1, 2011
  • 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

  • Harry Talley Excellence in Teaching Award, for contributed significantly to undergraduate education and developing a strong rapport with students both inside and outside of the classroom, KU EECS Department, 2015.
  • 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, for contributed significantly to undergraduate education and developing a strong rapport with students both inside and outside of the classroom, 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.