Teaching Functional Patterns through Robotic Applications

J. Boender
(School of Science and Technology Middlesex University, London)
E. Currie
(School of Science and Technology Middlesex University, London)
M. Loomes
(School of Science and Technology Middlesex University, London)
G. Primiero
(School of Science and Technology Middlesex University, London)
F. Raimondi
(School of Science and Technology Middlesex University, London)

We present our approach to teaching functional programming to First Year Computer Science students at Middlesex University through projects in robotics. A holistic approach is taken to the curriculum, emphasising the connections between different subject areas. A key part of the students' learning is through practical projects that draw upon and integrate the taught material. To support these, we developed the Middlesex Robotic plaTfOrm (MIRTO), an open-source platform built using Raspberry Pi, Arduino, HUB-ee wheels and running Racket (a LISP dialect). In this paper we present the motivations for our choices and explain how a number of concepts of functional programming may be employed when programming robotic applications. We present some students' work with robotics projects: we consider the use of robotics projects to have been a success, both for their value in reinforcing students' understanding of programming concepts and for their value in motivating the students.

In Johan Jeuring and Jay McCarthy: Proceedings of the 4th and 5th International Workshop on Trends in Functional Programming in Education (TFPIE 2015/6), Sophia-Antipolis, France and University of Maryland College Park, USA, 2nd June 2015 and 7th June 2016, Electronic Proceedings in Theoretical Computer Science 230, pp. 17–29.
Published: 26th November 2016.

ArXived at: https://dx.doi.org/10.4204/EPTCS.230.2 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org