A Racket-Based Robot to Teach First-Year Computer Science

A novel approach to teaching Computer Science has been developed for the academic year 2013/14 at Middlesex University, UK. The whole first year is taught in an holistic fashion, with programming at the core, using a number of practical projects to support learning and inspire the students. The Lisp derivative, Racket, has been chosen as the main programming language for the year. An important feature of the approach is the use of physical computing so that the students are not always working “through the screen”, but can experience physical manifestations of behaviours resulting from programs. In this paper we describe the MIddlesex Robotic plaTfOrm (MIRTO), an open-source platform built using Raspberry Pi, Arduino, and with Racket as the core coordination mechanism. We describe the architecture of the platform and how it can be used to support teaching of core Computer Science topics, we describe our teaching and assessment strategies, we present students’ projects and we provide a preliminary evaluation of our approach.

[1]  Michael King,et al.  Process Control: A Practical Approach , 2011 .

[2]  Massimo Banzi,et al.  Getting Started with Arduino , 2008 .

[3]  Michael Margolis,et al.  Arduino Cookbook , 2011 .

[4]  Rynson W. H. Lau,et al.  A Fine-Grained Outcome-Based Learning Path Model , 2014, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[5]  Alexander I. Rudnicky,et al.  Pocketsphinx: A Free, Real-Time Continuous Speech Recognition System for Hand-Held Devices , 2006, 2006 IEEE International Conference on Acoustics Speech and Signal Processing Proceedings.

[6]  M.N. Sastry,et al.  Structure and interpretation of computer programs , 1986, Proceedings of the IEEE.

[7]  Bruce Christianson,et al.  Formal Systems, Not Methods , 2004, TFM.