2016
DOI: 10.4204/eptcs.230.2
|View full text |Cite
|
Sign up to set email alerts
|

Teaching Functional Patterns through Robotic Applications

Abstract: 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… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
7
0

Year Published

2016
2016
2021
2021

Publication Types

Select...
2
2
1

Relationship

2
3

Authors

Journals

citations
Cited by 5 publications
(7 citation statements)
references
References 4 publications
0
7
0
Order By: Relevance
“…The program opens a stream on serial port COM3 (the client can also be run on Linux and Mac machines, changing the name of the serial port), then it writes a message on the LCD screen, then it sets the motors forward at 90% power and finally, after one second, it stops the motors. We refer to [5] for details on how Racket can be used in conjunction with MIRTO to teach functional patterns that have a physical manifestation.…”
Section: Software Detailsmentioning
confidence: 99%
See 1 more Smart Citation
“…The program opens a stream on serial port COM3 (the client can also be run on Linux and Mac machines, changing the name of the serial port), then it writes a message on the LCD screen, then it sets the motors forward at 90% power and finally, after one second, it stops the motors. We refer to [5] for details on how Racket can be used in conjunction with MIRTO to teach functional patterns that have a physical manifestation.…”
Section: Software Detailsmentioning
confidence: 99%
“…This project by a group of first year students involved the use of the Twitter streaming API 5 . By connecting MIRTO to the internet, students were able to filter tweets containing the keyword MIRTOBOT.…”
Section: Using Twitter and Image Capturingmentioning
confidence: 99%
“…For example, the functional programming concept of higher order functions is used to map Arduino pin-setting functions across a number of pins and the concepts of functions as first class objects and side effects are demonstrated through lists of functions employed in causing the robot to explore an unknown area. Another example is the use of Racket Contracts to specify required robot behavior [16]. Through the use of Linux, students also gain familiarity with use of a command line interface, which most are unfamiliar with, having grown up using only graphical user interfaces.…”
Section: Robotsmentioning
confidence: 99%
“…For example, the functional programming concept of higher order functions is used to map Arduino pin-setting functions across a number of pins and the concepts of functions as first class objects and side effects are demonstrated through lists of functions employed in causing the robot to explore an unknown area. Another example is the use of Racket Contracts to specify required robot behavior [10]. Through the use of Linux, students also gain familiarity with use of a command line interface, which most are unfamiliar with, having grown up using only graphical user interfaces.…”
Section: Robotsmentioning
confidence: 99%