Вы находитесь на странице: 1из 6

Computational Thinking in Educational Activities

An evaluation of the educational game Light-Bot


Lindsey Gouws Karen Bradshaw Peter Wentworth
Dept. of Computer Science Dept. of Computer Science Dept. of Computer Science
Rhodes University Rhodes University Rhodes University
Grahamstown, South Africa Grahamstown, South Africa Grahamstown, South Africa
lindseygouws@gmail.com k.bradshaw@ru.ac.za p.wentworth@ru.ac.za

ABSTRACT in this regard1 , no formal guidelines have been established.


Computational thinking is gaining recognition as an impor- In this paper we present a framework intended to address
tant skill set for students, both in computer science and the problem of how to identify, evaluate, and incorporate
other disciplines. Although there has been much focus on computational thinking into education. In particular, we
this field in recent years, it is rarely taught as a formal course focus on the use of this framework to assess the computa-
within the curriculum, and there is little consensus on what tional thinking involved in completing an educational game,
exactly computational thinking entails and how to teach and Light-Bot2 .
evaluate it. To address these concerns, we have developed a Computational thinking is an approach to problem solving
computational thinking framework to be used as a planning that draws on the techniques used in computer science [8].
and evaluative tool. Within this framework, we aim to unify Jeannette Wing, a key voice in the field, describes compu-
the differing opinions about what computational thinking tational thinking as the mental tools that allow us to make
should involve. As a case study, we have applied the frame- the best use of our metal tools [8]. Therefore, computational
work to Light-Bot, an educational game with a strong focus thinking is not about thinking like a computer, but rather
on programming, and found that the framework provides thinking about problems from a computational perspective,
us with insight into the usefulness of the game to reinforce emphasising the ideas of what is computable and how com-
computer science concepts. putation works. This approach includes exploring all aspects
of the problem, considering the complexity of the problem,
and finding an optimal solution that can be achieved with
Categories and Subject Descriptors the available resources.
K.3.2 [Computing Milieux]: Computers and Education— Although computational thinking is typically used for pro-
Computer and Information Science Education gramming, these techniques have proven to be effective in a
broader range of disciplines, with applications as diverse as
engineering, medicine, law, and journalism [9].
General Terms Computational thinking is not an alternative to learning
Human Factors to program; it is a way of reinforcing concepts and supple-
menting programming education. Lu and Fletcher suggest
that computational thinking is required to prepare students
Keywords for programming courses [5]. We believe that through a
Computational Thinking, Computer Science Education, Eval- good grounding in computational thinking, students can de-
uation Framework velop stronger mental models which will ultimately make
them better programmers. The advantages of computa-
tional thinking are transparent: by focusing on semantics
1. INTRODUCTION rather than the syntax of a specific language, we develop
There is widespread agreement about the importance and students who are skilled problem-solvers first, and coders
relevance of computational thinking; however, there is little later.
consensus on a formal definition for computational thinking,
and discrepancy in beliefs of how it should be integrated into
educational programmes. Although efforts have been made
2. THE COMPUTATIONAL THINKING
FRAMEWORK
To address the issues around incorporating computational
thinking into education of novice students, we have designed
Permission to make digital or hard copies of all or part of this work for a Computational Thinking Framework (CTF) to serve as a
personal or classroom use is granted without fee provided that copies are foundation for designing computational thinking materials.
not made or distributed for profit or commercial advantage and that copies This framework describes the skill sets that make up com-
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific 1
permission and/or a fee. Principled Assessment of Computational Thinking: http:
ITiCSE’13, July 1–3, 2013, Canterbury, England, UK. //pact.sri.com
2
Copyright 2013 ACM 978-1-4503-2078-8/13/07 ...$15.00. http://armorgames.com/play/2205/light-Bot

