Академический Документы
Профессиональный Документы
Культура Документы
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.
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.
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