Contact Information

Email: andygill@ku.edu
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: Zoom, MWF 1-2ish
Twitter @_andy_gill
Fax: +1 785-864-3226 (FAX)

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, virtual reality 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). Before KU, I taught graduate-level compilers at the Oregon Graduate Institute (OGI).

ENGR 108 Introduction to Engineering (CS component) F13 F14
EECS 168 Programming I S13 S12
EECS 368 Programming Language Paradigms F08 F09 F10 F11 F12 S14 F15 F16 S17 F19
EECS 581/582 CS Senior Design I & II F14 S15 F15 S16
EECS 700/776 Functional Programming / and Domain Specific Languages] S09 S10 S11 S12 F12 F13 F14 F15 F16
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

2019

  • PC Member, Workshop on Real World Domain Specific Languages, 2019

2018

  • PC Member, The 24th Annual IEEE International Symposium on Field-Programmable Custom Computing Machines, 2018
  • PC Member, Workshop on Real World Domain Specific Languages, 2018
  • PC Member, ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, 2018

2017

  • PC Member, The 24th Annual IEEE International Symposium on Field-Programmable Custom Computing Machines, 2017
  • PC Member, Workshop on Real World Domain Specific Languages, 2017

2016

  • Visiting Professor, Facebook
  • PC Member, 2016 Workshop on Domain-Specific Language Design and Implementation, 2016
  • PC Member, ACM SIGPLAN Haskell Symposium, 2016
  • PC Member, Workshop on Real World Domain Specific Languages, 2016
  • PC Member, The 23rd Annual IEEE International Symposium on Field-Programmable Custom Computing Machines, 2016
  • PC Member, Workshop on Partial Evaluation and Program Manipulation, 2016.

2015

  • Editor, SIGPLAN Notices & ACM SIGPLAN Information Director, 2011-2015
  • Faculty Attendee, KU Startup School, 2015
  • Reviewer, PeerJ Computer Science, 2015
  • PC Member, Symposium on High Level Languages for Parallel Computing on FPGAs, 2015
  • PC Member, International Symposium on the Implementation and Application of Functional Languages, 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

2014

  • 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

2013

  • 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

2012

  • 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)

2011

  • 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

2010

2009

  • 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)

2008

2007

2006

  • Chair, First International Glasgow Haskell Compiler “Hackathon”, 2006, 55 attendees.

2000

  • PC Member, ACM SIGPLAN Haskell Workshop, 2000

Professional Awards

  • John E. and Winifred E. Sharp Teaching Professorship, for ``demonstrated excellence in engineering education and dedication to the University, the School, and the Department’’, University of Kansas School of Engineering, 2016-2019
  • Millar Scholar, for overall achievement during the past academic year, University of Kansas School of Engineering, 2015.
  • 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.
  • National Science Foundation CAREER Award, 2014.
  • 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.
  • 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 is an Associate Professor of Electrical Engineering and Computer Science at the University of Kansas. He 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, and has split his time since between industy and adaemdia, doing applied functional programming and compiler deveoplemnt.

  • In 1996 through 1999, he worked as a compiler developer (Hewlett Packard, Metrowerks, Semantic Designs),
  • One year in academia as a principal project scientist (Oregon Graduate Institute).
  • In 2000, he co-founded Galois, a technology transfer company that used language technologies to create trustworthiness in critical systems.
  • In 2008 he joining the University of Kansas, being awarded tenure in 2014. From 2016 to 2019, he held the John E. and Winifred E. Sharp Teaching Professorship.
  • In 2017 and 2018, he took a two year leave from academia, working on machine learning accelerators and compilers at Google.
  • In 2019, he returned to Kansas and teaching.

Since returning to academia, Gill has targeted the application areas of telemetry and signal processing, specializing in generating high performance circuits from specifications. His research interests include optimization, domain-specific languages, 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.

In 2017, Gill took a job at X, the moonshot factory, doing applied functional programming in industry.