Published: 26th November 2016
DOI: 10.4204/EPTCS.230
ISSN: 2075-2180

EPTCS 230

Proceedings of the 4th and 5th International Workshop on
Trends in Functional Programming in Education
Sophia-Antipolis, France and University of Maryland College Park, USA, 2nd June 2015 and 7th June 2016

Edited by: Johan Jeuring and Jay McCarthy

Preface
Domain-Specific Languages of Mathematics: Presenting Mathematical Analysis Using Functional Programming
Cezar Ionescu and Patrik Jansson
1
Teaching Functional Patterns through Robotic Applications
J. Boender, E. Currie, M. Loomes, G. Primiero and F. Raimondi
17
Learn Quantum Mechanics with Haskell
Scott N. Walck
31
The Bricklayer Ecosystem - Art, Math, and Code
Victor Winter, Betty Love and Cindy Corritore
47
Proust: A Nano Proof Assistant
Prabhakar Ragde
63

Preface

The Fourth and Fifth International Workshops on Trends in Functional Programming in Education, TFPIE 2015 and TFPIE 2016, were held on June 2, 2015 in Sophia-Antipolis, France, and on June 7, 2016 at the University of Maryland College Park in the USA, respectively. Both events were co-located with TFP, the Symposium on Trends in Functional Programming.

The goal of TFPIE is to gather researchers, professors, teachers, and all professionals interested in functional programming in education. This includes the teaching of functional programming, but also the application of functional programming as a tool for teaching other topics, e.g. computational concepts, complexity, logic and reasoning, and even disciplines, e.g. philosophy or music. TFPIE is the heir of previous events, like Functional and Declarative Programming in Education (FDPE), to which it owes a great deal and from which it has borrowed experience and ideas. It diverges from these previous events in a significant way by fostering a spirit of frank and open discussion in a manner that differs from the modus operandi used by most annual events. With its post-workshop review process, it allows authors to improve their manuscripts by incorporating the feedback they receive during discussions at the workshop. In addition, this model allows for material that may not yet be publication-ripe to be discussed in a congenial environment. In short, TFPIE aims to offer those with novel ideas, work-in-progress and class-room tested ideas a forum for discussion. This publication model has worked well for the previous editions of TFPIE and we expect it to be a hallmark of success for future editions, as it has been for sister events like aforementioned TFP and Implementation and Application of Functional Languages (IFL).

TFPIE 2015 received six submissions and had 16 participants. All submissions were found to be sound and in scope by the PC Chair and invited to give a presentation. In addition, Christian Queinnec accepted our invitation to give an invited talk. He kicked-off this edition of TFPIE with a presentation entitled "Teaching recursion: a repeated MOOC experiment". The workshop comprised six presentations and an interesting plenary discussion.

The post-workshop review process received six submissions, which were vetted by the program committee, assuming scientific journal standards of publication. The two articles in this volume were selected for publication as the result of this process. In order to give you a taste of these articles, we briefly enumerate them in the order that they were presented during the workshop. In "Domain-Specific Languages of Mathematics: Presenting Mathematical Analysis using Functional Programming", Cezar Ionescu and Patrik Jansson present an approach to encourage students in a course on Domain-Specific Languages of Mathematics to approach mathematical domains from a functional programming perspective: to identify the main functions and types involved; to give calculational proofs; to pay attention to the syntax of the mathematical expressions; and, finally, to organize the resulting functions and types in domain-specific languages. In "Teaching Functional Patterns through Robotic Applications", J. Boender, E. Currie, M. Loomes, G. Primiero, and F. Raimondi describe an approach to teaching functional programming to first year Computer Science students through projects in robotics. To support these, they developed the Middlesex Robotic plaTfOrm (MIRTO), an open-source platform built using Raspberry Pi, Arduino, HUB-ee wheels and running Racket.

TFPIE 2016 received six submissions and had fifty participants. All submissions were found to be sound and in scope by the PC chair and invited to give a presentation. In addition, Matthias Felleisen accepted our invitation to give an invited talk. He started TFPIE with a presentation entitled "Developing Developers". The workshop then comprised six presentations and a fun discussion among the attendees.

The post-workshop review process received five submissions, which were reviewed by the program committee under scientific journal standards of publication. The three articles in this volume were selected for publication through this process. We proceed with a short taste of each article, in the order that they appeared during the workshop. In "Learn Quantum Mechanics with Haskell", Scott Walck discusses his library and pedagogy for using a Haskell DSL to explain and explore experiments in Quantum Mechanics. In "The Bricklayer Ecosystem - Art, Math, and Code", Victor Winter presents his project for using functional programming to specify a variety of art, including Lego designs and 3D printed artifacts. In "Proust: A Nano Proof Assistant", Prabhakar Ragde describes his pedagogically-oriented proof assistant for teaching basic logic and the operation of proof assistants.

Concluding remarks.

Although the number of submitted papers was relatively low, TFPIE 2015 and TFP 2016 were interesting meetings, with insightful discussions. They could not have taken place without the seamless and very hospitable local organization by Manuel Serrano and the TFP 2015 organizing committee for TFP 2015, and David Van Horn for TFP 2016. Of course, a workshop is nothing without the submitting and presenting authors, the program committee and all participants. As PC Chairs, we would like to extend our gratitude to all of these people and are quite confident we do so for everyone in attendance. In continued support of the community of people interested in advancing education using functional programming, all of the resources have been made available on the TFPIE wiki page.

Johan Jeuring (Program Committee Chair 2015)
Jay McCarthy (Program Committee Chair 2016)

Program Committee 2015

Peter AchtenRadboud Universiteit Nijmegen
Edwin BradyUniversity of St. Andrews
Johan JeuringUtrecht University and Open Universiteit Nederland
Shriram KrishnamurthiBrown University
Rita LoogenPhilipps-Universität Marburg
Marco T. MorazánSeton Hall University
Norman RamseyTufts University

Program Committee 2016

Stephen ChangNortheastern University
Marc FeeleyUniversité de Montréal
Patricia JohannAppalachian State University
Jay McCarthyUniversity of Massachusetts Lowell
Prabhakar RagdeUniversity of Waterloo
Brent YorgeyHendrix College