Flrez ChangingGenerationsWay 2017
Flrez ChangingGenerationsWay 2017
Programming
Author(s): Francisco Buitrago Flórez, Rubby Casallas, Marcela Hernández, Alejandro Reyes,
Silvia Restrepo and Giovanna Danies
Source: Review of Educational Research, Vol. 87, No. 4 (August 2017), pp. 834-860
Published by: American Educational Research Association
Stable URL: https://www.jstor.org/stable/44667676
Accessed: 14-11-2023 16:32 +00:00
JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide
range of content in a trusted digital archive. We use information technology and tools to increase productivity and
facilitate new forms of scholarship. For more information about JSTOR, please contact [email protected].
Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at
https://about.jstor.org/terms
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Review of Educational Research
August 2017, Vol. 87, No. 4, pp. 834-860
DOI: 10.3102/0034654317710096
© 2017 AERA, http://rer.aera.net
834
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Computational Thinking Through Programming
In this review, we begin with a section that describes our literature search strat-
egy. Next, we include a section in which we discuss how programming can be
used to develop skills related to CT in students from school to higher education,
and we highlight the importance of peer-based collaborative environments and
concept maps and how these tools enhance a meaningful programming experi-
ence. In the third section, we review the impact of programming in diverse fields
of study as well as the issues faced when teaching and learning programming in
higher education. Last, we provide a state-of-the-art overview of how program-
ming is being taught in schools. In this final section, we address the challenges
faced by early programmers and describe the tools that are available to improve
the teaching process of CT at schools worldwide.
Method
To obtain an overview of the state of the art of teaching and learning pro-
gramming in educational institutions, we made an extensive, worldwide search
of papers in journals and proceedings of the Association for Computing
Machinery Digital Library, as well as in journals specialized in education of
computing or programming (e.g., Review of Educational Research , Computer
Science Education , Education and Information Technologies , Computers in
Mathematics and Science Teaching , Journal of Virtual Worlds Research ,
Educational Technology & Society , among others). Several key words and key
phrases were used throughout our search. Among these were "teaching/learning
programming," "issues in teaching/learning programming," "challenges for
novice programmers," "programming in schools," "programming in higher edu-
cation," "coding for children," "woman in computing," "coding in the 21st cen-
tury," "programming in the United States/Europe/Asia/Latin America,"
"approaches to teaching/learning programming," "collaborative teaching/learn-
ing in programming."
Subsequently, we searched for literature that might not be published in indexed
journals or proceedings. We performed an open search in Google Scholar using
the same key words and key phrases to gather information from associations of
teachers and individual initiatives in the field. Given that these references were
from unindexed sources, we decided to restrict the search to associations of teach-
ers in leading countries in this area. Additionally, we gathered information from
nonprofit organizations that aim to encourage the teaching and learning of pro-
gramming at any age.
We ended up with 92 references, including journal articles, reviews, proceed-
ings, short communications, and governmental standards from established asso-
ciations of teachers in the United States, the United Kingdom, France, and
Germany. No restrictions regarding the date of publication were taken into
account. However, information published in the last 15 years was the most rele-
vant for this review. A deep and careful examination was conducted with each of
the references found. The most relevant information related to the processes, prac-
tices, tools, and experiences in teaching and learning programming both from
K-12 and in higher education, was retrieved.
835
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Results
836
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Computational Thinking Through Programming
present in students' life and the fear of interacting with the physical machines has
diminished. Werner, Denner, et al. (2012) showed that middle school students
who had more access to computers and/or more confidence with them, performed
better in their problem-solving exercises and algorithmic thinking. However, as
noted by Saeli, Perrenet, Jochems, and Zwaneveld (201 1) and supported by stud-
ies performed by both Kurland, Pea, Clement, and Mawby (1986) and Paperi
(1993), teaching programming can be a very difficult task. Therefore, suitable
educational tools and strategies must support programming courses, so that any
individual may become proficient in programming and may further develop their
thinking abilities in a reasonable time.
Programming must be seen as a tool to develop concepts and skills related to
CT and computer science (e.g., resourcefulness, problem solving, abstraction,
algorithmic thinking), rather than a human-machine communication tool, related
to the information and communications technology field (ICT; French Academy
of Sciences, 2013). Thus, instead of teaching students solely how to write code,
programming courses must include the development of skills related to CT as a
learning objective. Students who are exposed to CT through programming,
develop algorithmic thinking, problem solving, logic, and debugging skills.
Hence, the programming that is taught in computer science should be focused on
the development of CT skills. Furthermore, computer science must be considered
an essential discipline (on a par with mathematics, for example) that every person
should learn from primary school onwards. According to Jones, Mitchell, and
Humphreys (2013), computer science comprises foundational principles as well
as widely applicable ideas and concepts. This discipline incorporates techniques
and methods for solving problems and advancing knowledge (such as abstraction
and logical reasoning), and a distinct way of thinking and working that sets it
apart from other disciplines.
Concepts within computer science have longevity (most of the ideas and con-
cepts from 20 or more years ago are still applicable today) and every core princi-
ple can be taught or illustrated without relying on the use of a specific technology.
Therefore, teaching fundamentals and concepts in programming as the core for an
entire discipline, instead of solely training students in the details of specific pro-
gramming languages - which might become useless with time - is crucial for the
development of CT skills (French Academy of Sciences, 2013).
837
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Buitrago Florez et al.
838
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
TABLE 1
Fields in which programming and computational thinking (CT) can be directly applied
Recording techniques
Sound synthesis and manipulation
Computer music
Social Sciences Demographic simulations
Pandemic reaction modeling
Computational finance
and semantics of the programming language used, elaborate some mental model
of how to solve each problem, and be able to distinguish between solving the
problem and specifying the solution in a way that a computer would be able to
execute it (Pane & Myers, 1996). Consequently, a student must be capable of
using abilities related to CT such as algorithmic thinking (in order to obtain a
solution through clearly defined steps), evaluation (ensuring that an algorithmic
839
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Buitrago Florez et al.
840
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Computational Thinking Through Programming
are evaluated in a way that would increase the pass rate and consequently generate
a better atmosphere in the class (Nikula, Gotel, & Kasurinen, 2011). Finally,
Category 4 was named Hybrid Approaches. This category combines the method-
ologies applied in the previous three categories, including Media Computation
with Pair Programming, Peer-Led Team Learning, and Collaborative Learning
with Relatable Content.
At the end of their review, Vihavainen et al. (2014) concluded that, on average,
using these types of interventions improves programming courses pass rates by
nearly one third compared with a traditional lecture and lab-based approach.
These authors also concluded that courses with relatable content (e.g., media
computation) and cooperative elements (e.g., pair programming) had increased
pass rates and intrinsic student motivation, whereas courses that relied exclusively
on a single approach resulted in students performing poorly.
We want to highlight a specific example at the Universidad de los Andes
(Bogotá, Colombia). For at least a decade, the Systems and Computing Engineering
Department has been conducting surveys and working on some of the most com-
mon problems related to teaching and learning programming. These include (a)
motivational problems (i.e., finding that some students have the impression that
success depends on something beyond their control regardless of the understand-
ing of the theory, algorithmic skills, or the time spent working on a program), (b)
lack of congruence between the concepts and skills taught in introductory courses
and the ability to write specific programs to solve a problem in an efficient way,
and (c) methodological problems in teaching programming. The instructor
expected that students would be able to learn on their own by going over exam-
ples presented in class and are then expected to design their own programs
(Villalobos, Calderon, & Jimenez, 2009; Villalobos, Casallas, & Marcos, 2005).
In order to address the issues with computing courses described above, the
Systems and Computing Engineering Department at Universidad de los Andes
has been working on a robust interactive platform called Cupi2 (http://Cupi2.
uniandes.edu.co) since 2006. This interactive platform encompasses an extensive
set of resources that include lectures, workshops, books, articles, lab examples,
concept maps, tutorials for students and teachers, as well as reports about class
schema and student performance on every programming course taught at the uni-
versity (Vega, Jimenez, & Villalobos, 2013). Cupi2 was developed as an initiative
to tackle major challenges in teaching and learning programming. The main goal
was to design learning strategies that use problem-based learning (PBL) and bot-
tom-up approaches to introduce simple concepts (data types, operators, and
expressions) and then lead students toward more complex concepts such as con-
trol structures, methods, parameters, vectors, and collections in a Java environ-
ment (Villalobos & Casallas, 2006).
An introductory course to programming called APO I (algorithms and object-
oriented programming) is taught every semester at Universidad de los Andes. This
course uses the Cupi2 interactive platform and is taken by students in any of the
undergraduate programs from the School of Engineering, the School of Sciences
(except for students in biology and microbiology), and some students in the music
department, reaching more than 1,000 students per semester. Each class has fewer
than 26 students (to improve the one to one interaction between students and
841
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Buitrago Florez et al.
teachers) and is divided into six levels, which reflect the difficulty and skills
required. In Levels 1 to 5, students are taught the main concepts related to object-
oriented programming through lectures and examples included in the textbook
written by professors associated to the Cupi2 interactive platform. Furthermore,
students attend lab sessions where they have the opportunity to practice problems
that are partially solved in a java environment called Eclipse (http://www.eclipse.
org/), using the resources available in the Cupi2 platform. Through CupiTaller ,
which stands for "CupiWorkshop," students from all academic programs taking
APO I or APO II (the course that follows APO I) may access a physical space
where they may receive personalized tutoring to strengthen their programming
abilities.
At the end of the course (Level 6), students are challenged to solve a complete
exercise using all the tools, syntax, and skills learned throughout the semester.
These efforts have resulted in an improvement in the success rates and motivation
of the students. A nearly 50% decline in the number of students failing the course
has been observed as well as a consistent reduction in the number of students that
drop the course. Moreover, questions related to the students' perception of the
course showed a 20% increase after the introduction of Cupi2 (Villalobos et al.,
2005). Around 25 universities in Colombia work with and develop materials for
Cupi2 each year, creating a large and diverse community for teaching and learn-
ing programming (Villalobos et al., 2009).
Unfortunately, regardless of all the efforts done to overcome the difficulties
associated to learning programming (i.e., Cupi2), a substantial number of students
are still challenged by abstract programming concepts and logical reasoning.
Responses to the end of semester surveys of the APO I course indicate that stu-
dents in Level 1, particularly, believe that they could have learned more if they
would have had prior experience with programming before taking this first-
semester course. In short, the lack of prior experience limits the skills and syn-
taxes that can be taught, thus hindering the learning of specialized languages such
as C, C++, Matlab, Python, Arena, Strata, ArcGIS, and other useful programming
languages. To address this concern, we contend that high school students should
learn skills related to CT and algorithmic logic, so that it will be easier for them to
learn and adapt to new programming languages as well as different software dur-
ing their undergraduate studies. High school students should be exposed to the
development of logic, abstraction, decomposition, and evaluation as well as the
comprehension of basic algorithmic design, in order to facilitate the learning of
programming in higher education.
An unpublished study at Universidad de los Andes provides support for this
claim. Briefly, we retrieved data from all students who took APO I between the
spring semester of 2010 and the spring semester of 2015 and identified the high
school that the students had attended. As the total number of high schools was more
than 900, we selected 61 schools that represented more than half of the students.
Each school was contacted directly to assess if programming was taught at any
level. Analyses were conducted on a total of 3,855 students using R (R Development
Core Team, 2008). Results indicated a significant difference in the average final
grades between students who had been previously exposed to programming in high
school and those who had had no prior exposure to programming (p value = 2.53
842
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Computational Thinking Through Programming
e-08). Students who had been exposed to programming in high school obtained an
average grade of 4.5 out of 5.0 (SD = 0.76), and students with no prior experience
in programming obtained an average grade of 3.9 (SD = 0.79; t/corrected = 0.77).
Introducing students in elementary and higher school to algorithmic thinking,
abstraction, evaluation, problem solving, decomposition, and debugging will
most certainly help develop critical skills before college. These skills may result
in an easier transition from school to university, and allow professors to focus
their undergraduate programming courses on teaching useful features of specific
programming languages, as well as reinforcing, but not developing, CT skills.
This idea will be further discussed in the following section.
843
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Buitrago Florez et al.
844
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Computational Thinking Through Programming
deal with abstract concepts. They need to understand a given problem, identify the
steps to approach such problem, and be able to design a solution. Students should
know how to subdivide a given solution into easy and simpler pseudo-code and
ought to be able to conceive hypothetical error situations in order to test their
programs and find possible missteps (Esteves, Fonseca, Morgado, & Martins,
2008). Furthermore, novice programmers have difficulties understanding even
the most basic concepts in programming such as variables, data type, machine
structure, and functioning, given that there are no real-life analogies related to
these concepts (Lahtinen et al., 2005; Miliszewka & Tan, 2007). Last, even after
understanding the basic concepts in programming, programmers must learn the
specificities of the programming language they intend to use (Lahtinen et al.,
2005; Winslow, 1996).
Another important fact that should be considered as a major challenge in learn-
ing and teaching programming is the low enrollment and interest of women in
computer science courses and programs. Researchers have identified a variety of
factors that may contribute to this issue. These factors include concerns about the
computing culture, lack of encouragement from peers (Kelleher, Paushc, &
Kiesler, 2007), lack of motivation, and gender stereotypes (Doube & Lang, 2012).
Extremely strong school stereotypes are held in STEM (science, technology, engi-
neering, and mathematics) fields, including computer science, where females
have a lower self-concept of ability than males ranging from an early age
(Denissen, Zarett, & Eccles, 2007) to postgraduate studies (Cohoon & Asprey,
2006), despite an equivalent and sometimes higher level of achievement (Eccles,
2007).
In the STEM field of computing, females have significantly less confidence
than males in their ability to learn and succeed (Singh, Allen, Scheckler, &
Darlington, 2007). Furthermore, there is a widespread perception that computer
experts are socially isolated "geeks" or "nerds" obsessed with technology, a way
of living that does not match with most women (Margolis & Fischer, 2002) who
tend to be more socially oriented (Herring, Christine, Ahuja, & Robinson, 2006).
Doube and Lang (2012) showed that when a course related to computing was
removed from the School of Science and placed in the School of Humanities, not
only was the female enrollment higher but women also reported enjoying the
course and finding applicability to their careers. These authors concluded that
there is a psychological aversion in females due to male stereotyping in comput-
ing discipline, which is also observed in mathematics, science, and other disci-
plines (Lang, 2002). Furthermore, females in high school have indicated that their
disinterest in computing disciplines arose from their classroom experiences,
where they faced isolation, low confidence, felt underrated, and extremely anx-
ious (Pau, Hall, & Grace, 2011). To address some of these issues, students from
Computer Science and Information Technology, have developed educational vid-
eos that enhance learning experiences related to computer programming in a
friendly and familiar environment for women (Ali, 20 1 6; Ali, Raza, & Ali, 20 1 6.).
Despite the difficulties associated with learning programming in school, which
are not easy to solve, we strongly agree with Jeannette Wing's (2006) vision that
CT is an extensive framework of concepts, abilities, and skills that young people
should learn in schools. We also agree with Serafini (2011) that learning
845
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Buitrago Florez et al.
846
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Computational Thinking Through Programming
(c) the immediate feedback of potential errors; (d) the enforced structural design
that leads the programmer to an indented and structured way of writing; (e) and
finally, Python is a free and widely used language that comes with a specially
designed text editor, tutorials, books, course material, exercises, and assignments
available on the Web.
847
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Buitrago Florez et al.
848
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Computational Thinking Through Programming
collaboration with engineers from Microsoft, Google, Twitter, and Facebook. The
Hour of Code web page was created with the goal of increasing computer science
in schools as well as encouraging participation of women and underrepresented
students of color in this discipline of study (Code.org®, 2013). The strategy is
based on learning basic coding principles through gameplay, using an extensive
set of tutorials (called the hour of code) containing practice exercises, lectures,
and videos designed by technologists including Bill Gates and Mark Zuckerberg,
and artwork from popular games like Angry Birds (Rovio) and Plants vs. Zombies
(PopCap Game). According to the creators, more than 10 million people have
tried the hour of code (48% female). Among the surveyed teachers who have
signed up to teach the intro courses, 99% (almost 115,000) recommend imple-
menting the website resources into computer science curricula (Code.org®,
2013). Last, one additional advantage is that tutorials can be implemented online,
using a smartphone with or without Internet connection, and free of charge.
849
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Buitrago Florez et ai
Countries where programming is taught as a tool for the information and commu-
nications technology field, but major changes are on the way. There are several
countries in which programming has been taught for an extensive period of time
(5 to 20 years) as part of a program where students are exposed mainly to the syn-
taxes of a specific programming language with no clear intention in developing
skills related to CT. However, thanks to the efforts of the CS teacher's associa-
tions and other individuals related to the computer science field, major changes
will become visible in the upcoming future (Jones, 201 1). The CS associations in
the United Kingdom (http://www.computingatschool.org.uk), the United States
(http://www.csta.acm.org), and France (http://www.academie-sciences.fr) have
been working on promoting and highlighting the importance of teaching program-
ming as a core course in schools.
The Computing At School (CAS) association in the UK released a document
(Jones et al., 2013) where they present a review of the CS/ICT curriculum. Several
suggestions related to teaching CS, teacher training, and implementation were
proposed in view of changing the way how CS is being taught in schools through-
out the UK. Moreover, a national curriculum has been proposed in 2013 with the
aim of ensuring that students in the UK would be able to understand and apply
logic and algorithmic thinking, data representation, and communication as well as
analyze and solve problems, and evaluate and apply information technology. This
curriculum is under revision at the moment and will hopefully be implemented in
the near future (Jones et al., 2013).
In the United States, major events have happened in the past 5 years. The
National Science Foundation (NSF) has launched a program called computing
education for the 21st century. Numerous companies and associations including
the Association for Computing Machinery (ACM), Microsoft, Google, Facebook,
Twitter, and other partners have developed a coalition called Computing in the
Core with the aim of promoting research in CS teaching. Furthermore, they have
developed a platform to attract children into programming and CS in general
(Stephenson & Wilson, 2012). The Computer Science Teacher Association
(CSTA; 2011) has released a revised K-12 CS standards focused on algorithmic
and CT concepts.
In France, the French Academy of Sciences released a report in 2013 (French
Academy of Sciences, 2013) claiming that a full review of the ICT/CS curriculum
has been made with the support of the government. This ICT/CS curriculum for
primary, middle, and high school, aims to achieve a competitive task force in the
future. Briefly, students from primary school are dedicated to develop skills
related to CT by using appropriate programming languages for their age. This
allows them to discover by themselves the main features of algorithmic thinking
and problem solving. Later, students from middle school are encouraged to
acquire specific concepts related to programming (i.e., syntax) as well as to solve
problems on their own, by combining topics in science with programming skills
to perform specific tasks. Finally, students in high school work in the strengthen-
ing of concepts learned in the earlier two stages, offering the opportunity to
850
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Computational Thinking Through Programming
Discussion
It is clear that computers are present in all areas of society, creating an impor-
tant link between the world's economy and technology and innovation. The
851
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Buitrago Florez et ai
852
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
References
Ahmadzadeh, M., Elliman, D., & Higgins, C. (2005). An analysis of patterns of debug-
ging among novice computer science students. ACM SIGCSE Bulletin , 37, 84-88.
doi: 1 0. 1 145/1 1 5 1 954. 1 067472
Al-Bow, M., Austin, D., & Meyer, S. (2009). Using game creation for teaching com-
puter programming to high school students and teachers. ACM SIGCSE Bulletin -
ITiCSE '09, 41, 1 04- 1 08. doi: 1 0. 1 1 45/ 1 595496. 1 5629 1 3
Ali, T. (2016). From psychology to logic : Learning computer programming in the
kitchen. Retrieved from http://blossoms.mit.edu/videos/lessons/psychology_logic_
learning_computer_programming_kitchen
Ali, T., Raza, S. W., & Ali, M. (2016). Out for shopping : Understanding linear data
structures. Retrieved from http://blossoms.mit.edu/videos/lessons/out_shopping_
understanding linear data structures
Atmatzidou, S., Markelis, I., & Demetriadis, S. (2008). The use of LEGO Mindstorms
in elementary and secondary education : Game as a way of triggering learning.
Paper presented at the workshop proceedings of SIMPAR, Venice, Italy. Retrieved
from http://www.terecop.eu/downloads/simbar2008/atmatzidou_et_al.pdf
Barr, V., & Stephenson, C. (201 1). Bringing computational thinking to K-12: What is
involved and what is the role of the computer science education community? ACM
Inroads , 2, 48-54. doi: 10. 1145/1929887.1929905
Ben- Ari, M. (2001). Constructivism in computer science education. Computers in
Mathematics and Science Teaching, 20, 45-73. doi: 10. 1145/274790.274308
Bennedsen, J., & Caspersen, M. E. (2007). Failure rates in introductory programming.
SIGCSE Bulletin, 39, 32-36. doi: 10. 1145/1272848. 1272879
Bogden, C. A. (1997). The use oj concept mapping as a possible strategy for instruc-
tional design and evaluation in college genetics (Unpublished MS thesis). Cornell
University, Ithaca, NY.
Brusilovsky, P., Calabrese, E., & Miller, P. (1998). Mini-languages: A way to learn
programming principles. Education and Information Technologies, 2, 65-83.
doi: 10. 1023/A: 101 8636507883
Cardellini, C. (2004). Conceiving of concept maps to foster meaningful learning: An
interview with Joseph D. Novak. Journal of Chemical Education, 81, 1303-1308.
doi:10.1021/ed081pl303
Cardemone, P. F. (1975). Concept mapping: A technique of analyzing a discipline and
its use in the curriculum and instruction in a portion of a college level mathematics
skills course. (Unpublished MS thesis). Cornell University, Ithaca, NY.
Chase, J. D., & Okie, E. G. (2000). Combining cooperative learning and peer instruc-
tion in introductory computer science. SIGCSE Bulletin, 32, 372-376.
doi: 10. 1 145/33 1 795.33 1 888
Code.org®. (2013). Hour of code kicks off to introduce k-12 students to computer
programming. IEEE Computer Society. Retrieved from https://www.computer.org/
csdl/mags/co/20 1 3/ 1 l/mco2013 1 10099.pdf
Cohoon, J., & Asprey, W. (2006). A critical review of the research on women's
participation in postsecondary computing education. In J. M. Cohoon & W.
Aspray (Eds.), Women and information technology: Research on underrepresen-
tation (pp. 137-180). Cambridge: MIT Press, doi: 1 0.755 l/mitpress/97802620
33459.003.0005
Computer Science Teacher Association. (201 1). Computer science standards. Retrieved
from https://csta.acm.Org/Curriculum/sub/K 1 2Standards.html
853
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Buitrago Florez et al.
Conway, M., Audia, S., Burnette, T., & Christiansen, K. (2000, April). Alice : Lessons
learned from building a 3D system for novices. Paper presented at the proceedings
of the SIGCHI Conference on Human Factors in Computing Systems, The Hague,
Netherlands, doi: 1 0. 1 145/332040.33248 1
Costa, C. J., & Aparicio, M. (2014, May). Evaluating success of a programming learn-
ing tool. Paper presented at the proceedings of the International Conference on
Information Systems and Design of Communication, Lisbon, Portugal,
doi : 1 0. 1 1 45/26 1 8 1 68.26 1 8 1 80
Curzon, P., Dorling, M., Ng, T., Selby, C., & Woollard, J. (2014). Developing compu-
tational thinking in the classroom: A framework. Retrieved from http://eprints.soton.
ac.uk/id/eprint/369594
Dagdielis, V., Sartatzemi, M., & Kagani, K. (2005, July). Teaching with robots in sec-
ondary schools : Some new and not-so-new pedagogical problems. Paper presented
at the proceedings of the Fifth IEEE International Conference on Advanced Learning
Technologies, Kaohsiung, Taiwan. doi:10.1109/ICALT.2005.255
De La Mora, N., & Reilly, C. F. (2012). The impact of real-world topic labs on student
performance on CSI. Paper presented at the Frontiers in Education Conference,
Seattle, WA. doi : 10. 1 1 09/FIE.20 12.6462329
Denissen, J., Zarett, N., & Eccles, J. (2007). I like to do it, I'm able, and I know I am:
Longitudinal couplings between domain-specific achievement, self-concept, and
interest. Child Development , 78, 430-447.
Diagiene, V., Jevsikova, T., Schulte, C., Sentance, S., & Thota, N. (2013, March). A
comparison of current trends within computer science teaching in school in Germany
and the UK. Paper presented the 6th International Conference ISSEP, Oldenburg,
Germany. Retrieved from https://publishup.uni-potsdam.de/opus4-ubp/frontdoor/
deliver/index/docId/6 1 87/file/cid06.pdf#page=65
Doube, W., & Lang, C. (2012). Gender and stereotypes in motivation to study com-
puter programming for careers in multimedia. Computer Science Education , 22,
63-78. Retrieved from http://eric.ed.gov/?id=EJ958969
Eccles, J. (2007). Where are all the women? Gender differences in participation in
physical science and engineering. In S. J. Ceci & W. M. William (Eds.), Why aren ì
more women in science? Top researchers debate the evidence. Washington, DC:
American Psychological Association, doi: 10. 1037/1 1546-016
Esteves, M., Fonseca, B., Morgado, L., & Martins, P. (2008, October). Contextualization
of programming learning: A virtual environment study. Paper presented at the pro-
ceedings of the 38th ASEE/IEEE Frontiers in Education Conference, Washington,
DC. doi: 10.1 109/FIE.2008.4720544
Flowers, T., Carver, C., & Jackson, J. (2004). Empowering students and building con-
fidence in novice programmers through gauntlet. Paper presented at 34th ASEE/
IEEE Frontiers in Education Conference, doi: 10. 1109/FIE.2004. 1408551.
French Academy of Sciences. (2013). Teaching computer science in France, tomorrow
can 't wait. Retrieved from http://www.academie-sciences.fr/pdf/rapport/
rads_0513gb.pdf
Good, T. L., & Brophy, J. E. (1990). Educational psychology: A realistic approach (4th
ed.): White Plains, NY: Longman.
Grandell, L., Peltomaki, M., Back, R.-J., & Salaskoski, T. (2006). Why complicate
things? Introduction programming in high school using phyton. Paper presented at
the proceeding of the 8th Australasian Conference on Computing Education, Hobart,
Australia. Retrieved from http://dl.acm.org/citation.cfm?id=l 151880
854
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Computational Thinking Through Programming
Greenfoot Team. (2009). Greenfoot environment and apl. Retrieved from http://www.
greenfoot.org
Hazzan, O., Gal-Ezer, J., & Blum, L. (2008). A model for high school computer science
education: The four key elements that make it! SIGCSE Bulletin , 40, 281-285.
doi: 10. 1145/1352135.1352233
Herring, S., Christine, O., Ahuja, M., & Robinson, J. (2006). Gender and the culture of
computing in applied IT education. In E. M. Trauth (Ed.), Encyclopedia of gender
and information technology. Hershey, PA: Information Science Publishing,
doi: 1 0.40 1 8/978- 1 -59 1 40-8 1 5-4.ch074
Hood, C., & Hood, D. (2005, June). Teaching programming and language concepts
using Legos®. Paper presented at the proceedings of the 10th annual SIGCSE con-
ference on Innovation and Technology in Computer Science Education, Caparica,
Portugal, doi : 1 0. 1 1 45/ 1 1 5 1 954. 1 067454
Hromkovic, J. (2006). Contributing to general education by teaching informatics. ACM
SIGCSE Bulletin, 37, 19-23. doi: 10. 1007/1 1915355 3
Huang, K., Yang, T., & Cheng, C. (2013). Engineering to see and move: Teaching
computer programming with flowcharts vs Lego robots. UET, 5(4). Retrieved from
http ://online-j ournals.org/i-j et/article/view/2943
Hussain, S., Lindh, J., & Shukur, G. (2006). The effect of Lego training on pupils'
school performance in mathematics, problem solving ability and attitude: Swedish
data. Educational Technology & Society, 9, 182-194. Retrieved from http://eric.
ed.gov/?id=EJ83685 1
Jakovljevic, M. (2003, September). Concept mapping and appropriate instructional
strategies in promoting programming skills of holistic learners. Paper presented at
the annual research conference of the South African Institute of Computer Scientists
and Information Technologists on Enablement through Technology (SAICSIT '03),
Johannesburg, South Africa. Retrieved from http://dl.acm.org/citation.
cfm?id=954048
Jenkins, T. (2002). On the difficulty of learning to program. Paper presented at the 3rd
Annual LTSN ICS Conference, Leeds, England. Retrieved from http://citeseerx.ist.
psu.edu/viewdoc/download?doi= 10.1.1 .596.9994&rep=rep 1 &type=pdf
Jones, S. (201 1). International comparisons. Retrieved from http://www.csta.acm.org/
About/sub/ AboutF iles/IntlComparisonsv5 .pdf
Jones, S., Mitchell, B., & Humphreys, S. (2013). Computing at school in the UK.
Retrieved from http://research.microsoft.com/en-us/um/people/simonpj/papers/cas/
ComputingAtSchoolCACM.pdf
Kay, D., van der Hoek, A., & Richardson, D. (2005). Informatics: A focus on computer
science in context. ACM SIGCSE Bulletin, 37, 55 1-555. Retrieved from http://www.
ics.uci.edu/~andre/papers/C45 .pdf
Kelleher, C., Paushc, R., & Kiesler, S. (2007, April). Storytelling Alice motivates mid-
dle school girls to learn computer programming. Paper presented at the proceedings
of the SIGCHI Conference on Human Factors in Computing Systems, San Jose, CA.
doi: 1 0. 1 145/1 240624. 1 240844
Kurland, M., Pea, R., Clement, C., & Mawby, R. (1986). A study of the development
of programming ability and thinking skills in high school students. Educational
Computing Research, 2, 429-458. Retrieved from http://jec.sagepub.com/con-
tent/2/4/429.abstract
Lahtinen, E., Mutka, K., & Jarvinen, H. (2005). A study of the difficulties of novice
programmers . ACM SIGCSE Bulletin, 37, 14-18. doi: 10. 1145/1 15 1954. 1067453
855
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Buitrago Florez et al.
LakofF, G. (1987). Women, fire and dangerous things. Chicago, IL: University of
Chicago Press.
Lang, C. (2002). Tertiary computing course selection: The impact of mathematics anx-
iety on female decision making. AJET, 18, 341-358. doi:10.14742/ajet.vl8i3.1764
Lasserre, P., & Szostak, C. (2011, June). Effects of team-based learning on a CSI
course. Paper presented at the proceedings of the 16th Annual Joint Conference on
Innovation and Technology in Computer Science Education, Darmstadt, Germany,
doi: 1 0. 1 145/1 999747. 1 999787
Lawhead, P., Bland, C., & Schep, M. (2003). A road map for teaching introductory
programming using Lego© Mindstorms robots. ACM SIGCSE Bulletin, 35, 191-
201. doi: 10. 1 145/782941 .783002
Le Coq, L. (2010). Xlogo. Retrieved from http://xlogo.tuxfamily.org/
LEGO Dacta A/S. (2007). Study of educational impact of the Lego Dacta materials.
Retrieved from http://www.lego.com/education/download/infoescuela.pdf
Linn, M. C. (1985). Cognitive consequences of programming instruction in class-
rooms. Educational Researcher, 14, 14-29. doi: 10.3 102/001 3 189X014005014
Luo, D. (2005, July). Using constructivism as a teaching model for computer science.
The China Papers, pp. 36-40. Retrieved from http://science.uniserve.edu.au/pubs/
china/vol5/CP5_itcs_02.pdf
Malan, D., & Leitner, H. (2007). Scratch for budding computer scientists. ACM
SIGCSE Bulletin, 39, 223-227. doi: 10. 1145/1227504.1227388
Margolis, J., & Fischer, A. (2002). Unlocking the clubhouse : Women in computing.
Cambridge: MIT Press.
Miliszewka, I., & Tan, G. (2007). Befriending computer programming: A proposed
approach to teaching introductory programming. Issues in Informing Science &
Information Technology, 4, 277-289. Retrieved from http://proceedings.informing-
science.org/InSITE2007/IISITv4p277-289Mili3 1 0.pdf
Moreira, M. (1977). An Ausubelian approach to physics instruction: An experiment in
an introductory college course in electromagnetism (Unpublished MS thesis).
Cornell University, Ithaca, NY.
Moreno, J., & Montano, E. (2009). Probot: Juego para el aprendizaje de la logica en
programación [Probot: Game for learning logic in programming]. Nuevas Ideas en
Informatica Educativa, 5, 1-7. Retrieved from http://www.tise.cl/2009/tise 2009/
pdf/1 .pdf
Mow, C. (2006). The effectiveness of cognitive apprenticeship based learning environ-
ment (cable) in teaching computer programming. Adelaide, South Australia:
University of South Australia.
National Research Council. (2010). Report of a workshop on the scope and nature of com-
putational thinking. Washington, DC: National Academies Press, doi: 10. 17226/12840
Nikula, U., Gotel, O., & Kasurinen, J. (201 1). A motivation guided holistic rehabilita-
tion of the first programming course. ACM Transactions on Computing Education
(TOCE), U, 24-38. doi: 10. 11 45/204893 1.2048935
Novak, J. D. (1990). Concept maps and vee diagrams: Two metacognitive tools to
facilitate meaningful learning. Instructional Science, 19, 29-52. doi: 10. 1007/
BF00377984
Novak, J. D. (1991). Clarify with concept maps. The Science Teacher, 58, 44-^9.
Retrieved from http://eric.ed.gov/?id=EJ447816
Novak, J. D. (1998). Learning, creating, and using knowledge : Concept maps as jacil-
itative tools in schools and corporations. Mahwah, NJ: Erlbaum.
856
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Computational Thinking Through Programming
857
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Buitrago Florez et al.
858
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Computational Thinking Through Programming
Villalobos, J., Calderon, N., & Jimenez, C. (2009). Cupi2 community : Promoting a
networking culture to support teaching programming. Paper presented at the
International Conference on Computer Supported Education (CSEDU), Lisbon,
Portugal. Retrieved from https://cupintranet.virtual.uniandes.edu.co/site/index.php/
el-proyecto-topmenu/unicopublicaciones
Villalobos, J., & Casallas, R. (2006). Teaching/learning a first object-oriented pro-
gramming course outside the CS curriculum. Paper presented at the Tenth Workshop
on Pedagogy and Tools for the Teaching and Learning of Object Oriented Concepts,
Nantes, France. Retrieved from https://cupintranet.virtual.uniandes.edu.co/site/
index.php/el-proyecto-topmenu/unicopublicaciones
Villalobos, J., Casallas, R., & Marcos, K. (2005). El reto de diseñar un primer curso de
programación de computadores [The challenge of designing a first course in computer
programming]. Paper presented at the XIII Congreso Iberoamericano de Educación
Superior en Computación, Cali, Colombia. Retrieved from https ://cupintranet. virtual
.uniandes.edu.co/site/index.php/el-proyecto-topmenu/unicopublicaciones
Watson, C. (1997, February). Collaborative learning: A case study for CSI at Grinnell
College and Austin. Paper presented at the proceedings of the twenty-eighth SIGCSE
Technical Symposium on Computer Science Education, San Jose, CA.
doi: 1 0. 1 1 45/268084.268 1 64
Werner, L., Campe, S., & Denner, J. (2012, February). Children learning computer
science concepts via Alice game-programming. Paper presented at the proceedings
of the 43rd ACM Technical Symposium on Computer Science Education, Raleigh,
NC. doi: 10.11 45/2 1 57 1 36.2 1 57263
Werner, L., Denner, J., Campe, S., & Kawamoto, D. (2012, February). The fairly
performance assessment: Measuring computational thinking in middle school.
Paper presented at the SIGCSE '12 Proceedings of the 43rd ACM Technical
Symposium on Computer Science Education, Raleigh, NC. doi: 10. 1 145/
2157136.2157200
Williams, L., McDowell, C., Nagappan, N., Fernald, J., & Werner, L. (2003, Septembe
Building pair programming knowledge through a family of experiments. Paper pr
sented at the ISESE '03 Proceedings of the 2003 International Symposium on
Empirical Software Engineering, Washington, DC. Retrieved from http://dl.ac
org/citation.cfin?id=943642
Wing, J. (2006). Computational thinking. Communications of the ACM, 49( 3), 33-3
doi: 10.1 145/1 118178.1 118215
Winslow, L. (1996). Programming pedagogy - A psychological overview. SIGCS
Bulletin , 28, 17-22. doi: 10.1 145/234867.234872
Authors
859
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms
Buitrago Florez et al.
RUBBY CASALLAS obtained her PhD from the Université de Grenoble (Scientifique et
Medicale-Joseph Fourier) on informatics where she worked on Historical Objects and
Annotation for Software Engineering Environments. She currently works as a full pro-
fessor at the Systems and Computing Engineering Department, Universidad de los
Andes, Carrera IA # 18A-12, Bogota, Colombia; email: [email protected].
Her main research lines are teaching/learning software engineering and software devel-
opment based on models.
MARCELA HERNANDEZ earned her PhD from the Institut National des Sceinces
Appliquées de Lyon on images and systems. She currently works as a full professor at
the Systems and Computing Engineering Department, Universidad de los Andes,
Carrera IA # 18A-12, Bogota, Colombia; email: [email protected]. co. Her main
research areas are processing of medical images and data warehouse.
ALEJANDRO REYES earned his PhD degree in computational and systems biology from
Washington University in Saint Louis, where he worked on metagenomic analyses of
the human gut viróme. He is currently working as an assistant professor at the
Department of Biological Sciences, Universidad de los Andes, Carrera IA # 18A-12,
Bogota, Colombia; email: [email protected]. He conducts research on compu-
tational biology and metagenomics associates to the human gut.
SILVIA RESTREPO is the vice-president for research at Universidad de los Andes. She is
a full professor in the Department of Biological Sciences, Carrera 1 A # 18A-12, Bogota,
Colombia; email: [email protected]. She earned her PhD from the Université
de Paris VI (Pierre et Marie Curie; Paris, France) on molecular and cellular biology.
She moved to the United States in 2000 as a postdoctoral fellow at Cornell University,
New York, in the Department of Plant Pathology. By mid-2001 she came back to
Colombia as a postdoctoral fellow at the International Center of Tropical Agriculture
(CI AT) to work in the biotechnology facilities. She currently works on population
genetics and genomics of plant pathogens.
GIOVANNA DANIES obtained her PhD from Cornell University (Ithaca, New York) in
plant pathology. She currently works as a postdoctoral researcher at the Department of
Biological Sciences, Universidad de los Andes, Carrera IA # 18A-12, Bogota,
Colombia; email: [email protected]. Her current research focuses on the phenotypic
and genotypie characterization of plant pathogens. She also works actively on an initia-
tive to improve STEM teaching and learning both at Universidad de los Andes as well
as in schools in Colombia and is constantly searching for links between schools, univer-
sity, and industry.
860
This content downloaded from 77.246.50.242 on Tue, 14 Nov 2023 16:32:16 +00:00
All use subject to https://about.jstor.org/terms