10
putational thinking, as well as the different levels at which Many would agree that abstraction forms the basis of all
these skills may be practiced. The CTF is represented as a forms of computational thinking [8, 2]; it is suggested that an
two-dimensional grid; the purpose of each axis is discussed inability to think abstractly is closely related to an inability
below. A visual representation of the framework is provided to produce elegant, high-quality solutions [4].
in Figure 1. Barr et al. suggest that the representation of data through
The CTF has been designed to be sufficiently flexible for abstractions is a necessary skill [2]. The notion of repre-
use in a range of applications. The primary uses that we sentations is prevalent in computer science, particularly for
envision are evaluation of exercises, classification of practice data storage and manipulation. Anecdotal experience sug-
activities, and design of curricula and student assessments. gests that novice programming students may experience dif-
ficulty moving between different representations; for exam-
ple, when given a mathematical formula, they exhibit an
inability to express the formula programmatically in a lan-
guage like Python. This ability to reformulate problems is
a necessary skill for studying programming [7]. Models and
simulations can reinforce understanding of abstraction [2],
and assist in understanding of the problem domain.
This skill set embodies the questions of how to represent a
problem and solution. It underscores the importance of ab-
stract thinking, particularly the ability to simplify complex
problems, getting to the core of the problem, and moving
Figure 1: Computational Thinking Framework between higher and lower levels of detail.

3.3 Patterns and Algorithms


3. VERTICAL AXIS Algorithmic thinking is used extensively in computer sci-
For the CTF, we have broken down the field of compu- ence, and therefore acknowledged as a component of compu-
tational thinking into six distinct areas, encompassing the tational thinking [2]. Patterns in computer science can take
problem solving skills that are learned through program- many forms, including the use of loops for iteration, recur-
ming. As a student becomes more experienced in computer sion, and functions for commonly used pieces of code. An
science, their ability in all of these areas should improve. understanding of these patterns can lead students to solu-
This decomposition allows for a multi-pronged approach; tions that are simpler and more elegant, or that would have
students may be tested in all areas, and then receive fur- been impossible without using the correct strategy. When
ther intervention in areas where they are found to perform students are able to identify repetitive behaviour, they are
weakly. able to capitalise on this in the problem solving process.
To classify the skill sets, we aggregated all the concepts This skill set encompasses the ability to recognise patterns
that other authors believe to be part of computational think- and similarities in a problem or group of problems, as well
ing. We then arranged these concepts into related groupings, as the use of an algorithmic approach to devise solutions.
and gave each grouping a suitable name. The resulting clas- The primary focus is on generalisation and simplicity: by
sifications are discussed below. using patterns, students are able to create solutions that
are simplified, and both adaptable and reusable for a wider
3.1 Processes and Transformations range of problems.
The ability to see solutions as processes is cited as a major
focus in computational thinking [4]. Many computational
exercises revolve around the processing and transformation 3.4 Tools and Resources
of some kind of data or input [4]. Furthermore, it is sug- Computational thinking is more tool-oriented than other
gested that computational thinking should include the pro- forms of thinking [2]. There is a dependence on machines
cess of defining solutions as a series of ordered steps [2]. as tools to facilitate computation, but we can also view pro-
Through appropriate activities and examples, students may gramming constructs as tools to be used and manipulated.
also be introduced to input, output and parallel process- When novice students begin programming, there are a num-
ing. There are various artefacts that students can use to ber of concepts that are conventionally learned, such as vari-
help them to visualise processes, including state transition ables, conditionals, and iteration. These concepts become
diagrams and flow charts. building blocks or tools that can be used to solve more com-
This skill set encompasses the idea of decomposing a prob- plex problems.
lem into multiple steps, and the processes required to solve Resource dependence and allocation are useful concepts
the problem for each of these steps. Furthermore, it includes for students to grasp [6, 7]. The ability to select the most
the way that data is transformed throughout the process, appropriate tool for the task signifies an accomplished pro-
and the recognition of different states. The take-away idea grammer. The nature and limitations of the desired goal
for this skill set is planning: chunking a problem into the should be considered when making these design decisions.
constituent parts that need solving, and then organising the This skill set encompasses the availability, strengths, and
solution into a logical progression. limitations of the resources that can be used to solve a prob-
lem. When approaching a problem, students must consider
3.2 Models and Abstractions what tools are available. It may be necessary to create new
The ability to think abstractly has been cited as one of tools, or combine existing tools. Similarly, students need to
the most fundamental skills for computer science students. consider what resources are available, what the limitations

