Conference PaperPDF Available

Comparing Computational Thinking Development Assessment Scores with Software Complexity Metrics

Authors:

Abstract

The development of computational thinking skills through computer programming is a major topic in education, as governments around the world are introducing these skills in the school curriculum. In consequence, educators and students are facing this discipline for the first time. Although there are many technologies that assist teachers and learners in the learning of this competence, there is a lack of tools that support them in the assessment tasks. This paper compares the computational thinking score provided by Dr. Scratch, a free/libre/open source software assessment tool for Scratch, with McCabe’s Cyclomatic Complexity and Halstead’s metrics, two classic software engineering metrics that are globally recognized as a valid measurement for the complexity of a software system. The findings, which prove positive, significant, moderate to strong correlations between them, could be therefore considered as a validation of the complexity assessment process of Dr. Scratch.
Comparing Computational Thinking Development
Assessment Scores with Software Complexity
Metrics
Jesús Moreno-León
Programamos.es
Sevilla, Spain
jesus.moreno@programamos.es
Gregorio Robles
Universidad Rey Juan Carlos
Madrid, Spain
grex@gsyc.urjc.es
Marcos Román-González
Universidad Nacional de Educación
a Distancia
Madrid, Spain
mroman@edu.uned.es
Abstract—The development of computational thinking skills
through computer programming is a major topic in education, as
governments around the world are introducing these skills in the
school curriculum. In consequence, educators and students are
facing this discipline for the first time. Although there are many
technologies that assist teachers and learners in the learning of
this competence, there is a lack of tools that support them in the
assessment tasks. This paper compares the computational
thinking score provided by Dr. Scratch, a free/libre/open source
software assessment tool for Scratch, with McCabe’s Cyclomatic
Complexity and Halstead’s metrics, two classic software
engineering metrics that are globally recognized as a valid
measurement for the complexity of a software system. The
findings, which prove positive, significant, moderate to strong
correlations between them, could be therefore considered as a
validation of the complexity assessment process of Dr. Scratch.
Keywords—computational thinking, Scratch, programming,
assessment tools, Dr. Scratch, software metrics, complexity
INTRODUCTION
In recent times, the development of computational thinking
skills is a major topic of interest among educational
institutions, politics and academia [1]. All over the world,
initiatives are spreading to promote this skill through
computer programming from an early age, both in formal and
informal environments [2]. There are many technologies that
have been created in order to assist learners in the learning of
these skills, such as the historic Logo [3], or the more recent
Scratch [4] or Alice [5] programming languages, the
introduction of robots in the classroom [6], or the availability
of affordable hardware devices such as Raspberry Pi or
Arduino [7]. However, the number of learning assessment
tools that support learners and educators in the development of
their computational thinking skills is still a field to be
developed conveniently. With our contribution we want to
shed some light into how Dr. Scratch [8], a free/libre/open
source software assessment tool for Scratch, correlates with
other, classic software engineering complexity metrics, and
provide a perspective of how these tools should be designed to
maximize support to teachers and learning by learners.
The paper is structured as follows. In Section II we justify
the need for tools that support learners and educators in the
assessment and development of computational thinking skills,
present the inner working of Dr. Scratch and other classic
software engineering complexity metrics, and review literature
comparing several software metrics. Section III explains the
procedure we have followed in this investigation, presenting
the implementation of classic metrics for Scratch, specifically
McCabe’s cyclomatic complexity and Halstead’s measures,
and justifying the selection of the Scratch projects that have
been analyzed to compare the complexity score by Dr. Scratch
with those obtained by using the traditional complexity
metrics. Section 4 presents the results of the study, discussing
the significance of the correlations detected between metrics.
Finally, Section 5 includes the conclusions of our study and
ideas for future work.
BACKGROUND
In the last years, governments around the world have
introduced computer programming in their national or regional
educational curriculum to develop computational thinking
skills of students [9, 10]. In K-12, the most common
instrument to develop these skills is the use of visual
programming languages based on blocks [11]. Scratch is
undoubtedly the most used language in this educational
environment. In the moment of writing this paper, the Scratch
statistics1 indicate that there are more than 8 million registered
users, and over 11 million projects are publicly shared in the
Scratch web repository.
Despite the obvious success of these tools in bringing
programming and computational thinking to young people,
there are studies that have discovered some habits of
programming in students learning to program with these
platforms that are contrary to accepted practice in computer
science [12, 13]. This situation is due to the lack of tools that
support both learners and educators in the assessment of their
learning.
In order to amend this situation, the authors created Dr.
Scratch, a web tool that analyses Scratch projects to offer
feedback to educators and learners and assigns a
computational thinking score to the projects. Its effectiveness
to foster computational thinking skills has been proved [8], as
learners use the feedback provided by the tool to improve their
programs. Learners also realize with the help of Dr. Scratch
1 https://scratch.mit.edu/statistics/
how to improve their programming skills. Dr. Scratch is being
used both by students and teachers from different educational
levels, but also by organizations with programming initiatives
that need data to evaluate their projects’ effectiveness [14].
The computational thinking score assigned by Dr. Scratch,
which ranges from 0 to 21 points, is based on the degree of
development of different dimensions of the computational
thinking competence, such as abstraction and problem
decomposition, logical thinking, synchronization, parallelism,
algorithmic notions of flow control, user interactivity and data
representation, which are statically evaluated by inspecting the
source code of the analysed project [15]. It is therefore a
complexity value that could be compared with other, classic
software engineering metrics used to measure the complexity
of a program.
The cyclomatic complexity (CC) is a graph-theoretic
complexity measure that can be used to manage and control
program complexity [16]. This metric is based on the number
of linear independent paths in a program, and can be used to
establish the number of test cases in the basis path testing
methodology [17]. Halstead’s metrics identify certain
properties of a program that can be measured and the
relationships between them to assess software complexity
[18]. These metrics have been widely used in software
engineering to estimate maintenance efforts and guide
software testing by identifying complex, hard to maintain
modules [19].
These software complexity metrics have been extensively
investigated and compared in the last decades. Henry, Kafura
and Harris [20] reported the results of correlation studies made
among three complexity metrics applied to 165 procedures in
the UNIX operating system, detecting high correlations
between CC and Halstead’s metrics (correlation coefficient
CC-H’s length = 0.9145, correlation coefficient CC-H’s effort
= 0.8411). Li and Cheung [21] compared 31 metrics by
analyzing 255 FORTRAN programs and detected strong
correlations between them (correlation coefficient CC-H’s
vocabulary = 0.886). More recently, Zhang and Badoo [22]
conducted an investigation to compare the performance of
different complexity metrics using data from Eclipse JDT
open source project detecting a significant correlation between
CC and Halstead’s effort (correlation coefficient = 0.6965).
These results confirm a certain consistency between these
metrics. In consequence, being the Dr. Scratch score a value
that indicates some kind of complexity in Scratch code, this
investigation aims to find correlations between CC, Halstead’s
metrics and Dr. Scratch score by analyzing 100 projects of the
Scratch repository.
METHODOLOGY
A. Implementation of the metrics analyzer for Scratch
projects
To implement the CC and Halstead’s analyzer for Scratch
projects, the authors have developed a Hairball plug-in called
metrics2. Hairball [23] is a static code analyzer for Scratch
projects that is programmed in Python and allows adding plug-
ins to perform new types of analysis.
2 https://github.com/jemole/hairball/blob/master/hairball/plugins/metrics.py
The implementation of the CC is based on the number of
decision points, as McCabe showed that this number plus 1 is
equal to the number of basic paths through a structured
program [16]. The calculation of the Halstead’s metrics are
based on the number of distinct operators, the number of
distinct operands, the total number of operators and the total
number of operands of the program, denoted as n1, n2, N1 and
N2, respectively [18]:
Vocabulary: the total number of distinct operators
and operands. n = n1 + n2
Length: the sum of all necessary tokens for the
computation of the program. N = N1 + N2
Volume: the number of bits necessary to represent
the program .V = N * log2 n
Difficulty: is used to compare different
implementations of the same algorithm. The
longer the implementation, the higher the
difficulty. D = n1/2 * N2/n2
Effort: effort required to understand or create a
program. E = D * V
Table I presents the results of calculating both metrics for
the Scratch program showed in Fig. 1. CC is 3, as there are
two decision points ('repeat until %s%s', 'if %s then%s'). The
values for the Halstead’s metrics derive from the operators and
operands lists, being n1=9, N1=9, n2=6, N2=8:
Operators: 'x pos' (*3), 0, 'Enemy', 10, 200, 'I
win!!’
Operands: 'touching %s?', 'set %s to %s', 'say
%s', 'change %s by %s', 'if %s then%s', '%s >
%s', 'repeat until %s%s', '%s', 'when @greenFlag
clicked'
B. Study sample
In a previous investigation [24], the authors detected
Fig.1: Scratch program
TABLE I. CYCLOMATIC COMPLEXITY AND HALSTEAD METRICS FOR
THE SCRATCH PROJECT IN FIGURE 1
Metric Value
Cyclomatic complexity 3
Vocabulary 14
Length 14
Volume 66.42
Difficulty 53.30
Effort 293.86
differences in the score of the computational thinking
dimensions measured by Dr. Scratch among several kinds of
Scratch projects. For instance, storytelling projects tended to
score very low in terms of logical thinking, as stories have a
linear structure with less branches and decision points . This is
congruent with an investigation that compared the
programming skills fostered when coding different types of
projects [25].
In consequence, aiming to select projects with a broad
range of Dr. Scratch scores, we downloaded different types of
Scratch projects. As projects in the Scratch repository are
tagged by categories, we randomly selected 25 projects of
each of the following categories: stories, animations, games
and art creations. Table II shows the characteristics of the
study sample regarding the computational thinking score
assigned by Dr. Scratch. Although 100 projects were
downloaded, 5 of them produced an error while being
analyzed, which limits the sample size to 95 projects. The
mean score was 13.75, while both median and mode were 15.
Fig. 2 shows the frequency histogram of the computational
thinking scores assigned by Dr. Scratch. As can be seen, there
is a broad range of scores, with projects from 5 to 20 points,
although there is a majority of projects rated with 14 o more
points.
TABLE II. DR. SCRATCH COMPUTATIONAL THINKING SCORE OF
THE ANALYZED PROJECTS
Fig. 2: Frequency histogram of Dr. Scratch CT Score of the analyzed
projects
FINDINGS
Table III shows the descriptive statistics of the analyzed
projects for the different metrics. As can be seen, for this study
the only Halstead measurements that have been taken into
account are Vocabulary and Length. Other values, such as
Volume or Effort, are nonlinear, and would thus require a
different statistical analysis. Nonetheless, given the goals of
this investigation, Vocabulary and Length are considered
sufficient to find correlations between Dr. Scratch and
Halstead’s metrics.
Table IV shows the correlations between each of the
metrics. As shown, Dr. Scratch computational thinking score
has a positive, significant, moderate to strong correlation with
both CC and Vocabulary, while has a positive, significant
moderate correlation with Length. This indicates that the
complexity measurement of Dr. Scratch is in line with other,
classic software engineering complexity metrics, which could
be considered as a validation of the complexity assessment
process of the tool.
Congruently with the reviewed literature, Halstead’s
metrics and McCabe’s CC also have a positive, significant
strong correlation for the sample of analyzed Scratch projects.
As expected, the correlation between Halstead’s Vocabulary
and Length is also positive, significant and strong.
TABLE III. MEAN AND STANDARD DEVIATION FOR EACH METRIC
TABLE IV. CORRELATION BETWEEN METRICS
** Significant correlation 0.01 level (bilateral)
Fig. 3 shows the scatter plot of Dr. Scratch computational
thinking score and CC with its best fitting line. The coefficient
of determination is r2 = .385, which indicates that 38.5% of the
variance of Dr. Scratch CT score of a project can be predicted
from its CC value. As can be seen, the relationship between
these two variables is better represented by the linear model
for values under 16 Dr. Scratch CT points. However, for those
projects with a higher score, the model is not as accurate.
A similar situation is depicted in Fig. 4, where the scatter
plot of Dr. Scratch computational thinking score and
Halstead’s Vocabulary with its best fitting line is shown. In
this case r2 = .461, which states a better accuracy of the linear
model than the prior one. However, it is clear that for those
projects with a Dr. Scratch CT score over 16 points, the model
does not represent the relationship between the metrics with
the same accuracy.
Fig. 5 presents the scatter plot of Dr. Scratch
computational thinking score and Halstead’s Length with its
best fitting line, where r2 = .319. As shown in the picture, in
general, the projects with a Dr. Scratch CT score fewer than 16
points are placed much closer to the best fitting line than those
with a higher score.
Fig. 3: Scatter plot of Dr. Scratch CT Score and Cyclomatic Complexity with
its best fitting line. r2 = .385.
Fig. 4. Scatter plot of Dr. Scratch CT Score and Halstead’s Vocabulary with its
best fitting line. r2 = .461.
The fact that the same phenomenon has been detected in
the three scatter plots seems to indicate that the range of Dr.
Scratch CT scores, from 0 to 21 points, could not be flexible
enough to represent the differences of complexity when
dealing with the most complex projects, and, consequently,
there seems to be room to extend the range of scores of this
assessment tool.
Dr. Scratch CT score is calculated by summing the partial
scores assigned to several CT dimensions: abstraction and
problem decomposition, logical thinking, algorithmic notions
of flow control, synchronization, parallelism, data
representation and user interactivity. Each of these dimensions
Fig. 5. Scatter plot of Dr. Scratch CT Score and Halstead’s Length with its
best fitting line. r2 = .319
is assigned a score between 0 and 3 points based on the degree
of development found in the source code. In light of the results
obtained, it seems plausible that an increment in the range of
the evaluation of these dimensions could enhance the
correlation with classic complexity metrics, as differences
between complex projects could therefore be better
represented.
In this regard, table V shows the correlations between each
of the CT dimensions taken into account in Dr. Scratch CT
score, and CC and Halstead’s metrics. The results indicate that
the dimensions that seem to have a higher impact on software
complexity are date representation, synchronization and
logical thinking, as the correlation coefficients are the highest
in the three cases. On the contrary, user interactivity and flow
control are the dimensions that present lower correlations and,
therefore, seem to have a reduced influence on the complexity
of the Scratch programs. An explanation for these results
would require a thorough study that is out of the scope of this
investigation. Future research will contribute to understand
these relationships.
CONCLUSIONS AND FUTURE WORK
As the introduction of computational thinking in the school
curricula is becoming mainstream worldwide, a vast majority
of educators and learners face this discipline for the first time.
In consequence, there is need for tools that support both
students and teachers in the assessment of the learning of this
competence.
Dr. Scratch allows learners to evaluate their projects to
receive a computational thinking score, so they can discover
their own degree of development of this ability. In addition,
the tool offers a gamified feedback report with ideas and tips
to improve the code, aiming to encourage students’ desire to
keep on developing their programming skills. On the other
hand, Dr. Scratch also supports teachers in the assessment
tasks, saving time and offering a complete report that could be
used to identify specific issues in an automatic way.
Tools like Dr. Scratch are extremely welcome by the
educational community, but the assessment process must be
externally validated in order to provide useful feedback. Thus,
this investigation shows the correlation of the Dr. Scratch CT
score and McCabe’s Cyclomatic Complexity and Halstead’s
TABLE V. CORRELATION BETWEEN DR. SCRATCH CT DIMENSIONS AND
MCCABES CC AND HALSTEADS METRICS
metrics. These classic software engineering complexity
metrics are globally recognized as a valid measurement for the
complexity of a software system. The positive, significant,
moderate to strong correlations, as well as the linear model
that represent the relationships between the metrics that have
been described in this paper could be therefore considered as a
validation of the complexity assessment process of Dr. Scratch
Nevertheless, the comparison between metrics performed
in this investigation is a first step. Future research could
extend the scope of the study by thoroughly analyzing
correlations and linear models between these classic software
engineering metrics and each of the dimensions involved in
the Dr. Scratch CT score. In addition, being CC and Halstead’s
metrics used in the industry to estimate effort of maintenance,
in terms of potential bugs or problematic software modules,
these measurements could also be used to try to infer the
number of issues in Scratch projects, such as dead code or
repeated programs.
The work presented in this paper should be seen as a first
step in the validation process of the tool. Thus, in the
environment of a Scratch contest for primary and secondary
students, at this moment we are comparing the Dr. Scratch CT
score with the assessments provided by a panel of experts with
several years of experience in the evaluation of Scratch
projects who formed the jury of the contest.
Consequently, future research could contribute in the
design and enhancement of assessment tools to support
educators and pupils in the development of computational
thinking in schools in a standardized and externally validated
manner.
ACKNOWLEDGMENT
The work of all authors has been funded in part by the
Region of Madrid under project “eMadrid - Investigación y
Desarrollo de tecnologías para el e-learning en la Comunidad
de Madrid” (S2013/ICE-2715). The authors are very thankful
to Eva Hu Garres and Mari Luz Aguado for their technical
support with Dr. Scratch.
REFERENCES
[1] Lye, S. Y., & Koh, J. H. L. “Review on teaching and learning of compu -
tational thinking through programming: What is next for K-12?”. Com -
puters in Human Behavior, 41, 51-61, 2014.
[2] J. Moreno-León and G. Robles. “The Europe Code Week (CodeEU) ini-
tiative: shaping the skills of future engineers”. In Global Engineering
Education Conference (EDUCON), pages 561-566. IEEE, 2015.
[3] S. Papert (1980). Mindstorms: Children, computers, and powerful ideas.
Basic Books, Inc.
[4] M. Resnick, J. Maloney, A. Monroy-Hernández, N. Rusk, E. Eastmond,
K. Brennan, A. Millner,E. Rosenbaum, J. Silver, B. Silverman, et al.
“Scratch: Programming for all”. Communications of the ACM,
52(11):60–67, 2009.
[5] C. Stephen, W. Dann, and R. Pausch. "Alice: a 3-D tool for introductory
programming concepts." Journal of Computing Sciences in Colleges.
Vol. 15. No. 5. Consortium for Computing Sciences in Colleges, 2000.
[6] F. B. V. Benitti. Exploring the educational potential of robotics in
schools: A systematic review. Computers & Education, 58(3):978–988,
2012.
[7] S. Jaroslav, P. Balda, and M. Schlegel. "Raspberry Pi and Arduino
boards in control education." Advances in Control Education. Vol. 10.
No. 1. 2013.
[8] J. Moreno-León and G. Robles. "Dr. Scratch: Automatic Analysis of
Scratch Projects to Assess and Foster Computational Thinking." RED.
Revista de Educación a Distancia (46), 2015.
[9] European Schoolnet. “Computing our future. Computer programming
and coding - Priorities, school curricula and initiatives across Europe” .
Technical Report European Schoolnet, 2015. URL:
http://www.eun.org/publications/detail?
publicationID=661
[10] S. Grover and R. Pea. Computational thinking in K–12. A review of the
state of the field. Educational Researcher, 42(1):38–43, 2013.
[11] D. Weintrop and U. Wilensky. “To block or not to block, that is the
question: students’ perceptions of blocks-based programming”. In Proc.
of the 14th Annual IDC Conference (Boston, MA), 2015.
[12] O. Meerbaum-Salant, M. Armoni, and M. Ben-Ari. "Habits of program-
ming in scratch." Proceedings of the 16th annual joint conference on In-
novation and technology in computer science education. ACM, 2011.
[13] J. Moreno, and G. Robles. "Automatic detection of bad programming
habits in scratch: A preliminary study." Frontiers in Education Confer-
ence (FIE), 2014 IEEE (pp. 1-4). IEEE, 2014.
[14] J. Moreno-León and G. Robles. "Dr. Scratch: a Web Tool to Automati -
cally Evaluate Scratch Projects." Proceedings of the Workshop in Pri -
mary and Secondary Computing Education (pp. 132-133). ACM, 2015.
[15] J. Moreno-León and G. Robles. "Analyze your Scratch projects with Dr.
Scratch and assess your computational thinking skills." Scratch Confer-
ence (pp. 12-15). 2015.
[16] T.J. McCabe. "A complexity measure." Software Engineering, IEEE
Transactions on 4: 308-320. 1976.
[17] A.H. Watson, T.J. McCabe, and D. R. Wallace. "Structured testing: A
testing methodology using the cyclomatic complexity metric." NIST
special Publication 500.235: 1-114., 1996.
[18] Halstead, Maurice H. Elements of Software Science (Operating and pro-
gramming systems series). Elsevier Science Inc., 1977.
[19] Kafura, D., & Reddy, G. R. (1987). The use of software complexity met-
rics in software maintenance. IEEE Transactions on Software Engineer-
ing, (3), 335-343.
[20] S. Henry, D. Kafura, and K. Harris. "On the relationships among three
software metrics." ACM SIGMETRICS Performance Evaluation Re-
view. Vol. 10. No. 1. ACM, 1981.
[21] H. F. Li and W. Kwok Cheung. "An empirical study of software met -
rics." Software Engineering, IEEE Transactions on 6: 697-708, 1987.
[22] M. Zhang and N. Baddoo. "Performance comparison of software com-
plexity metrics in an open source project." Software Process Improve-
ment. Springer Berlin Heidelberg, pp 160-174, 2007.
[23] B. Boe, et al. "Hairball: Lint-inspired static analysis of scratch projects."
Proceeding of the 44th ACM technical symposium on Computer science
education. ACM, 2013.
[24] J. Moreno-León and G. Robles. “Computer programming as an
educational tool in the English classroom: A preliminary study”. In
Global Engineering Education Conference (EDUCON), 2015 IEEE,
pages 961-966. IEEE, 2015.
[25] J. C. Adams and A. R. Webster. “What do students learn about
programming from game, music video, and storytelling projects?” In
Proceedings of the 43rd ACM technical symposium on Computer
Science Education, pages 643–648. ACM, 2012.
... CTS consists of five dimensions: abstraction, decomposition, algorithmic thinking, evaluation, and generalization, allowing for a multidimensional assessment of individual CT skills. Moreno-Leon et al. (2016) compared assessment scores for computational thinking provided by Dr. Scratch, a free software evaluation tool for Scratch, with predefined software complexity metrics. Their findings highlighted a potential correlation between CT scores and software measurements. ...
Article
Full-text available
This paper provides an in-depth analysis of computational thinking (CT) skills and their assessment. It discusses the definition and components of CT. Various assessment tools, such as surveys, exams, self-assessment instruments, and performance tests, are explored. A bibliometric analysis reveals a growing trend in publications related to CT skills since 1993. The study employs citation analysis, co-citation analysis, and co-keyword analysis, identifying clusters of related work and emphasizing the core ideas of CT skills, their components, and their assessment. The findings highlight the intellectual synergy between publications, particularly the strong conceptual and thematic links between works that often cite each other. The discussion underscores the importance of CT components like abstraction, decomposition, and algorithms, as foundational elements across disciplines, particularly in education and computer science. Additionally, the integration of CT into educational curricula, such as robotics, programming, and STEM, demonstrates its growing significance. The conclusion identifies several gaps in the current understanding of CT, particularly the need for a standardized, widely accepted definition that encompasses all aspects of CT. It also emphasizes the limited focus on the assessment of CT skills and calls for the development of validated and reliable assessment tools. Furthermore, the paper highlights the need for more research on the impact of teacher training programs on CT development, to ensure effective integration at the school level.
... Invented by Maurice Howard Halstead in 1977 [2], the metrics are based on defining the mathematical relationships between the distinct operators and operands of a program. It is one of the most popular metrics for measuring code density [3]. The Halstead Measures can also be used to assess consistency by comparing the metric scores across responses to the same query. ...
... These metrics are used when comparing different assessing code tools. For example, Dr. Scratch is compared to McCabe's Cyclomatic Complexity and Halstead's metrics (Moreno-Leon et al., 2016). However, the results of individual metrics correlate only partially (Tavares Coimbra et. ...
Article
Full-text available
The paper discusses an alternative method of assessing the difficulty of pupils’ programming tasks to determine their age appropriateness. Building a program takes the form of its successive iterations. Thus, it is possible to monitor the number of times such a program was built by the solver. The variance of the number of program builds can be considered as a criterion of the difficulty of the task. We seek to verify whether this variance is the greatest in the age group for which the task is most suitable. We created several series of programming tasks and offered them to 87000 pupils from 4th to 13th grade. For each task, we compared the optimal age group determined by the variance of the number of program builds method with the group determined by the correct answer ratio method. A strong correlation was observed in traditional microworlds Karel the Robot and Turtle. A moderate correlation was achieved in the new microworld Movie.
... Dr. Scratch is an automated tool for formative assessment of Scratch projects [29] that targets seven dimensions of CT capabilities: abstraction, parallelism, logical thinking, synchronization, flow control, user interactivity, and data representation. Each of these dimensions is measured on a scale of 0-3, and the overall CT score is calculated by summing the partial scores. ...
Article
This study investigates the effect of programming courses on the computational thinking (CT) skills of elementary school students and the learning effectiveness of students from different backgrounds who are studying programming. We designed a OwlSpace programming course into an elementary school curriculum. Students in fourth and fifth grades were taught the fundamentals of programming. We measured and analyzed the effectiveness of their CT skills and self-efficacy in CT. The researchers analyzed the changes in the CT of different gender, different grade, and different past experience students in programming courses and then made specific recommendations for information technigy teachers and related units. The results demonstrate that students learned and improved their CT skills by taking OwlSpace programming course. Additionally, gender, grade, and past experience are found to have no impact on the students’ learning that means the course can improve students ability without limited any characteristics.
Article
Bu çalışmada; bilgi işlemsel düşünme kavramının gelişim süreçleri ve eğitime yansımaları incelenmiştir. Derleme yöntemi kullanılarak gerçekleştirilen bu inceleme çalışması; kavramın ortaya çıkışından günümüzün eğitim perspektifinde temel bir beceri olarak kabul edilmesine kadar ortaya konan başlıca çalışmaları sentezleyerek kavrama ilişkin bir bakış açısı oluşturmaktadır. Teknoloji öğretimine yeni bir bakış açısı getiren ve bunu insanın akıl yürütme sistemiyle açıklayan bilgi işlemsel düşünme kavramı, eğitimin tüm dallarına etki eden yeni bir yöntem sunmaktadır. Aynı zamanda bilgi işlemsel düşünme kavramıyla bütünleştirilen beceri setinin dünyanın farklı ülkelerinde eğitim ortamlarına ve uygulamalarına yansımaların üzerinde durularak, öğrencilerin sahip olması beklenen becerileri planlarken dikkate değer önemine de vurgu yapılmaktadır.
Article
Full-text available
This qualitative study explores the definition and essential components of computational thinking (CT) within the Malaysian educational context. Through semi-structured interviews with educational technology experts, the research delves into the nuanced understanding of CT, considering its adaptation to the local educational landscape and its broader applicability beyond technical skills. The findings reveal that CT in Malaysia is defined as a problem-solving methodology emphasizing inclusivity and methodical thinking, as guided by the Malaysian Ministry of Education (MOE). Essential components of CT identified by experts align with MOE's framework and encompass abstraction, decomposition, pattern recognition, algorithms, logical reasoning, and evaluation. This approach equips students with skills for a computational world and strengthens their critical thinking. The study concludes that integrating CT by focusing on these key skills can enhance students’ problem-solving abilities and support national progress. Limitations include the study’s focus on educational technology experts, potentially excluding broader educator perspectives, and variations in CT adaptation across regions. Future research should include diverse educator viewpoints and longitudinal studies to assess CT instruction's long-term impact and effectiveness.
Article
Context In many countries, it is now important to integrate learning-oriented views to foster computational thinking (CT) in the classroom. This has inspired ideas for new lesson plans, instructional strategies, teacher guidance, and, most importantly, new approaches to grading these skills. Aim: This article presents the results of a systematic review initially focused on identifying the various ways of assessing CT in school and their relationship to relevant CT skills. Method: We conducted a systematic review of the literature to assess CT in schools. This review applied a semi-automatic search for specific terms within the selected papers. These terms came from the analysis of several established definitions of CT. Results: We present a set of the most representative competencies and concepts developed in various experiences, in which the main topic is the assessment of CT, as well as some that have not been developed and that may be the subject of future works. Conclusions: The evaluation of CT in the school requires multiple approaches; it is a challenge to have a single method or strategy to evaluate everything that CT implies.
Conference Paper
Full-text available
This poster paper presents the operation and the new features of Dr. Scratch, an award-winning gamified web application that allows to perform automatic analysis of Scratch projects to assess the development of computational thinking and detect some bad programming habits that are common in students learning to program in this environment.
Conference Paper
Full-text available
Using the Scratch environment as a tool to teach programming skills or develop computational thinking is increasingly common in all levels of education, well-documented case studies from primary school to university can be found. However, there are reports that indicate that students learning to program in this environment show certain habits that are contrary to the basic programming recommendations. In our work as instructors with high school students, we have detected these and other bad practices, such as the repetition of code and object naming, on a regular basis. This paper focuses on verifying whether these issues can generally be found in the Scratch community, by analyzing a large number of projects available on the Scratch community website. To test this hypothesis, we downloaded 100 projects and analyzed them with two plug-ins we developed to automatically detect these bad practices. The plug-ins extend the functionality of the Hairball tool, a static code analyzer for Scratch projects. The results obtained show that, in general, projects in the repository also incur in the investigated malpractices. Along with suggestions for future work, some ideas that might assist to address such situations are proposed in the conclusions of the paper.
Conference Paper
Full-text available
The growth of employment opportunities in the information technology sector and the shortage of well-trained professionals in this field are a recurring theme in recent years in both Europe and North America. In this sense, research studies that analyse the causes of the reduction of students who are interested in computer science mainly point to young people being unaware of the type of tasks computer scientists perform. Therefore, in order to try to reverse this trend many types of initiatives have been organized seeking to bring the world of computing to children and adolescents. In the same vein, the main objective of the Europe Code Week, an initiative which was held in parallel in 38 countries and in which more than 100,000 people participated, is to show the beauty and fun associated with programming as a means of attracting young people to computer science to get endow the European labour market with well-trained professionals who are required in this field. In this paper, in addition of presenting the goals and most relevant facts of this initiative, its relationship to other similar research work is analysed, the lessons learned after its first two iterations are shared, and suggestions to improve future editions are made, with special focus on improve the possibilities of assess its impact and results more accurately.
Conference Paper
Full-text available
Computational thinking, a problem solving method that uses computer science techniques, has recently become mainstream as many governments and major Internet companies are promoting programming skills among children. However, little is known about how programming affects other aspects of life beyond the acquired programming skills. In this regard, this paper summarizes the work done in the school San Diego and San Vicente (Madrid, Spain) during the third quarter of the year 2013/2014, where we conducted a study with four groups of students in 4th and 5th grade to measure to what extent the use of computer programming in English classes can be an interesting educational tool with a positive impact on the learning otucome of the students. The results show that the groups working with programming activities improved more than the groups using traditional resources. Moreover, when asked via surveys at the end of the study, most students felt that coding was a positive influence, not only for learning English, but for developing other important skills as teamwork and learning to learn.
Article
Full-text available
One of the barriers to entry of computer programming in schools is the lack of tools that support educators in the assessment of student projects. In order to amend this situation this paper presents Dr. Scratch, a web application that allows teachers and students to automatically analyze projects coded in Scratch, the most used programming language in primary and secondary education worldwide, to check if they have been properly programmed, learn from their mistakes and get feedback to improve their code and develop their Computational Thinking (CT) skills. One of the goals of Dr. Scratch, besides supporting teachers in the evaluation tasks, is to act as a stimulus to encourage students to keep on improving their programming skills. Aiming to check its effectiveness regarding this objective, workshops with students in the range from 10 to 14 years were run in 8 schools, in which over 100 learners analyzed one of their Scratch projects with Dr. Scratch, read the information displayed as feedback by Dr. Scratch, and tried to improve their projects using the guidelines and tips offered by the tool. Our results show that at the end of the workshop, students increased their CT score and, consequently, improved their coding skills.
Article
Full-text available
Jeannette Wing’s influential article on computational thinking 6 years ago argued for adding this new competency to every child’s analytical ability as a vital ingredient of science, technology, engineering, and mathematics (STEM) learning. What is computational thinking? Why did this article resonate with so many and serve as a rallying cry for educators, education researchers, and policy makers? How have they interpreted Wing’s definition, and what advances have been made since Wing’s article was published? This article frames the current state of discourse on computational thinking in K–12 education by examining mostly recently published academic literature that uses Wing’s article as a springboard, identifies gaps in research, and articulates priorities for future inquiries.
Conference Paper
Blocks-based programming tools are becoming increasingly common in high-school introductory computer science classes. Such contexts are quite different than the younger audience and informal settings where these tools are more often used. This paper reports findings from a study looking at how high school students view blocks-based programming tools, what they identify as contributing to the perceived ease-of-use of such tools, and what they see as the most salient differences between blocks-based and text-based programming. Students report that numerous factors contribute to making blocks-based programming easy, including the natural language description of blocks, the drag-and-drop composition interaction, and the ease of browsing the language. Students also identify drawbacks to blocks-based programming compared to the conventional text-based approach, including a perceived lack of authenticity and being less powerful. These findings, along with the identified differences between blocks-based and text-based programming, contribute to our understanding of the suitability of using such tools in formal high school settings and can be used to inform the design of new, and revision of existing, introductory programming tools.
Conference Paper
Nowadays the control education usually heavily relies on the available simulation packages and virtual laboratories, both of which have their irreplaceable position in the educational process. But unfortunately the closed loop experiments are way too often limited to these virtual domains and the students lack the physical feedback about the impact of control algorithms and its parameters. The reasons might be the price of the hardware setup to demonstrate the control algorithms physically or a complicated transition from simulation to real-time platform. This paper describes a very cheap, straightforward and surprisingly powerful platform for implementation of real-time control algorithms. The platform consists of an Arduino board and a Raspberry Pi running the REX control system. The Arduino board is used for interaction with the physical world via its inputs and outputs. The REX control system allows the students to develop and verify the control algorithms in Simulink and then run it in real-time by a few mouse clicks. The platform further bridges the gap between the virtual and physical worlds as it is tightly connected to PIDlab.com and Contlab.eu portals, which makes it an ideal choice for control education purposes.
Article
Programming is more than just coding, for, it exposes students to computational thinking which involves problem-solving using computer science concepts like abstraction and decomposition. Even for non-computing majors, computational thinking is applicable and useful in their daily lives. The three dimensions of computational thinking are computational concepts, computational practices and computational perspectives. In recent years, the availability of free and user-friendly programming languages has fuelled the interest of researchers and educators to explore how computational thinking can be introduced in K-12 contexts. Through an analysis of 27 available intervention studies, this paper presents the current trends of empirical research in the development of computational thinking through programming and suggests possible research and instructional implications. From the review, we propose that more K-12 intervention studies centering on computational practices and computational perspectives could be conducted in the regular classroom. To better examine these two dimensions, students could be asked to verbalize their thought process using think aloud protocol while programming and their on-screen programming activity could be captured and analyzed. Predetermined categories based on both past and recent programming studies could be used to guide the analysis of the qualitative data. As for the instructional implication, it is proposed that a constructionism-based problem-solving learning environment, with information processing, scaffolding and reflection activities, could be designed to foster computational practices and computational perspectives.
Conference Paper
Scratch programming has risen in prominence, not only as a potential language for K-12 computer science, but also in introductory college courses. Unfortunately, grading Scratch programs is time-consuming, requiring manual execution of each program. Automation of this process is greatly complicated by the very reason Scratch is an attractive introductory language--the projects are multimedia in nature, requiring eyes and ears to fully appreciate. We propose Hairball, an automated system that can be used both by a student to point out potential errors or unsafe practices, and by a grader to assist in inspecting the implementation of Scratch programs. Because automatic analysis will not be able to determine the sensory effect, Hairball focuses instead on the implementation, including safe/robust programming practices, providing a "lint-like" tool for Scratch. In this case study, we have created an initial set of Hairball plugins that detect and label instances of initialization of Scratch state, synchronization between say and sound blocks, synchronization between broadcast and receive blocks, and use of timing and loops for complex animation. Our evaluation shows that Hairball is very useful in conjunction with manual analysis. Overall, Hairball was actually slightly more accurate than manual analysis at labeling these instances. Specifically for broadcast/receive, Hairball's analysis correctly classified 99% of the 432 instances, manual analysis only 81%. Overall, if Hairball was only used to identify correctly implemented instances, with manual analysis for the remainder, it would remove 76% of the instances for the manual analysis and assist in the rest, with a false positive rate of less than 0.5%.