Published: 26th July 2022
DOI: 10.4204/EPTCS.363
ISSN: 2075-2180

EPTCS 363

Proceedings Tenth and Eleventh International Workshop on
Trends in Functional Programming In Education
Kraków, Poland (online), 16th February 2021/16th March 2022

Edited by: Peter Achten and Elena Machkasova

Preface
Peter Achten
Design of Classes I
Marco T. Morazán
1
Reimplementing the Wheel: Teaching Compilers with a Small Self-Contained One
Daniil Berezun and Dmitry Boulytchev
22
Teaching Programming to Novices Using the codeBoot Online Environment
Marc Feeley and Olivier Melançon
44
Teaching Simple Constructive Proofs with Haskell Programs
Matthew Farrugia-Roberts, Bryn Jeffries and Harald Søndergaard
54
Teaching Functional Programmers Logic and Metatheory
Frederik Krogsdal Jacobsen and Jørgen Villadsen
74
Engaging, Large-Scale Functional Programming Education in Physical and Virtual Space
Kevin Kappelmann, Jonas Rädle and Lukas Stevens
93
Introduction to Functional Classes in CS1
Marco T. Morazán
114
Teaching Interaction using State Diagrams
Padma Pasupathi, Christopher W. Schankula, Nicole DiVincenzo, Sarah Coker and Christopher Kumar Anand
132

Preface

This volume combines proceedings from the 2021 and 2022 International Workshops on Trends in Functional Programming in Education (TFPIE). The Tenth International Workshop on Trends in Functional Programming in Education, TFPIE 2021, was held as part of LambdaDays 2021, organized in Kraków, Poland on February 16 2021. Because of the covid pandemic, TFPIE 2021 and LambdaDays were done completely online. The Eleventh International Workshop on Trends in Functional Programming in Education, TFPIE 2022, was organized as part of LambdaDays 2022, and held online on March 16 2022.

TFPIE series

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.

The 2021 edition is the 10th anniversary. Previous workshops were held at the University of St. Andrews - Scotland, Brigham Young University - USA, Utrecht University - Netherlands, Sophia Antipolis - France, University of Maryland College Park - USA, University of Kent - England, Chalmers University - Sweden, University of British Columbia - Canada, and preceding LambdaDays in Kraków - Poland.

Programme and keynotes

The 2021 programme consisted of two keynotes and three sessions of regular technical presentations. The opening keynote was by Francesco Cesarini and Simon Thompson who talked about their extensive experience in teaching functional programming in industry versus academia. The sessions speakers were Junya Nose, Dmitry Boulytchev, Jørgen Villadsen, Olivier Melançon, Marco T. Morazán, and Victor Winter. The closing keynote was by Bartosz Milewski who took us on an expedition in the simulation world of Factorio to discover functional programming patterns.

The 2022 programme featured a keynote by Peter Achten describing his vision for a perfect functional programming course. The technical session presented talks by Lidia Gorodnyaya, Dmitry Kondratyev, Matthew Farrugia-Roberts, Harald Søndergaard, Youyou Cong, Frederik Krogsdal Jacobsen, Jørgen Villadsen, Kevin Kappelmann, Jonas Rädle, Lukas Stevens, Marco T. Morazán, Padma Pasupathi, Christopher Schankula, Nicole DiVincenzo, Sarah Coker, Christopher Anand, Chinmay Sheth, Vaitheeka Nallasamy, and Kruthiga Karunakaran.

Submissions

TFPIE 2021 received six submissions that received feedback from the program committee before the workshop. The post-workshop review process received five submissions, which were reviewed by the program committee, assuming scientific journal standards of publication. The first three articles in this volume were selected for publication as the result of this process.

TFPIE 2022 received nine submissions for presentation at the workshop. The post-workshop review process received seven submissions, which were reviewed by the program committee, assuming scientific journal standards of publication. The subsequent five articles in this volume were selected for publication as the result of this process.

Table of contents

  1. Design of Classes I. Marco T. Morazán.
  2. Reimplementing the Wheel: Teaching Compilers with a Small Self-Contained One. Daniil Berezun and Dmitry Boulytchev.
  3. Teaching Programming to Novices Using the codeBoot Online Environment. Marc Feeley and Olivier Melançon.
  4. Teaching Simple Constructive Proofs with Haskell Programs. Matthew Farrugia-Roberts, Bryn Jeffries, and Harald Søndergaard.
  5. Teaching Functional Programmers Logic and Metatheory. Frederik Krogsdal Jacobsen and Jørgen Villadsen.
  6. Engaging, Large-Scale Functional Programming Education in Physical and Virtual Space. Kevin Kappelmann, Jonas Rädle, and Lukas Stevens.
  7. Introduction to Functional Classes in CS1. Marco T. Morazán.
  8. Teaching Interaction using State Diagrams. Padma Pasupathi, Christopher Schankula, Nicole DiVincenzo, Sarah Coker, and Christopher Anand.

Concluding remarks

TFPIE 2021 and 2022 would not have been possible without the great support of the LambdaDays team. Finally, we would like to thank the members of the programme committee who worked very hard with the authors of the papers presented here to help to give their work the best possible presentation. We hope that you enjoy reading the results!