11
of these resources are, and which resource is best suited to stand a given problem, while the higher two levels reflect
achieve the requirements. how computational thinking is actively used to create a so-
lution. Although these levels correspond loosely to the cat-
3.5 Inference and Logic egories of the Revised Bloom’s Taxonomy [3], the order in
There can be no doubt that logic is essential in computer which they are placed is more applicable to the domain of
science. Barr et al. list logically organising and analysing computational thinking, rather than a broader educational
data, as well as the ability to generalise and transfer prob- domain. When designing assessments or curricula, cogni-
lems, as essential components of computational thinking [2]. sance should be given to the level at which the materials are
They also discuss a tolerance for ambiguity as an impor- aimed. Should an educator wish to place a greater focus on
tant mind-set. Following from this, we assert that computer any of the skill sets, the requirements for those skill sets may
science students need strong comprehension skills to extract be higher than for the rest. The four levels of engagement
the relevant details from a problem, using techniques like in- are discussed below.
duction and deduction. Computational thinking is a creative
exercise, requiring students to develop their own heuristics 4.1 Recognise
for solving problems [4, 6], and to develop new, inventive The recognise level correlates most closely with the re-
approaches to problems. member level of the Revised Bloom’s Taxonomy. At the
This category encompasses the thinking skills and tech- remember level, students are expected to recognise and re-
niques used to formulate a solution to a problem; it includes call knowledge [3]. At this level in the CTF we expect that
how information is discovered and expanded, as well as how students should be able to identify aspects of the problem
heuristics are developed to produce inventive approaches to that are computational in nature, but only exhibit a super-
problem solving. ficial understanding of the concept. The emphasis at this
level is on observation.
3.6 Evaluations and Improvements
Identifying, analysing, and implementing possible solu- 4.2 Understand
tions are significant steps in becoming an accomplished prob- The understand level in the CTF relates directly to the
lem solver [2]. This is done with the intention of finding the understand level in the Revised Bloom’s Taxonomy, or the
optimal combination of actions and resources [2]. There are comprehension level in the original Bloom’s Taxonomy. At
two ideas here, debugging and performance. this level of the taxonomy, students are expected to inter-
The approach to debugging should go beyond the simple pret, compare and explain the problem [3]. In the case of
task of finding flaws. Firstly, debugging should involve a the CTF, we expect that students should exhibit an under-
divide and conquer approach to identify the specific location standing of the computational nature of the problem, and
of a problem. This can be done formally through the use use this insight to frame the way they view the problem.
of mechanisms like breakpoints, or more informally through
methods like print statements. Secondly, debugging involves 4.3 Apply
a process of hypothesising and experimenting to ascertain
At this level in the CTF, students should understand the
under which conditions the problem occurs, often done as
nature of the problem, and should be actively using com-
an iterative process of narrowing down the search space for
putational thinking to find the solution to a given problem.
the error. Once the location of the error has been identified,
By exercising computational thinking, they should create
attempts at correcting it may be made.
solutions that are correct, elegant, and appropriate for the
The performance of a solution is often overlooked by novice
context. This level corresponds to the apply and create cat-
programming students, but can become a significant factor
egories of the Revised Bloom’s Taxonomy.
later on. There are a number of factors students need to
consider concerning the performance of their solutions, in- 4.4 Assimilate
cluding scalability, redundancy, and generalisability.
This skill set encompasses the skills and techniques used At this final level in the CTF, students should be able to
to identify and correct errors in the proposed solution to a combine lower level concepts into new, high level tools and
problem, as well as the ability to evaluate and select the best ideas that can be used to solve more complex problems. To
solution for a given problem. The take-away idea for this do this, students must understand how different concepts
category is the ability of the student to critically evaluate complement each other, and must be able to critically anal-
their own work, either in finding flaws or possible improve- yse and decompose a problem. Although this level is sig-
ments. nificantly different to the categories of the Revised Bloom’s
Taxonomy, it relates most closely to the analyse and evalu-
ate levels.
4. HORIZONTAL AXIS
As a discipline, computational thinking is involved with
the development of mental abilities, and the progressive way 5. LIGHT-BOT: A CASE STUDY
in which students learn to think computationally. Research Light-Bot is an educational Flash game developed by Ar-
on Bloom’s Taxonomy of Learning [1] suggests that students mor Games. The objective of the game is to program a
learn different kinds of skills in a hierarchical manner [3]. In small robot to light up all the blue blocks on a board. This
order to reflect the complexity of computational thinking objective is achieved by giving the robot a series of instruc-
skills, we adopt a similar approach, reflecting the different tions from a limited set of commands, with a finite instruc-
levels at which these skills can be practiced. We have de- tion space. As the levels progress, the board becomes in-
fined four levels of engagement in the CTF; the lower two creasingly more complicated, and more sophisticated com-
levels reflect how computational thinking is used to under- binations of commands are needed to achieve the goal for

