Teaching Computational Thinking by Playing Games and Building Robots
Teaching Computational Thinking by Playing Games and Building Robots
Teaching Computational Thinking by Playing Games and Building Robots
Abstract—Computing in schools has gained momentum in the of importance to an increasing number of the population,
last two years resulting in GCSEs in Computing and teachers regardless of their career or interests.
looking to up skill from Digital Literacy (ICT). For many students
the subject of computer science concerns software code but For those not necessarily employed in the computing
writing code can be challenging, due to specific requirements on industry digital literacy skills improve communication through
syntax and spelling with new ways of thinking required. Not only email, ease learning through utilise online resources and pro-
do many undergraduate students lack these ways of thinking, but vide new marketing opportunities. Beyond that understanding
there is a general misrepresentation of computing in education. of the broader issues of computing could enhance the ability
Were computing taught as a more serious subject like science to innovate business operations, develop new tools and under-
and mathematics, public understanding of the complexities of stand issues previously considered to be exclusively within the
computer systems would increase, enabling those not directly
arcane domain of the dreaded IT department.
involved with IT make better informed decisions and avoid
incidents such as overbudget and underperforming systems. Thanks to the maker community [3], people are shifting
We present our exploration into teaching a variety of from being users of technology to creators - leading to a a
computing skills, most significantly “computational thinking”, new era of innovation by hobbyists and professionals alike.
to secondary-school age children through three very different Advanced computing skills open up a world of opportunities
engagements. for developing new tools, toys and experiments.
First, we discuss Printcraft, in which participants learn Technocamps is one project that aims to improve computer
about computer-aided design and additive manufacturing by science education for 11-19 year olds through a variety of
designing and building a miniature world from scratch using the engagements with partnered universities across Wales. In this
popular open-world game Minecraft and 3D printers. Second, paper we look at the importance of going beyond basic digital
we look at how students can get a new perspective on familiar literacy and some of the engagements designed to teach a core
technology with a workshop using AppInventor, a graphical concept in computer science - “computational thinking”.
Android programming environment. Finally, we look at an
ongoing after school robotics club where participants face a
number of challenges of their own making as they design and A. Computational Thinking
create a variety of robots using a number of common tools such Computational thinking is a fundamental problem solving
as Scratch and Arduino. technique that has applications beyond computing [4], [5] and
is considered by many to be a fundamental life skill [6].
I. I NTRODUCTION Although the term is open to some interpretation, generally
accepted key principles of computational thinking include:
Modern computing ubiquity has led to basic computing
skills (or “digital literacy”) becoming an innate ability of most • Abstraction - solutions are often not straightforward
young people. Unfortunately, the UK education system has and require multiple levels of thought and application
failed to keep up to date and upskill students beyond the es- • Logical analysis - making the most of the information
sentials. Published in January 2012, the Royal Society’s report you have to deduce solutions
“Shutdown or Restart?” [1] stated the need for recognition of
computer science as a rigorous academic discipline of great • Algorithmic thinking - a solution to a problem often
importance in schools and described the current delivery of has several steps, even repetitions and requires strategy
computing education as “highly unsatisfactory”. and formulation of a set of rules
We use the term “digital literacy” [2] to refer to common • Efficiency - resources are previous, often this refers
and basic computer use, such as typing, word processing to the time required to solve a problem
and web browsing. These skills are taught under the vague • Innovation - observing the world and noticing where
term “ICT” and are fast becoming redundant as a result of things might be improved can lead to major advance-
ubiquitous exposure to computing. More recently, the term ments and push boundaries
“computing” is being used to replace ICT and attempt to
clarify the scope and nature of the subject.“computing” has Computational thinking is often brought up in the context
a much broader scope and shifts focus from using computers of learning computer programming, a notoriously difficult
to understanding how computers work and behave - a topic task [7] and whilst many struggle others seem to excel.
extrusion of a molten material at precise locations. As the
extruding tool moves and the material cools and hardens, a
solid structure is formed. The path of a 3D printers extruder
is controlled with a series of low-level machine instructions.
The generation of the instructions can be a complex problem
as most efficient paths for travel and details of interior support
structure are calculated and so they are usually generated
automatically from computer-aided design (CAD) software.
We used Printcraft 3 as a means to combine Minecraft with
real-world manufacturing for teaching fundamental computa-
tional, science, technology and engineering concepts without
the need to become familiar with complex CAD software.
For example, when working with a 3D printer a number of
aspects must be considered. As in Minecraft, it is not possible
Fig. 1. Student interest in subjects after attending the Printcraft bootcamp.
to place a block in mid-air, necessary support structures
are required. Similarly, bridge gaps will often collapse and
Yet there are no studies suggesting individuals may have a necessitate a series of steps to form an adequate arch (as
natural aptitude for programming. Programming languages are seen in real world architecture). Drawing similarities from
a formal combination of structures and commands that allow the virtual world of Minecraft and the physical world enables
algorithms (any step-by-step set of instructions) to be imple- students to experiment with engineering concepts and design
mented. Without the ability to effectively dissect a problem to develop an appreciation of issues going from concepts to
and design a solution it can be difficult to translate intentions implementation.
into code. One argument for the difficulty that many computer Students are organised into teams, each tasked with the
science undergraduates face when they start programming is goal of a specific building or group of buildings (such as a
that problem solving with computational thinking is not taught school, or housing). Teams are allowed to self-organise but
as a skill in the same way arithmetic or writing is. are encouraged to collaborate with one another.
When building a computer program it is not a simple task But it is the concepts of abstract design, combined with
of writing code until it is done. Many problems must be broken numerical control that we emphasise for their similarities with
down into individual tasks each with their own solutions. computational thinking.
Across the world, thousands of developers work seemingly
on isolation, yet collaboratively on projects 1 and are able to
do this thanks to the separation of concerns and abstraction
resulting from a computational approach to problem solving.
But it is not just programming challenges that benefit from
computational thinking. Our reason for focusing on the skill of
computational thinking in this paper is not only its significance
to the field of computing but also its application to literally any
field [4], [8].
II. E NGAGEMENTS
Technocamps Aberystwyth performs a variety of style
of engagements such as bootcamps (half-term, multi-day
courses), workshops (in-school, 3 hours) and an after-school Fig. 2. A town, designed in Minecraft then built with 3D printers. Students
club. Here we look an example of each and the resources are taken on a journey through design and manufacturing over the course of
utilised to enthuse students with a passion for technology a 2-day bootcamp.
whilst teaching transferable skills.
Particpants of the Printcraft bootcamp were all aged be-
tween 11-19 and were challenged to work in teams to design
A. Printcraft Bootcamp
(in Minecraft) and build (with 3D printers) a model city. The
Minecraft 2 is a hugely popular, multiplayer sandbox game bootcamp was assessed in the form of a questionnaire after
environment where participants can build with others online. It the event that asked a number of technical questions as well
attracts a massive number of users of all ages and has proven as interest in various subjects (Figure 1).
efficacy as an educational tool [9], [10]. Most often, Minecraft
Printcraft is a good “gateway” tool offering an approach to
is compared to LEGOTM for the style of play.
increasing understanding in computational thinking, computer-
3D printing is a process, also known as Fused Deposition aided design and manufacturing in a way that is engaging and
Modelling, in which 3D structures are made through the stimulating for pupils. The learning outcomes of the bootcamp
include understanding of:
1 Many examples are open-sourced on sites such as http://github.com/
2 http://minecraft.net/ 3 http://www.printcraft.org/
• 3D printing as an engineering tool
• Software and hardware processes behind 3D printing
(numerical control)
• Role of computer-aided design (CAD) in engineering
• Inter- and Intra- team collaboration
• Project planning and team role development
B. AppInventor Workshop
Mobile devices such as smart phones or tablets are quickly
replacing desktop computers for basic tasks such as email
and web browsing. Many social media services are dedicated
to mobile use and recent trends suggest mobile devices will Fig. 3. 28 student pairs designed and created their own mobile apps after
overtake desktop computers for browsing in the next couple of minimal tutoring. The graph shows how many used various components
years. As the availability of mobile computing increases there provided by AppInventor.
are new opportunities for development.
AppInventor 4 is a graphical android programming environ- • Understand the purpose of control structures in soft-
ment. Graphical programming replaces conventional text based ware code
control structures of programming languages with a drag-and-
drop interface allowing users to connect loops, conditionals, etc • Appreciate the hardware devices of typical mobile
in a visual environment. Graphical programming environments computing devices (accelerometer/orientation sensors,
can be an effective tool for introducing young people to pro- touch screen, audio, video, etc)
gramming and the associated computational thinking without • Understand a generalised process of software engi-
having to worry about syntax or spelling [11]. neering with deployment and development through an
For many students, their existing familiarity with such integrated environment
devices gives them some expectations as to how apps work and
what capabilities to expect. Developing their own app reshapes
the way they view the technology.
Over the course of 6 hours, students attending the workshop
first created a rudimentary app by following the example of the
tutor. The goal of this task was to give students a set of tools
and processes that could be applied to use any component of
their choice. Students were specifically shown integer/string
variables, if..else statements and for loops, as well as some
basic components (buttons, accelerometer, images). After this
brief introduction, students were encouraged to design then
create an app related to their studies. Examples included a
“‘babygotchi” childcare game, bird call library and historical
quote generators. Many students used their own initiative to
find audio/visual material on the Internet to use within their
Fig. 4. Example application: “Excuse generator’ that utilises arrays of strings,
applications. the device touch screen and a random number generator.
Figure 3 shows the various components of the Android API
(application programming interface) the 28 apps developed by C. Robotics Club
students used. We use the API interactions as a rough indicator
of participant interest and ability. The students from these Our most diverse engagement is via an after-school robotics
sessions had no prior programming experience and were aged club which is an ongoing project with weekly engagements
17-19. Most enthusiasm came from applications utilising sound with a general goal to building robotics projects of the partici-
in response to actions as well as dynamic events. pants’ own designs. A much broader understanding and range
of skills are required to cover both the hardware and software
From the workshop, students gained an appreciation of the aspects and access to a variety of resources including Arduino
complexity of apps often taken for granted and an understand- microcontrollers and Lego Mindstorms is provided. Figure 5
ing of how software interacts with the hardware of a device. shows one project - a humanoid robot made from 3D printed
The advantage of graphical programming is that logical and parts.
algorithmic skills essential to computational thinking can be
taught in a way that does not intimidate students with un- The learning outcomes of the club include:
necessary complexity. The learning outcomes of the workshop
include: • Understand basic electronic circuits and specific com-
ponents (such as light emitting diodes, tranistors and
4 http://appinventor.mit.edu/explore/ potentiometers)
As computer scientists it is easy to choose topics that
may be of interest and skills that may be of value, but it
is difficult to determine how effective engagements are at
communicating topics and developing new skills. Regrettably,
we have limited empirical evidence for determining how much
students gain from attending these courses. In the future it
would be desirable to formulate a comparable and robust
framework for assessing knowledge gains and reasoning skills
before and after engagement.
To those seeking to teach computational thinking or other
technological skills we hope the engagements discussed here
are of interest. Activities with which participants have existing
interest and experience are easier for many to relate to and the
proliferation of technology means that almost any student has
a subject or platform of interest to them. There are a number
of well-designed educational tools such as AppInventor and
Scratch but other options such as versatile gaming environ-
ments such as Minecraft should not be dismissed as merely a
game and have strong suitability for teaching formal skills in
a less direct manner.
The maker community has led to an uprise in affordable
computing technology for a diverse range of projects that
can suit any need; allowing students to get hands on and
interact with technology in ways not feasible before. Educators
Fig. 5. 3D printed head of an Inmoov - an open-source project for a humanoid
robot, selected and built by students at the club.
should do their best to immerse themselves in the opportunities
available for new ways of learning both about computers and
with computers.
• Work with popular environments such as S4A (Scratch
for Arduino) and NXT-G for microcontroller program- ACKNOWLEDGMENTS
ming
This work was part of the Technocamps project, funded
• Work with CAD software for printed circuit board by the Welsh European Funding Office with additional support
design from the Infinity interactive science and technology exhibition.
There are 22 long-term particpants aged 11-19; a ques- R EFERENCES
tionnaire was devised to assess the learning and progress
of particpiants that tested general and specific knowledge [1] The Royal Society, “Shut down or restart?: The way forward for
computing in UK schools,” 2012.
of technical areas. One item of interest highlighted by the
questionnaire was the concept of variables in programming, [2] Y. Eshet, “Digital literacy: A conceptual framework for survival skills
in the digital era,” Journal of Educational Multimedia and Hypermedia,
with 43% unclear on where they should be used. vol. 13, no. 1, 2004.
The robotics club offers opportunities to work with both [3] C. Anderson, Makers: The New Industrial Revolution. Crown Pub-
software and hardware which helps reduce the esoteric nature lishing, 2012.
of some computing aspects and allows participants to work [4] S. Hambrusch, C. Hoffmann, J. T. Korb, M. Haugan, and A. L.
Hosking, “A multidisciplinary approach towards computational thinking
where they have the most interest, without being forced into for science majors,” ser. SIGCSE ’09, 2009.
overly unfamiliar territory. [5] P. J. Denning, “The profession of it: Beyond computational thinking,”
Commun. ACM, 2009.
III. C ONCLUSIONS [6] J. M. Wing, “Computational thinking,” Commun. ACM, 2006.
Everyone should have the motivation and means to explore [7] T. Jenkins, “On the Difficulty of Learning to Program,” in 3rd annual
Conference of LTSN-ICS,, 2002.
their world. Computing is now ubiquitous, whether you realise
[8] R. Landau, G. Mulder, R. Holmes, S. Borinskaya, N. Kang, and
it or not - when you wear a digital watch, carry a mobile C. Bordeianu, “INSTANCES: incorporating computational scientific
phone or use an electronic door or use a cash machine - you’re thinking advances into education and science courses,” Concurrency
using computers. Computing furthers industry and science and and Computation: Practice and Experience.
improves education. It is only sensible that young people are [9] D. Short, “Teaching scientific concepts using a virtual world–minecraft,”
brought up with intimate knowledge of computing. Teaching Science, 2012.
[10] S. C. Duncan, “Minecraft, beyond construction and survival,” Well
The term “computational thinking” is a common one that Played, vol. 1, 2011.
communicates logical, algorithmic processes that can empower [11] M. Resnick, J. Maloney, A. Monroy-Hernández, N. Rusk, E. Eastmond,
students greater reasoning ability and problem solving. We K. Brennan, A. Millner, E. Rosenbaum, J. Silver, B. Silverman, and
have presented three diverse engagements that seek to com- Y. Kafai, “Scratch: Programming for all,” Commun. ACM, 2009.
municate this skill, as well as technical expertise in a way that
is reproducible and engaging for participants.