Electronic Proceedings in Theoretical Computer Science (Nov 2016)

Teaching Functional Patterns through Robotic Applications

  • J. Boender,
  • E. Currie,
  • M. Loomes,
  • G. Primiero,
  • F. Raimondi

DOI
https://doi.org/10.4204/EPTCS.230.2
Journal volume & issue
Vol. 230, no. Proc. TFPIE 2015/6
pp. 17 – 29

Abstract

Read online

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.