12
the level. A screen capture from level seven of Light-Bot is
shown in Figure 2.

Figure 3: This evaluation of Light-Bot highlights the


Figure 2: Light-Bot at level seven particular strengths and weaknesses of the game for
exercising a student’s abilities in the different areas
When we consider Light-Bot, with its simplified program- of computational thinking.
ming environment, it seems fairly transparent that interac-
tion with the game would benefit novice computer science
students. A quantified description of the educational ben- 5.3 Discussion
efits of Light-Bot would be of value to educators, allowing In this section we discuss the observations that emerged
them to highlight particular concepts with analogies from from the analysis of Light-Bot, with reference to the scores
Light-Bot, as well as discussing conceptual areas that Light- it attained in the evaluation.
Bot fails to address. Here, we apply the framework discussed
in Section 2 to obtain a quantified description of the value 5.3.1 Processes and Transformations: 75%
of Light-Bot. The goal in Light-Bot is to transform blue blocks into illu-
minated yellow blocks. To achieve this transformation, the
5.1 Methodology student must devise a plan to navigate the robot to each
The following approach was taken to obtain a computa- of the blue blocks, where a light-up command must be exe-
tional thinking score (CTS) for Light-Bot: The researchers cuted. When solving a level, the board can be decomposed
studied the game of Light-Bot, assessing all the different lev- into different sections that need solving, and the commands
els to discover what skills are required to solve each level. needed for each section can then be determined and arranged
The overall aims and representation of the game were stud- into a logical order. To reinforce the decomposition, func-
ied to see what general trends emerged. Using the CTF, a tions may be used to group related instructions. The game
score was assigned for every block in the grid. incorporates the aspect of states: it can be in the design,
The scoring of the game was done using the following four running, stopped, or solved state.
point Likert scale: 0 – Poor, 1 – Fair, 2 – Good, 3 – Excel- From these observations, it is clear that Light-Bot rein-
lent. forces the concepts of processing and transformations. How-
The scores indicate to what extent concepts are present ever, it lacks any form of data use and manipulation, as well
in the game. A score of zero indicates that the concept as input and output.
is completely ignored, while scores between one and three
indicate how integral the concept is in the game play. Once 5.3.2 Models and Abstractions: 92%
scoring was completed, the sub-scores for each of the six The model of Light-Bot, a visual representation of pro-
skill sets were aggregated and converted to a percentage. gramming, makes it attractive. Students must understand
The percentages for all the skill sets were then combined to how the model works and how to interact with it; for exam-
form an overall CT score, represented as a single percentage. ple, if the block in front of the robot is raised it must execute
The authors acknowledge that the Likert scale is by its a jump command. However, they do not have any control
nature a subjective system used to evaluate an individual’s over adapting the model or editing levels in the game.
response to a situation or activity. Although attempts have In terms of abstraction, Light-Bot incorporates some ab-
been made to remain as objective as possible, it is acknowl- straction through the use of functions. If a function is de-
edged that diverse participants may approach the game with signed to do a particular activity, students need to think
different strategies. about the pre- and post-conditions, as well as which actions
to include and which to exclude to make the function as
5.2 Results general as possible.
The results of the Light-Bot evaluation are provided in Light-Bot could be used to teach students about notation,
Figure 3. This graph shows the overall scores for the differ- possibly by introducing a notation to represent solutions for
ent skill sets in the framework, represented as percentages. the levels, but this is not part of the game itself.
The graph indicates that Light-Bot performs well overall,
with strengths in particular areas. The final CTS for Light- 5.3.3 Patterns and Algorithms: 58%
Bot is 74%. The solution for each level of Light-Bot can be considered
as an algorithm to solve that level. Each algorithm should
have a specific intention. For instance, an algorithm could

13
be designed to illuminate all the blue blocks in a checkered single-step through instructions, which may assist students
pattern, although this degree of intent is not apparent for in logically thinking through their solutions.
all levels. Several levels of Light-Bot have repetitive sec-
tions; for example, level nine consists of the four sides of a 6. CONCLUSION
square. In Light-Bot, repetition can be leveraged by placing
In this paper, we presented a framework for preparing and
repeated actions in functions, which can then be called re-
analysing computational thinking materials. This frame-
peatedly. However, the programming model for controlling
work presents computational thinking as a creative, dynamic
the robot is not Turing-complete, meaning that it is limited
approach to problem solving, which can constantly be prac-
in the computation that it can simulate. As a first step to-
ticed and improved. The CTF aggregates many ideas of the
wards a more powerful programming model, it could benefit
factors that make up computational thinking, and presents
from a discrete mechanism for definite and conditional it-
them in a structured way.
eration. Although functions can call themselves, there are
As an initial use of the CTF, we applied it as an eval-
no conditionals, so it is not possible to provide a base case
uation tool to the educational game Light-Bot. We found
for a recursive call. Any recursive call is thus effectively a
Light-Bot to be a useful game for practicing computational
non-terminating loop.
thinking, with an overall CTS of 74%. It was shown to be
Although Light-Bot has great potential for reinforcing the
stronger in particular conceptual areas, for example models
use of patterns and algorithms, we feel that in practice it
and abstractions, as well as tools and resources, but weaker
fails to address these on a meaningful level. This could be
in areas like patterns and algorithms, largely owing to a lack
remedied with thoughtfully designed levels, as well as the
of flexible tools. Interestingly, Light-Bot 2.03 addresses some
addition of new tools to achieve Turing-completeness.
of these shortcomings with the addition of conditionals, re-
cursion, and a level editor.
5.3.4 Tools and Resources: 83%
A potential issue of concern is transference; although it
The game has a defined set of tools in the form of the may seem obvious to an experienced programmer that there
commands that the robot can execute. It could potentially are commonalities between Light-Bot and programming, this
benefit from an extension to allow students to make their link may be much less transparent to novice computer sci-
own tools, or to combine tools to create new tools. This is ence students.
somewhat possible using functions, but could be extended We feel that the Light-Bot evaluation indicates that our
by allowing the student to name, save, and reuse functions. framework is suitably able to evaluate a computationally
The finite instruction space is a consumable resource, which thinking activity, highlighting strengths and weaknesses, and
forms an integral part of the game, forcing students to refac- producing a usable result.
tor instructions or create functions, where they might oth-
erwise have written the same set of instructions repeatedly 6.1 Future Work
to reach the solution. The work on this framework is intended to be founda-
tional, providing a launchpad for further research on compu-
5.3.5 Inference and Logic: 50% tational thinking. Some of the future work that we envision
Although it is necessary to think logically about solutions, includes:
Light-Bot does not provide much scope for practicing in-
ference, and comprehension of the premise of the game is • developing a computational thinking test to administer
relatively trivial. However, students may develop personal to students, allowing educators to gauge the level of
heuristics that help them to approach the game and progress their computational thinking;
through the different obstacles in a level. The addition of
conceptual features like randomisation or conditionals could • the design of a computational thinking curriculum, in-
increase the logic skills needed to solve the levels in the game. corporating computational thinking as a formal mod-
ule in introductory computer science courses;
5.3.6 Evaluations and Improvements: 83% • an investigation into the ability of students to transfer
Although it is possible to solve a number of the levels in general computational thinking skills to programming;
more than one way, Light-Bot does not give students much and
reward for elegant solutions. The number of commands used
to solve each level is counted, but there is no reward for using • the development of an interactive activity or game to
fewer commands, other than perhaps, personal satisfaction. allow students to engage with computational think-
In some cases, excessive commands may undo a solution ing, whilst monitoring and improving their own per-
by unlighting a previously lit-up square, forcing students to formance.
look for simpler solutions. Similarly, some of the advanced
levels can only be solved by making proper use of functions,
6.2 Resources
forcing students to rethink the structure of their sequential With its rise in popularity, a number of resources have
solutions. been developed to explore and promote computational think-
When debugging is required, Light-Bot performs well be- ing. Some of the more popular ones are listed below:
cause the student can see what is happening as the robot
• CSUnplugged: A website with a collection of ac-
moves around the board. The ability to watch Light-Bot
tivities that teach computer science through puzzles,
move allows the student to check the results of their solution
games and demonstrations.
and make adaptations as needed. Errors are clearly visible
http://csunplugged.com
when the robot does not behave as expected. A possible
3
improvement would be the ability to set breakpoints and http://armorgames.com/play/6061/light-Bot-20

14
• CS4FN magazine: An online magazine that pro- [3] U. Fuller, C. Johnson, T. Ahoniemi, D. Cukierman,
motes computer science as a fun, creative discipline. I. Hernán-Losada, J. Jackova, E. Lahtinen, T. Lewis,
http://www.cs4fn.org D. Thompson, C. Riedesel, and E. Thompson.
Developing a computer science-specific learning
• Exploring Computational Thinking: A collection taxonomy. SIGCSE Bull., 39(4):152–170, Dec. 2007.
of lesson plans and examples provided by Google, that [4] C. Hu. Computational thinking: what it might mean
show how computational thinking applies to different and what we might do about it. In Proceedings of the
subjects. 16th annual joint conference on Innovation and
http://www.google.com/edu/computational-thinking/ technology in computer science education, ITiCSE‘11,
lessons.html pages 223–227, New York, NY, USA, 2011. ACM.
• Alice: A 3D programming environment, intended to [5] J. J. Lu and G. H. Fletcher. Thinking about
promote computational thinking, problem solving and computational thinking. SIGCSE Bull., 41:260–264,
computer programming. March 2009.
http://www.alice.org [6] M. Schaefer. Computational thinking in a liberal arts
cryptology course. Online: compthink.cs.depaul.edu/
7. ACKNOWLEDGMENTS documents/finalDrafts/finalDraft_CSC_233.pdf,
April 2009.
This work was undertaken in the Distributed Multime-
[7] J. Wing. Computational thinking. Communications of
dia CoE at Rhodes University, with financial support from
the ACM, 49(3):33–35, March 2006.
Telkom SA, Tellabs, Genband, Easttel, Bright Ideas 39,
THRIP and NRF SA (UID 75107). The authors acknowl- [8] J. Wing. Computational thinking and thinking about
edge that opinions, findings and conclusions or recommen- computing. Philosophical Transactions of the Royal
dations expressed here are those of the author(s) and that Society, pages 3717–3725, 2008.
none of the above mentioned sponsors accept liability what- [9] J. Wing. Research Notebook: Computational Thinking
soever in this regard. The financial assistance of the Eriksen - What and Why? Online:
Trust is also acknowledged. link.cs.cmu.edu/article.php?a=600, Spring 2011.

8. REFERENCES
[1] J. S. Atherton. Learning and Teaching; Bloom’s
Taxonomy. Online: www.learningandteaching.info/
learning/bloomtax.htm, 2011.
[2] D. Barr, J. Harrison, and L. Conery. Computational
thinking: A digital age skill for everyone. Learning &
Leading with Technology, pages 20–22, March/April
2011.

15

Вам также может понравиться