GTAA Coding Survey Final Report (May16th) J
GTAA Coding Survey Final Report (May16th) J
1. Title Page
2. Foreword and Acknowledgements
3. Table of Contents
4. Executive Summary
5. Purpose of the Report
6. Methodology and Demographics
7. Experience of Learning to Code
8. Additional Insights
9. In Conclusion
Executive Summary
The purpose of this report is to better understand the experience of students learning to code, in terms of their
main influences, and preferred learning environments. Our main source for this understanding is a survey of 2121
secondary and post-secondary students from across Canada. This is supplemented by an additional survey of 100
working professionals that use coding in their day-to-day careers. Both surveys are meant to inform stakeholders
(school boards, governments, businesses, and non-profits) interested in providing coding instruction to today’s
youth.
The ability to code (programming) is a much sought after skill in today’s economy. The online jobs site Indeed.com,
recently reported that high tech jobs currently occupy 9 of the 10 top spots on their Best Jobs in Canada: 2018 list.
Empirical studies have shown that taking computer science courses in secondary school make students
significantly more likely to follow STEM careers (Lee, 2015). Even for those students who will not end up pursuing a
career in coding or STEM, learning to code is thought to teach students important transferable skills, such as
problem solving, abstraction, and logical step-by-step thinking, considered crucial to thriving in the 21rst century
(Wing, 2006; Voogt et al., 2015). The call for widespread, equitable coding education is being issued from an
increasing number of voices (sources).
The portrait gained in our survey of students learning to code is one in which more students learn to code in
class, as part of a specific school subject, and point to a teacher as their main influence in learning to code. It is
one where student preferences echo the current literature in their choice of preferred learning environment,
choosing blended learning over either traditional in-class environments or wholly online instruction modules. It is
also, unfortunately, one that still requires additional work and supports to secure the participation of
underrepresented groups, such as women and girls.
There is a further requirement, in the pursuit of equitable, universal coding instruction, for differentiated
learning supports. This can be seen directly in survey responses to questions about the barriers to learning to
code, where 79% of students said coding’s complexity was a barrier to their learning and 82% thought coding was “not for
everyone.” It can also be glimpsed from our disaggregation of the same data according to students’ levels of
experience with coding. Students at the beginning of their coding journey are likely to perceive the subject
differently and may need to be approached differently by teachers, if they are to catch up with some of their
peers. Our report also relays these important student perceptions.
Ultimately, this report is a starting point. Further research is required to move beyond the analysis of a
generalized set of perceptions to the measured effects of particular instructional strategies on student
achievement with regard to coding, computer programming and computational thinking. Important questions
remain and surround the use of new teaching pedagogies. For example, *Include all identified areas for future
research in brief hands-on learning allowing students to step away from the traditional computer lab learning
environment, through the use of robots is an exciting prospect for teachers. However, there is some indication
that learning gained through “tangible user interfaces” is harder for students to transfer to other subject areas (TACCLE, 10).
It is our hope that this report contributes to the conversations surrounding students learning to code in a
positive, useful way. Where appropriate, we have made reference to excellent reports done by our colleagues in
different organizations, contributing to Canada’s understanding of student needs in this important space. All
this work and more is necessary to create a digital advantage for our students both in their learning and,
later, professional outcomes. We welcome all feedback and look forward to building on this important first step
in our research.
Purpose of the report …
Coding in Canada’s Economy and Education System
The ability to code (programming) is a much sought after skill in today’s economy. The Brookfield Institute report,
Stacking Up: A Snapshot of Canada’s Developer Talent , includes some basic statistics about professional software
developers in Canada, such as their median income of $70K, and their 85% rate of full-time employment (Brookfield,
2017). But software development is far from the only career open to students with a solid background in coding.
Students study computer science in secondary school have been found to be more likely to pursue careers in a
host of different STEM sectors (Lee, 2015). According to the Data Science Team at online jobs site Indeed.com, high-
tech jobs currently occupy 9 of the 10 top spots on their Best Jobs in Canada: 2018 list, based on growth and salary
(Indeed, 2018). The call for a universal, equitable coding education is being issued from an increasing number of
The federal government has supplied $50 million dollars,
voices.
through their new CanCode program, to train about one
million K-12 students to code and 63,000 teachers to
incorporate the necessary technology into the classroom
(Globe and Mail). Provincially, as of August 2017,
coding/programming has been made a mandatory part of
the curriculum in Nova Scotia, New Brunswick and British
Columbia. Ontario and Saskatchewan have made it an
optional part of the curriculum and encouraged teachers to
include coding in their teaching practice (Macleans).
With all of the concern surrounding employer reported skills shortages and the economic imperative of a nation
of coders (Globe and Mail, Shopify CEO Leads …), it is important to keep in mind that coding is more than just an
economically valuable skill set. In Mind the metaphor: charting the rhetoric about introductory programming in K-
12 schools, American academic Quinn Burke points out three distinct narratives that have crystalised around
many introductory coding initiatives within K-12 education: (1) coding as a new literacy; (2) coding as a “grounded”
form of math; and (3) as a highly marketable technical skill.
These narratives are familiar to anyone reading the press releases attached to the coding initiatives of provincial
ministries of education (sources). Such narratives provide a multi-faceted vision of what programming represents
to outsiders, explaining its value or trying to explain away anxiety about its impact on children’s lives and/or our
society more generally. Burke asserts these narratives do not adequately capture students’ actual engagement
with the process of learning to code, nor do they address the large equity-based concerns surrounding the
culture of coding instruction. He is supported in this by numerous other studies (source).
For Burke, coding is a much broader pathway for young people than these narratives suggest - one that
empowers them to become “engaged in the workings of the web-based media that surrounds them” (Burke, 2016).
However, as will be described below, with respect to the computational thinking process (described below) that
most scholars refer to when advancing coding’s applicability beyond the domain of computer science, there are
also those that advise against including so much in the concept that it blurs into other 21 century competencies
(Voogt et al., 2015, See also,719).
Quinn Burke, (2016) “Mind the metaphor: charting the rhetoric about introductory programming in K-12 schools” On the Horizon, v.24 no.3
DOI: 10.1108/OTH-03-2016-0010; Kafai, Y.B. and Burke, Q. (2013), “Computer programming goes back to school: why and what K-12
schools need to know”, Phi Delta Kappan, Vol. 95 No. 1, pp. 61-65. Kafai, Y.B. and Burke, Q. (2014), Connected Code: Why Children Need to
Learn Programming, MIT Press, Cambridge, MA.
See, Papert, S. (1972), “Teaching children to be mathematicians versus teaching about mathematics”, International Journal for Mathematical
Education, Science, and Technology, Vol. 3, pp. 249-262.
Papert, S. (1980), Mindstorms: Children, Programming, and Powerful Ideas, Basic Books, New York, NY Pea, R.D. and Kurland, D.M. (1983), Logo
Programming and the Development of Planning Skills, Center for Children & Technology, Bank Street College, NY.
Quinn Burke, “Mind the metaphor”, 3.
Margolis, J., Ryoo, J.J., Moreno, C.D.S., Lee, C., Goode, J. and Chapman, J. (2012), “Beyond access: broadening participation in high school
computer science”, ACM Inroads, Vol. 3 No. 4, pp. 72-78; Margolis, J. (2008), Stuck in the Shallow End, Education, Race, and Computing, MIT
Press, Cambridge, MA; Margolis, J. and Fisher, A. (2002), Unlocking the Clubhouse: Women in Computing, MIT Press, Cambridge, MA.
Coding, Computer Programming, and Computational Thinking
“Programming is more than just coding, it exposes students to computational thinking which involves problem-solving using computer science concepts like abstraction and
decomposition.”
Although often used interchangeably, “coding” and “computer programming” represent different aspects of
learning in computer science. The first represents the technical skill involved in learning syntax-based
programming languages (perhaps preceded by the use of block-based programs) to create a functional digital
product. The second involves both this and the ability to comprehend the meaning and functionality of the
syntax-based programming of others, as well as the logical/computational principles behind the programming
functions selected (Nandigam and Bathula, 2013).
In addition to the requirement to both create and comprehend code described above, coding instruction has
increasingly touted the benefits of learning to code in terms of transferable skills. The term, “computational
thinking” was popularized in 2006, by Jeanette Wing, in her widely cited paper, Computational Thinking, although
the term originates in Seymour Papert’s work from the 1980s and 1990s on developing procedural thinknig
through programming (Source: see Voogt et al.). Wing defines Computational Thinking as, “solving problems,
designing systems, and understanding human behaviour, by drawing on the concepts fundamental to computer
science.” (Wing, 2006). In fact, coding instruction is only one possible avenue for teaching computational thinking. There are
others, some of which are offline, hands-on group activities (TACCLE, 8).
What is often lacking from these conversations about the quality and potential benefits of learning to code are
students’ own voices about their experiences of learning, for example which methods of instruction do they find
most effective? Who has been most influential in their decision to learn to code? And when do they believe
coding should be introduced to future students?
related to the timing, method, and influence. Perception-based responses can then be analyzed and
transformed it into meaningful advice for interested stakeholders, as well as future students.
A more in-depth inquiry into the finer points of literacy/reading comprehension levels in computer programming
or the logical/computational thinking principles that underpin them was considered desirable only after a more
general picture has first been achieved. Computer programming, in the sense described above is not treated in
this report. This report does briefly addresses computational thinking, asking students and professionals about
some of the transferable skills gained from learning to code, but further research in this area is also desirable.
The potential for a more nuanced, in-depth study is discussed on page … in Identified Areas for Future Research.
The express purpose of the present report and the surveys that inform it is to capture the broad perceptions of
junior and senior high school students (Grades 11 and 12) and those in their first and second year of
postsecondary studies (college and university) about learning to code, along with some perceptions of coders
that are already in the job market. Both of these perspectives can and should inform supports and teaching
pedagogies for future students at these critical junctures in their career pathways.
Methodology and Demographics ...
Methodology
The Learning Partnership designed two surveys; one for secondary and post-secondary students and one for
working professionals that use coding in their day-to-day careers.
• The online survey was open to students between November 27, 2017 and January 10, 2018; and
• The online survey for working professionals was open between November 9, 2017 until January 31, 2017.
Question Design
Question design for the surveys was based on research undertaken by TLP analysts on current best practices
in teaching coding and computational thinking both within and supplemental to the public education system.
Both sets of survey questions are grouped into three main sub-sections:
In the case of the student survey, the market research firm Yconic was contracted to distribute the survey and
engage in active data collection efforts, to fulfill an agreed upon quota of 800 students. The final survey count
exceeded this quota and secured 2121 responses. The student survey has secured enough responses that it can
be generalized to the aggregate population of Canadian students at a confidence level of 95% (with a 5%
margin of error).
Further considerations that went into the selection criteria for survey respondents included:
In the case of the working professional survey, The Learning Partnership utilized the contacts within its own
professional network, reaching out to HR professionals in firms across Canada to identify potential
respondents for a smaller survey of working professionals using coding as part of their daily job activities. This
resulted in 100 survey responses from working professionals.
Analysis
Data visualization and analysis was then conducted in the following stages:
• Demographic statistics, such as age, province, gender, and education level were generated for both the
student and professional survey.
• Descriptive statistics such as Age at Which Respondent Learned to Code, Level of Experience with Coding,
and Main influences on their Learning to Code.
• ANOVA and t-tests were then used to identify statistically significant disaggregations of the response data.
Findings
9.10% (193)
46.25% (981) 26.86% (564)
46.58% (988)
38.76%
36.87% (782)
31.54% (669) (814)
8.71% (183)
10.95%
5.94% (126) 0.05% (1) (230)
0.71% (15) 0.38% (8)
19 Years Old 15 Years Old 2.52% (53) 2.71% (57) 4.10% (86)
University Public School Catholic School 16 Years Old 17 Years Old
College Private School Home Schooled 18 Years Old
Observations:
• 56.72% of respondents came from Ontario Grade 11 Grade 12
• 46.58% of respondents are attending university CÉGEP Fifth Year in High School
• 46.25% of respondents were 19 years of age or older with 36.87% reporting First Year College Second Year College
Third Year College and above First Year University
themselves as 17 years old
Second Year University Third Year University and above
Note on Data Collection:
• Survey responses collected between mid-December 2017 and late January 2018.
• A total of 2121 responses were collected from secondary and post-secondary students from almost every Canadian province
Professional Survey Sample
Gender Age
Province % # Responses 4.12% 1.03%
Newfoundland and 4.10% 1.00%
Labrador 0.0% 0 8.25%
Prince Edward Island 0.0% 0 13.40%
Nova Scotia 30.6% 30
New Brunswick 2.0% 2
Ontario 33.7% 33 26.50%
Quebec 0.0% 0 13.40%
Manitoba 3.1% 3 23.71%
Saskatchewan 0.0% 0
Alberta 0.0% 0 11.34%
British Columbia 30.6% 30
Northwest Territories 0.0% 0 68.40%
Yukon 0.0% 0
Nunavut 0.0% 0 24.74%
Total 98
Female Male Prefer not to disclose Other 20-25 years old 25-30 years old
30-35 years old 35-40 years old
40-45 years old 45-50 years old
50-55 years old 55-60 years old
Observations:
• Males make up 68% of the working professionals sampled
• 61% of respondents possess a university degree
• Roughly 50% of the sample is between 25 and 35 years of age
• 29% of respondents work in Apps and Services
• Respondents are overwhelmingly from Nova Scotia, Ontario, and British Columbia
15
Working professionals who responded the survey indicated
their job sector and the coding languages they were most
familiar with. They also indicated how important coding is
to their current career, as well as how much of their time on
the job is taken up by this activity.
Job Sector
12.37%
17.53%
2.06%
9.28% 6.19%
9.28% 1.03%
2.06%
28.87%
5.15%
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
6-8 Years Old 14-16 Years Old 17-18 Years Old 19 Years and Older
Becoming an expert in coding is difficult and takes years to master (Webb et al., 2017, 457, Jenkins, 2002, 55). Given
the time commitment required, it makes sense to expose students to coding and computational thinking earlier.
Afterall, prior coding experience is also frequently mentioned factor in post-secondary success in computer
science courses (Hurst et al., 2009). Figures… below show student and professional responses to the question of
when they thought coding should be introduced to students. Figure … breaks down student responses further, by
self-reported experience level. Lastly, figure … separates student responses into elementary and secondary
students.
Expert 66.67% 33.33%
5.26%
1.96%
Professionals3% 17% 37% 24% 17% 1%
Developing 10.75% 31.37% 35.29% 18.63% 1.96%
1.68% 2.52%
Students
2.64% 18% 29.53% 30.73% 21.13% Beginner 11.31% 33.65% 32.70% 18.87% 0.94%
1.00% 2.69%
Kindergarten Primary Grades (1-3) Junior Grades (4-6) Senior Grades (7-8) Secondary Grades (9-12) No Experience 10.75% 26.88% 27.42% 24.73% 0.0511
After Secondary School None of these 2.42%
n=833 Skipped: 1,288 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
instruction should be introduced in junior grades (4-6) than Fig:...Students by Coding Experience Level: When
do you think coding should be introduced to
did students. 37% of working professionals believed that students?
coding should be introduced in grades 4-6, as opposed to Observations:
only 30% of students. • 25% (approx.) of students with No
Experience in coding felt that instruction
should be introduced in secondary school
(9-12)
• 67% of students ranking themselves as
Expert felt coding should be introduced in
the primary grades (1-3)
• 33% in the junior grades (4-6).
Secondary Post-Secondary
3.03% 3.64%
0.67%
0.67%
Male 11.41% 36.91% 32.89% 16.11% Male 10.30% 23.03% 32.12% 24.85%
1.34% 3.03%
Female 13.86% 31.84% 31.84% 16.85% Female 12.17% 25.65% 28.26% 25.65%
0.75%
0% 20% 40% 60% 80% 100% 0% 20% 40% 60% 80% 100%
Fig:...Secondary and Post-Secondary Student Responses Compared: When should learning to code/program be introduced in K-12
education
Observations:
• More female and male Secondary students felt coding should be introduced in junior grades (4-6) than did
post-secondary students (32% of females and 37% of males and 26% of females and 23% of males
respectively)
• More post-secondary male and female students felt that coding should be introduced in secondary school
than did secondary school students themselves (26% of females and 25% of males; and 17% of females and
Comparison between
16% of males students and professionals, as well as between secondary and post-secondary students,
respectively)
appears to show increasing confidence on the part of younger students with coding, as in both cases they suggest
introducing coding earlier than older cohorts. Whether or not this confidence is misplaced, due to younger cohorts
not having progressed to more complex coding tasks and/or coding programs is beyond the scope of the present
study.
Level of Experience Coding
Different supports may be required for students at a different stage in their learning process. There were differing
levels of experience with coding within both our student and professional survey sample populations. Sentence and
Csizmadia, in their study of teacher perspectives on teaching students programming, assert that “Differentiation to
meet different levels of ability” is one of the principal challenges involved in this task (Sentence et al., 2017, 479).
Figures … on the left below shows female and male student responses to questions regarding their experience level in
coding, disaggregated by elementary and secondary school level. Figures … on the right below, show the experience
level of working professionals by age.
80%
Secondary Post-Secondary
55.11%
60%
53.85%
59.05%
38.46%
38.30%
40%
37.23%
44.44%
36.50%
40.96%
32.94%
24.70%
24.70%
20%
22.22%
22.22%
15.43%
7.98%
11.11%
7.69%
7.30%
9.64%
0.30%
5.93%
0%
1.06%
0.73%
Do not wish to disclose Female Male
0.36%
1.78%
100.00%
80%
80%
83.33%
82.76%
77.50%
74.00%
60% 60%
61.95%
58.45%
50.00%
50.00%
50.00%
50.00%
40% 40%
47.37%
38.23%
35.40%
36.84%
20% 20%
23.89%
20.00%
13.89%
13.79%
0.1053
0% 0%
0.0526
0.0345
0.0278
2.65%
2.49%
2.50%
No Experience Beginner Developing Competent Expert
1.90%
Student Observations:
• Students reporting themselves as having No Experience or being a Beginner in coding were overwhelmingly
(74% and 58.45% respectively) female.
• Those reporting themselves as Developing or Competent were overwhelmingly male (61.95% and 77.50%
respectively)
Professional Observations:
• 81% of male professionals rated themselves as either competent or expert in coding, as compared with 34% of 22
Comparing the self-reported experience level of female students and professionals presents a mixed picture. More
female professionals reported themselves as Developing (47%) than did female students (35%). However, more
female students reported themselves as Competent or Expert (20% and 50% respectively) than did female
professionals (14% in both categories). However, here it must be kept in mind that the overall number of students
reporting themselves as expert, from which that 50% of females is drawn, is a very small percentage of reporting
students (see figure …).
The difference in female and male responses reflect previously documented differences between female and
male students in this area. Actua’s coding survey of students and parents, Coding the Future: What Canadian
Youth and Their Parents Think About Coding, reported 73% of male students described coding as Interesting, as
compared to only 58% of female students. 56% of females described coding as Difficult, as compared with 42% of
males who did so. Studies seeking to explain the gender imbalance in coding poin to to a number of factors
including: “parent and teacher expectations, “perceptions that coding is boys work” (Margolis and Fischer, 2002*in
Webb et al.).
In addition to universal coding education, targeted supports may need to be offered to student groups that are currently
underrepresented in coding. An Industry Canada (now Innovation, Science and Economic Development) report from 2008 notes the
University of British Columbia’s success in maintaining the number of Computer Science graduates in an earlier period of cross-
Canada enrolment decline, through the targeting of female graduates (Slonim, Scully and McAllister, 2008).
However, it is also worth reporting that Stacking Up, reports a reduction in the ratio of professional male developers to female
developers from 17:1 in 2015, down to 10:1 in 2017 (Brookfield, 2017).
Main Influences on Learning to Code
The present survey also inquired as to the factors influencing both students and working professionals in their
learning to code.
Professionals
Students
Students 10.99% 32.64% 9.67% 43.30% 3.41% Professionals 11% 17% 5% 11% 43% 9% 3%
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Parents / Family Members Teachers
Friends / Peers Myself/No One Friends/Peers Teachers
Fig:...Students and Professionals: Influences on students learning to code
Other (please specify) Coding/Programming Professionals Family Members
Self-Directed Learning Colleagues
Other (please specify)
Observation: A higher proportion of current students were influenced by teachers in learning to code, than was
previously the case for today’s working professionals.
Perhaps due to the priority increasingly placed on students learning to code by the education system, a greater
percentage of today’s students are reporting Teachers as being the main influence on their learning to code.
Similarly, when asked ‘where’ they first learned to code, 51% of students reported learning to code as part of a
specific school subject, as compared with only 37% of working professionals (graph not shown). These findings
are worth keeping in mind, in light of the opinions of both students and working professionals expressed in
figures… on page …, where both agree on Learning to Code as part of a specific subject as the prefered method
of learning.
However important teachers are in influencing students to code, they are not the only influence. Studies on the
effect of parents on students learning to code remain difficult to find, although
there are studies indicating the significant influence they can have on their child’s learning (Barron et al., 2009;
Plowman et al., 2008). Other students can also have a significant effect on the learning of their peers. Wang et al.
have written a number of papers on Peer Code Reviews among students and have found significant positive
effects resulting from this approach in the areas of: student programming skills, collaborative learning
competence, and compliance with coding standards. (Wang et al., 2011). Under the PCR model, students play a role
in authoring, reviewing and revising their own code and the coding of their peers (Wang, 2011, 413).
In the their paper, A Systematic Review of Approaches for Teaching Introductory Programming and The Influence
on Success, Vihaveinin et al. reviewed quantitative studies of different coding interventions by teachers that
made use of pre-intervention and post intervention testing, and compared their effects on pass rates in
computer science courses. Among the identified interventions, the top five were:
•
Cooperative Learning (25.7% average improvement in pass rate
• Team-based learning (18.1% average improvement in pass rate
• Resource Improvement (17.5% average improvement in the pass rate)
• Class Size (17.8% average improvement in pass rate)
• ‘Bootstrapping’ processes before or at the beginning of a computer science course, utilizing visual
programming tools such as Scratch or Alice (17.3% average improvement in the pass rate).
As was stated earlier, students may require different supports at different stages of learning to code. Figure …
shows respondents’ main influence on their learning to code, disaggregated by their level of experience.
16.18% 14.81% 15.28% 19.35%
19.92%
22.22%
19.44%
12.90%
Self-Directed Self-Directed
18.98%
20.33%
18.06%
22.58% Learning Learning
13.43% 11.11%
6.45%
19.50% 21.76% 20.83% 16.13%
Those students with the 11.62% 14.81% 16.67%
3.23%
25.81%
least amount of coding 17.01% 18.06% 13.89%
12.90% as having the most
24.07% 14.81%
experience were most 26.39%
29.03% Family Members impact on students,
23.61%
likely to rate 21.99% 20.83%
followed by teachers
25.31% 28.70% 22.22% 29.03%
Coding / 32.78%
24.07% 18.06%
6.45%
22.58%
programming Coding /
programming 16.18%
23.61%
19.44%
11.11% 29.03%
specialists and/or specialists and/or 18.67% 18.06% 19.44%
As a hobby 29.05% 16.57% 16.21% 15.97% 22.21% As a hobby 34.48% 24.14% 10.34%
10.34% 20.69%
As part of a project that 14.05% 23.53% 23.41% 24.13% 14.89% As part of a project that 11.63%16.28% 16.28% 36.05% 19.77%
As an after-school program 17.29% 25.69% 23.17% 21.13% 12.73% As an after-school program 21.69% 21.69% 22.89% 16.87% 16.87%
As Interdisciplinary learning 15.13% 22.33% 24.61% 25.21% 12.73% As Interdisciplinary learning 17.07% 18.29% 25.61% 24.39% 14.63%
As a specific school subject 24.49% 11.88%12.61%13.57% 37.45% As a specific school subject 12.94% 17.65% 23.53% 12.94% 32.94%
0% 20% 40% 60% 80% 100% 120% 0% 20% 40% 60% 80% 100% 120%
1 2 3 4 5 n=833 Skipped: 1,288
1 2 3 4 5
Figs:…Students and Professionals: The most effective ways students learn to code
Observations:
• Students and professionals agreed that learning coding as a specific school subject was the most effective
method.
• Students and professionals agreed that self-directed learning was the least effective way to learn how to code.
Much of the research into scaffolding student’s learning to
Students 32.60% 24.08% 39.52% 3.80% code is today focused on software tools that can be used as
part of a blended, project-based and design-based learning
environment (Puntambekar and Hubscher, 2005 ).
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Online Face-to-Face
Best practices in learning computational thinking principles
Blended Other, please specify through K-12 computer programming emphasizes a
constructionism-based, problem-solving learning
Fig:...Students: preferred way to learn to code environment, with information processing, scaffolding and
reflection activities that can be designed to foster both
Observations: computational practices and perspectives in addition to
the coding concepts being taught in class.3
• Nearly 40% of students preferred blended
learning as their preferred method of coding Coding can be taught away from the traditional desktop
instruction computer and keyboard in a number of ways, including
through the coding of robots, or other, offline means
The preference for blended learning approaches
(TACCLE, p. 3; Saeli et al., 2011, 81), such as simple card
among today’s students is not surprising. Boyle et
sorting activities. These activities are worth noting given
al. found significant increases in the pass rates
unresolved debate around the proper amount of screen
between 12 and 19% of enrolled computer science
time per day for young children (TACCLE, 5). However, there
students engaged in their particular blended
are also studies asserting that teaching coding through the
learning model (Boyle et al., 2003), thus finding
use of hands-on, keyboard-free methods may make it more
support for Aycock’s contention that blended
difficult for students to transfer what they learn to other
learning increases student engagement (Aycock,
areas, such as mathematics (TACCLE, p.10). Developing new
2002).
pedagogies for learning coding and computational thinking is an area
for further research.
Secondary Post-Secondary
Male 30.67% 18.67% 47.33% 3.33% Male 29.31% 25.86% 41.38% 3.45%
Female 38.11% 25.17% 32.52% 4.20% Female 29.36% 24.26% 42.13% 4.26%
Do not wish to disclose 14.29% 28.57% 57.14% Do not wish to disclose 50.00% 16.67% 33.33%
0% 20% 40% 60% 80% 100% 0% 20% 40% 60% 80% 100%
Answered: 443 Skipped: 492 Answered: 421 Skipped: 759
Observations:
• Online learning environments are more popular with younger, secondary students than with post-secondary
students
• Blended learning environments are more popular with post-secondary student females than with secondary
student females, whereas for males blended learning is more popular with secondary students than post-
secondary students
Additional insights…
Transferable skills
For many, teaching students problem solving and computational thinking skills is as high or a higher priority
than teaching coding itself (Crow, 2014 *In TACCLE, p.3). While there is no universally accepted definition of
Computational Thinking (some more expansive definitions include skills such as collaboration and creativity), all
definitions hover around the idea of using computational skills, such as logical problem solving, abstraction, …
within multiple areas of study, not limited to computer science. Within the -12 context, Salomon and Perkins have
distinguished high road and low road thinking activities within the computational thinking concept and the
assertion is made that high road thinking, involving “mindful abstraction of the concept or process being
learned,” can be taught as “part of the young child’s school environment,” provided with the right instruction
(Salamon and Perkins, 1989 in Voogt et al., 2015). Without directly referring to computational thinking, our survey
asked students and working professionals about transferable skills that can be gained through learning to code.
The teaching of coding is often justified with reference to
its utility in teaching other transferable skills. Such skills
include not only Mathematics (Saeli et al., 2010, 78), but
also generalized problem solving, abstraction, critical
thinking, ...
Is for those who plan to have careers in information communication technology (ICT). 29.96% 63.42% 6.62% Stereotyping who can learn to code based on
gender, race, ability, and social class 37.94% 53.30% 8.76%
Is complex. 15.54% 79.28% 5.18% Limited access to wi-fi, hardware, and software 23.65% 69.87% 6.48%
Disagreed/Strongly Disagreed Agreed/Strongly Agreed Do Not Know Disagree/Strongly Disagree Agree/Strongly Agree Do Not Know
Observations:
• Nearly 80% of students agreed or strongly agreed that coding’s complexity was a concern for students generally
• Over 82% of students disagreed or strongly disagreed with the statement that coding is not for everyone
• Almost 80% of students disagreed or strongly disagreed with the statement that coding is not female friendly
• Students strongly identified lack of access to wifi and appropriate technologies as barriers in learning to code
The Industry Canada report cited above, interviewed CS Department Chairs and Senior University Administration
about the reasons for the decline and noted the responses given by over 50% of respondents. These included:
negative perceptions of ICT job sector prospects; Requirement of and emphasis on mathematics; Stereotypes of the
discipline’s students; and a narrow view of the type of problems addressed by the discipline (Slonim, Scully,
McCallister, 2008). These perceptions were also echoed in an Information and Communications Technology Council
of Canada report of the same year (ICTC, 2008).
In conclusion …
Key Findings
Among the survey responses included in this report were a number of positive key finds. These are outlined
below.
Students and professionals largely agreed on the most effective and the least effective ways to learn to code. The
greatest percentages of students and professionals responded that learning to code As part of a specific
subject was most effective. The greatest percentage of students and professionals also agreed that learning to
code As a hobby was least effective. Given this agreement, the finding that a greater percentage of students are
reporting a teacher as the main influence on their learning to code than was previously the case (as reported by
working professionals) is a positive finding.
However, these findings are nuanced by responses to the question, “who has the most influence on learning to
code?” The greatest percentage of students, among those who considered themselves Competent in coding,
answered with Self-directed learning. Whereas the greatest percentage of students, among those that said they
had No experience, answered with Coding specialists and/or programmers. This may reflect the likelihood that
the most impactful and/or effective way to learn to code changes as students progress through different stages
of their learning, with more advanced students requiring less instruction and more time alone to experiment.
Coding is still perceived by students as complex and Not for everyone. The present study did not explicitly
attempt to break down the differences between learning to code and computational thinking for survey
respondents, and so this finding needs to be studied in more depth. However, action also needs to be taken to
counter these perceptions if the goal is to treat coding as a ‘new literacy’. If computational thinking is the
priority, this finding may not be cause for alarm.
Identified Areas for Future Research
The experiences and perceptions related above have helped the research team identify future areas of study
for in-depth study. Some of these areas are related in brief, below.
Research undertaken to identify specific drop-off points where significant numbers of students stop coding is
needed. Our survey noted some interesting differences of opinion as to when coding should be introduced to
students. Overall, a larger percentage of working professionals felt coding should be introduced as early as
grades 4-6, than did present day students. Within our student survey, a larger percentage of secondary
school students believed coding would be introduced in grades 4-6 than did post-secondary students. We
hypothesize that the confidence one feels in their coding abilities at a particular moment, mediates when
they will suggest coding be introduced to future students. Research identifying where pain points usually
occur in the long process of learning to code might help to validate (or not) this hypothesis.
Further research into the reasons for the underrepresentation of female students in coding is needed. Our
survey identified clear differences in self-reported skill levels between female and male students. A greater
understanding of this phenomenon if necessary to developing furtehr supports that correct this imbalance.
Developing new pedagogies, hands-on learning (robots, card sorts) need to be verified through additional
study.
Professionals: Most Effective Way to for K-12 Students to Learn
Coding
Observations:
- 43.65% of male post-secondary respondents reported that they were self-influenced (Myself/No One) in terms of influences on their
learning to code/program compared with 32.45% of male secondary students.
- 41.67% of post-secondary students not wishing to disclose their gender identity reported that they were self-driven (Myself/No One) in
terms of reporting influences on their learning to code/program compared with 28.57% of secondary students in the same category.
Secondary and Post-Secondary Student Responses Compared:
Where did you first learn to code/program?
Secondary Students Post-Secondary Students
3.42% 3.42%
7.53% 7.53%
1.08%
Do not wish to 57.14% 14.29% 14.29% 14.29%
disclose
0% 20% 40% 60% 80% 100% Do not wish to disclose 50.00% 8.33%8.33%8.33%8.33% 16.67%
Observations:
Top emerging coding careers
professionals considered apps
and services (33%), cyber
security (39%), and data
analytics (45%) as the three
top coding careers, in terms of
job prospects, 10 years from
now.
See Separate
Sheet
44
2.02% (2) 17.24% (5)
6.90% (2)
5.41% (2) 3.45% (1)
20.69% (6)
16.22% (6)
13.13% (13)
16.16% (16)
21.43% (3)
47.47
21.05% (4)
51.72% (15)
37.50% (9)
(9)
21.2
(15)
10.71% (3)
)
% (10
Comparison of Students’ self-
37.50%
)
% (47
48. % (9
1%
(73
24
9.62%
39 .29 (7)
.32 (11) )
52.63
6 5% )
39
.29 %
79%
(21 )
reported coding experience and
)
1.92% (3)
%
50
.0
( 18
3)
46.
0%
13
(4
(11
.3
)
25
6%
9%
.2
experience with coding languages 0%
.5
2)
(1
27
(2
7)
(3
%
2)
0
.1
14
20.00% (1) 50
.39
80.00% (4) %
17.65% (3) (64 1)
) 10
Programming languages 10. .0 6(
5.88% (1) 24% 30
(13
students reported using 11.76% (2)
58.8
2%
(10)
)
)
82
(1
38
6%
.93
.4
49
27.72% (1
16.39
%
6.15%
( 95
)
% (4
Overall Self-Reported Experience
(15)
0)
02
Levels of Students in Coding
)
No Experience Expert
1.23% (3)
When viewed as a proportion of where they first learned to code / program, student responses differed
significantly depending on their age. Students reporting their age as 17 were significantly more likely to have first
learned coding/programming as a specific school subject
Statistical Tests & Tables
Crosstabs: Level of coding experience by perceived barriers to coding
Crosstabs: Level of coding experience by perceived barriers to coding (cont.)
Cluster Analysis* of Combined (Students and Professionals) Data
Corre lations
Statistic
Variable Correlation Count Lower C.I. Upper C.I.
Apply As a specific school subject e.g. Math, Computer Studies, 0.032 877 -0.034 0.098
Mathematical Design and Technology
Thinking As inter-disciplinary learning e.g. STEM, STEAM 0.073 874 0.007 0.139
As an after school program -0.004 875 -0.070 0.062
As a hobby -0.065 879 -0.131 0.001
As part of a project that requires coding / programming e.g -0.029 878 -0.095 0.037
robotics, production of objects using 3-D printer
Identify w here As a specific school subject e.g. Math, Computer Studies, 0.038 877 -0.028 0.104
repetitions can Design and Technology
be minimized As inter-disciplinary learning e.g. STEM, STEAM 0.043 874 -0.023 0.109
As an after school program 0.007 875 -0.060 0.073
As a hobby -0.041 879 -0.106 0.026
As part of a project that requires coding / programming e.g -0.054 878 -0.119 0.012
robotics, production of objects using 3-D printer
Consider ends As a specific school subject e.g. Math, Computer Studies, 0.054 875 -0.012 0.120
and means. Design and Technology
As inter-disciplinary learning e.g. STEM, STEAM 0.004 872 -0.062 0.071
As an after school program -0.014 873 -0.080 0.053
As a hobby -0.057 877 -0.123 0.009
As part of a project that requires coding / programming e.g 0.005 876 -0.061 0.072
robotics, production of objects using 3-D printer
Know how to As a specific school subject e.g. Math, Computer Studies, 0.044 876 -0.023 0.110
iterate and/or Design and Technology
revise based on As inter-disciplinary learning e.g. STEM, STEAM 0.045 873 -0.022 0.111
mistakes and As an after school program -0.005 874 -0.071 0.061
failures.
As a hobby -0.088 878 -0.153 -0.022
As part of a project that requires coding / programming e.g 0.011 877 -0.055 0.077
robotics, production of objects using 3-D printer
Appreciate the As a specific school subject e.g. Math, Computer Studies, 0.035 876 -0.032 0.101
importance of Design and Technology
digital As inter-disciplinary learning e.g. STEM, STEAM 0.025 873 -0.042 0.091
responsibility. As an after school program -0.023 874 -0.089 0.044
As a hobby -0.029 878 -0.095 0.037
As part of a project that requires coding / programming e.g -0.017 877 -0.083 0.049
robotics, production of objects using 3-D printer
Missing value handling: PAIRWISE, EXCLUDE. C.I. Level: 95.0
Principle Component (Factor) Analysis* of Combined (Students and Professionals) Data
Principle Component (Factor) Analysis* of Combined (Students and Professionals) Data (cont.)
Basu, S., Biswas, G., Sengupta, P., Dickes, A., Kinnebrew, J. S., & Clark, D. (2016). Identifying middle school students’ challenges in computational thinking-based science learning. Research and Practice in Technology Enhanced Learning, 11(1).
doi:10.1186/s41039-016-0036-2
Bocconi, S. (2016). Developing Computational Thinking in Compulsory Education: Implications for Policy and Practice (A. Ferrari, Trans.). In A. Chioccariello (Ed.): European Commission: JRC Science for Policy Report.
Bocconi, S. (2016). Developing Computational Thinking: Approaches and Orientations in K-12 Education. In A. Chioccariello (Ed.): Proceedings EdMedia 2016, Vancouver , June 28-30, 2016.
Bottino, R. (2015). Computational Thinking: videogames, educational robotics, and other powerful ideas to think with. In A. Chioccariello (Ed.).
Calderon, A. C. (2016). Developing Computational Thinking through Pattern Recognition in Early Years Education. In T. Crick (Ed.).
Carver, S. (1988). Learning and transfer of debugging skills: Applying task analysis to curriculum design and assessment. In R. E. Mayer (Ed.), Teaching and learning computer programming (pp. 259-298). Hillsdale, NJ: Erlbaum.
Ching, C. C., & Kafai, Y. (2008). Peer pedagogy: Student collaboration and reflection in a learning-through-design project. Teachers College Record, 110(12), 2601-2632.
Clement, D. H., & Merriman, S. (1988). Componential developments in Logo programming and environments. In R. E. Mayer (Ed.), Teaching and learning computer programming (pp. 13-54). Hillsdale, NJ: Erlbaum.
Craver, S. M. (1988). Learning and transfer of debugging skills: Applying task analysis to curriculum design and assessment. In R. E. Mayer (Ed.), Teaching and learning computer programming (pp. 259-298). Hillsdale, NJ: Erlbaum.
Davis, E. A. (2003). Prompting middle school science students for productive reflection: generic and directed prompts. Journal of the Learning Sciences, 12(1), 91-142.
Denner, J., & Werner, L. (2007). Computer programming in middle School: How pairs respond to challenges. Journal of Educational Computing Research, 37(2), 131-150.
Denner, J., Werner, L., & Ortiz, E. (2012). Computer games created by middle school girls: Can they be used to measure understanding of computer science concepts? Computers & Education, 58(1), 240-249.
Fay, A. L., & Mayer, R. E. (1994). Benefits of teaching design skills before teaching LOGO computer programming: Evidence for syntax-independent learning. Journal of Educational Computing Research, 11(3), 187-210.
Fessakis, G., Gouli, E., & Mavroudi, E. (2013). Problem solving by 5-6 years old kindergarten children in a computer programming environment: A case study. Computers & Education, 63, 87-97.
Feurzeig, W., & Papert, S. A. (2011). Programming-languages as a conceptual framework for teaching mathematics. Interactive Learning Environments, 19(5), 487-501.
Fitzgerald, S., Lewandowski, G., McCauley, R., Murphy, L., Simon, B., Thomas, L., et al. (2008). Debugging: Finding, fixing and flailing, a multi-institutional study of novice debuggers. Computer Science Education, 18(2), 93-116.
Carbone, J. N. (2016). Addressing Global Education Concerns - Teaching In J. A. Crowder (Ed.): Raytheon Intelligence, Information and Services.
Csizmadia, A. (2015). Computational Thinking: A Guide for Teachers (S. Humphreys, Trans.). In P. Curzon (Ed.): Computing At School.
Curzon, P. (2014). Developing computational thinking in the classroom: a framework (C. Selby, Trans.). In M. Dorling (Ed.): Computing At School.
Dagiene, V., & Stupuriene, G. (2016). Informatics Concepts and Computational Thinking in K-12 Education: A Lithuanian Perspective. Journal of Information Processing, 24(4), 732-739. doi:10.2197/ipsjjip.24.732
Gadanidis, G., Hughes, J. M., Minniti, L., & White, B. J. G. (2016). Computational Thinking, Grade 1 Students and the Binomial Theorem. Digital Experiences in Mathematics Education, 3(2), 77-96. doi:10.1007/s40751-016-0019-3
García-Peñalvo, F. J., & Cruz-Benito, J. (2016). Computational thinking in pre-university education. Paper presented at the Proceedings of the Fourth International Conference on Technological Ecosystems for Enhancing Multiculturality - TEEM '16.
Hennessey, E. J. V., Mueller, J., Beckett, D., & Fisher, P. A. (2017). Hiding in Plain Sight: Identifying Computational Thinking in the Ontario Elementary School Curriculum. Journal of Curriculum and Teaching, 6(1). doi:10.5430/jct.v6n1p79
Israel, M., Wherfel, Q. M., Pearson, J., Shehab, S., & Tapia, T. (2015). Empowering K–12 Students With Disabilities to Learn Computational Thinking and Computer Programming. TEACHING Exceptional Children, 48(1), 45-53.
doi:10.1177/0040059915594790
Koh, K. H., Nickerson, H., Basawapatna, A., & Repenning, A. (2014). Early validation of computational thinking pattern analysis. Paper presented at the Proceedings of the 2014 conference on Innovation & technology in computer science education -
ITiCSE '14.
Kong, S. C. (2016). A Case Study Illustrating Coding for Computational Thinking Development. In. Proceedings of the 24th International Conference on Computers in Education: India: Asia-Pacific Society for Computers in Education.
Magana, A., Vieira, C., Penmetcha, M., & Matson, E. (2016). Computational Thinking as a Practice of Representation: A Proposed Learning and Assessment Framework. The Journal of Computational Science Education, 7(1), 21-30.
doi:10.22369/issn.2153-4136/7/1/3
Meza, R. (2016). Computational-Thinking-and-Journalism-Education. In Ramduny-Ellis, D. Exploring Computational Thinking in a Secondary Setting. In D. Peebles (Ed.).
Rode, J. A., Weibert, A., Marshall, A., Aal, K., von Rekowski, T., El Mimouni, H., & Booker, J. (2015). From computational thinking to computational making. Paper presented at the Proceedings of the 2015 ACM International Joint Conference on Pervasive
and Ubiquitous Computing - UbiComp '15.
Swaid, S. I. (2015). Bringing Computational Thinking to STEM Education. Procedia Manufacturing, 3, 3657-3662. doi:10.1016/j.promfg.2015.07.761
Tara Reimche & Edna Dach, A. E. Computer Coding and Computational Thinking.
Voogt, J., Fisser, P., Good, J., Mishra, P., & Yadav, A. (2015). Computational thinking in compulsory education: Towards an agenda for research and practice. Education and Information Technologies, 20(4), 715-728. doi:10.1007/s10639-015-9412-6
Weintrop, D., Beheshti, E., Horn, M., Orton, K., Jona, K., Trouille, L., & Wilensky, U. (2015). Defining Computational Thinking for Mathematics and Science Classrooms. Journal of Science Education and Technology, 25(1), 127-147. doi:10.1007/s10956-
015-9581-5
Lee, I. (2016). Reclaiming the Roots of CT. CSTA Voice - Special Issue on Computational Thinking, 12(1), 3-5.
National Research Council. (2010). Report of a Workshop on The Scope and Nature of Computational Thinking. Washington, D.C.: National Academies Press.
National Research Council, (2012). A Framework for K-12 Science Education: Practices, Crosscutting Concepts, and Core Ideas. (H. Quinn, H. Schweingruber, & T. Keller, Eds.). Washington, D.C.: National Academies
Press.
Papert, S. (1980). Mindstorms: Children, computers, and powerful ideas. Basic Books, Inc.
Peyton Jones, S. (2015). Decoding the new computing programmes of study. Computing at School.
Quinlan, O. (2015). Young Digital Makers - Surveying attitudes and opportunities for digital creativity across the UK. London, UK: NESTA.
Garner, S. (2009). A quantitative study of a software tool that supports a partcomplete solution method on learning outcomes. Journal of Information Technology Education, 8, 285-310.
Goel, S., & Kathuria, V. (2010). A novel approach for collaborative pair programming. Journal of Information Technology Education, 9, 183-196.
Graczyn´ ska, E. (2010). ALICE as a tool for programming at schools. Natural Science, 2(2), 124-129.
Grover, S., & Pea, R. (2013). Computational Thinking in K–12 A Review of the State of the Field. Educational Researcher, 42(1), 38–43.
Grover, S., Pea, R., & Cooper, S. (2015). Designing for deeper learning in a blended computer science course for middle school students. Computer Science Education, 25(2), 199–237.
Howland, K., Good, J., & Nicholson, K. (2009). Language-based support for computational thinking. IEEE Symposium on Visual Languages and
Human-Centric Computing (VL/HCC 2009). IEEE. 147–150.
Hsieh, H. F., & Shannon, S. E. (2005). Three approaches to qualitative content analysis. Qualitative Health Research, 15(9), 1277-1288.
Hui, T. H., & Umar, I. N. (2011). Does a combination of metaphor and pairng activity help programming performances of students with different self-regulated learning level? The Turkish Online Journal of Educational Technology, 10(4), 122-129.
Hung, Y.-C. (2012). The effect of teaching methods and learning style on learning program design in web-based education systems. Journal of Educational Computing Research, 47(4), 409-427.
Ioannidou, A., Bennett, V., Repenning, A., Koh, K. H., & Basawapatna, A. (2011). Computational thinking pattern. In Annual American Educational Research Association meeting. New Orleans, Louisiana, United States.
Jiau, H. C., Chen, J. C., & Ssu, K.-F. (2009). Enhancing self-motivation in learning programming using game-based simulation and metrics. IEEE Transactions on Education, 52(4), 555-562.
Jonassen, D. (2011). Learning to solve problems: A handbook for designing problem-solving learning environments. New York: Routledge.
Jonassen, D., Howland, J., Marra, R.M., & Crismond, D. (2008). Meaningful learning with technology (3rd ed.): Pearson/Merrill Prentice Hall.
Jones, E. (2011). The Trouble with Computational Thinking. Retrieved from http://www.csta.acm.org/Curriculum/sub/CurrFiles/JonesCTOnePager.pdf
Kafai, Y., & Resnick, M. (1996). Constructionism in practice: Designing, thinking, and learning in a digital world. In Lawrence Erlbaum.
Kafai, Y., & Burke, Q. (2013). Computer programming goes back to school. Phi Delta Kappan, 95(1), 61-65.
Kafai, Y., Fields, D. A., & Burke, Q. (2010). Entering the clubhouse: Case studies of young programmers joining the online Scratch communities. Journal of Organizational and End User Computing, 22(2), 21-35.
Kahn, K., Sendova, E., Sacristán, A. I., & Noss, R. (2011). Young students exploring cardinality by constructing infinite processes. Technology, Knowledge and Learning, 16(1), 3-34.
Katai, Z., & Toth, L. (2010). Technologically and artistically enhanced multi-sensory computer-programming education. Teaching and Teacher Education, 26(2), 244-251.
Kazakoff, E., & Bers, M. (2012). Programming in a robotics context in the kindergarten classroom: The impact on sequencing skills. Journal of Educational Multimedia and Hypermedia, 21(4), 371-391.
Kelleher, C., & Pausch, R. (2005). Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers. ACM Computing Surveys, 37(2), 83-137.
Klahr, D., & Carver, S. M. (1988). Cognitive objectives in a LOGO debugging curriculum: Instruction, learning, and transfer. Cognitive Psychology, 20(3), 362-404.
Kordaki, M. (2010). A drawing and multi-representational computer environment for beginners' learning of programming using C: Design and pilot formative evaluation. Computers & Education, 54(1), 69-87.
Kose, U., Koc, D., & Yucesoy, S. A. (2013). Design and development of a sample ''computer programming'' course tool via story-based e-learning approach. Kuram Ve Uygulamada Egitim Bilimleri, 13(2), 1235-1250.
Ismail, M. N., Ngah, N. A., & Umar, I. N. (2010). The effects of mind mapping with cooperative learning on programing performance, problem solving skill and metacognitive knowledge among computer science students. Journal of Educational Computing
Research, 42(1), 35-61.
Kurland, D. M., Pea, R., Clement, C., & Mawby, R. (1986). A study of the development of programming ability and thinking skills in high school students. Journal of Educational Computing Research, 2(4), 429-458.
Kyungbin, K., & Jonassen, D. H. (2011). The influence of reflective self-explanations on problem-solving performance. Journal of Educational Computing Research, 44(3), 247-263.
Lee, Y.-J. (2010). Developing computer programming concepts and skills via technology-enriched language-art projects: A case study. Journal of Educational Multimedia and Hypermedia, 19(3), 307-326.
Lehrer, R., Lee, M., & Jeong, A. (1999). Reflective teaching of Logo. Journal of the Learning Sciences, 8(2), 245-289.
Lin, J. M. C., & Liu, S. F. (2012). An investigation into parent-child collaboration in learning computer programming. Educational Technology & Society, 15(1), 162-173.
Ma, L., Ferguson, J., Roper, M., & Wood, M. (2011). Investigating and improving the models of programming concepts held by novice programmers. Computer Science Education, 21(1), 57-80
Margolis, J., Goode, J., & Bernier, D. (2011). The need for computer science. Educational Leadership, 68(5), 68-72.
Mayer, R. E (1992). Teaching for transfer of problem-solving skills to computer programming. In E. Corte, M. Linn, H. Mandl, & L. Verschaffel (Eds.). Computerbased learning environments and problem solving (Vol. 84, pp. 193-206). Berlin, Heidelberg: Springer.
Mayer, R. E. (2004). Should there be a three-strikes rule against pure discovery learning? American Psychologist, 59(1), 14-19.
Mayer, R. E. (2010). Learning with technology. In H. Dumont, D. Istance & F. Benavides (Eds.), Nature of learning: Using research to inspire practice. Paris, FRA: Organisation for Economic Cooperation and Development (OECD).
McCauley, R., Fitzgerald, S., Lewandowski, G., Murphy, L., Simon, B., Thomas, L., et al. (2008). Debugging: A review of the literature from an educational perspective. Computer Science Education, 18(2), 67-92.
Miller, P. (2009). Learning with a missing dense: What can we learn from the interaction of a deaf child with a turtle? American Annals of the Deaf, 154(1), 71-82.
Mills, K. A. (2010). A review of the ''digital turn'' in the new literacy studies. Review of Educational Research, 80(2), 246-271.
Moreno, J. (2012). Digital competition game to improve programming skills. Educational Technology & Society, 15(3), 288-297.
Moura, I. C., & van Hattum-Janssen, N. (2011). Teaching a CS introductory course: An active approach. Computers & Education, 56(2), 475-483.
Ng, W. (2012). Can we teach digital natives digital literacy? Computers & Education, 59(3), 1065-1078.
NRC (2012). A framework for K-12 science education: Practices, crosscutting concepts, and core ideas. The National Academies Press.
Olson, P. (2012). Why Estonia has started teaching its first-graders to code. In Forbes.
Papert, S. (1994). The children's machine: Rethinking school in the age of the computer. Basic Books.
Pea, R. (1983). Logo programming and problem solving. In American Educational Research Association. Montreal, Canada.
Peppler, K. A., & Kafai, Y. (2007). From SuperGoo to Scratch: Exploring creative digital media production in informal learning. Learning, Media and Technology, 32(2), 149-166.
Polya, G. (1957). How to solve it (2nd ed.). Princeton, NJ: Princeton University Press.
Ratcliff, C. C., & Anderson, S. E. (2011). Reviving the turtle: Exploring the use of logo with students with mild disabilities. Computers in the Schools, 28(3), 241-255.
Resnick, M., Maloney, J., Monroy-Hernandez, A., Rusk, N., Eastmond, E., Brennan, K., et al. (2009). Scratch: Programming for all. Communications of the ACM, 52(11), 60-67.
Robertson, J. (2011). The educational affordances of blogs for self-directed learning. Computers & Education, 57(2), 1628-1644.
Robins, A., Rountree, J., & Rountree, N. (2003). Learning and teaching programming: A review and discussion. Computer Science Education, 13(2), 137-172.
Sengupta, P., Kinnebrew, J., Basu, S., Biswas, G., & Clark, D. (2013). Integrating computational thinking with K-12 science education using agent-based computation: A theoretical framework. Education and Information Technologies, 18(2), 351-380.
Smith, D. C., Cypher, A., & Tesler, L. (2000). Novice programming comes of age. Communications of the ACM, 43(3), 75-81.
Søndergaard, H., & Mulder, R. A. (2012). Collaborative learning through formative peer review: Pedagogy, programs and potential. Computer Science Education, 22(4), 343-367.
Tangney, B., Oldham, E., Conneely, C., Barrett, S., & Lawlor, J. (2010). Pedagogy and processes for a computer programming outreach workshop - The bridge to college model. IEEE Transactions on Education, 53(1), 53-60.
Theodorou, C., & Kordaki, M. (2010). Super Mario: A collaborative game for the learning of variables in programming. International Journal of Academic Research, 2(4), 111-118.
Urquiza-Fuentes, J., & Velazquez-Iturbide, J. A. (2013). Toward the effective use of educational program animations: The roles of student's engagement and topic complexity. Computers & Education, 67, 178-192.
Utting, I., Cooper, S., Kölling, M., Maloney, J., & Resnick, M. (2010). Alice, greenfoot, and scratch - a discussion. ACM Transactions on Computing Education (TOCE), 10(4), 17.
Wang, L. C., & Chen, M. P. (2010). The effects of game strategy and preference matching on flow experience and programming performance in game-based learning. Innovations in Education and Teaching International, 47(1), 39-52.
Wang, Y., Li, H., Feng, Y., Jiang, Y., & Liu, Y. (2012). Assessment of programming language learning based on peer code review model: Implementation and experience report. Computers & Education, 59(2), 412-422.
Weintrop, D., Orton, K., Horn, M., Beheshti, E., Trouille, L., Jona, K., & Wilensky, U. (2015). Computational Thinking in the Science Classroom: Preliminary Findings from a Blended Curriculum. Annual meeting of the National Association for Research in Science
Teaching (NARST).
Wing, J. M. (2011). Research Notebook: Computational Thinking - What and Why? The Link. Pittsburg: Carnegie Mellon.
Wing, J. M. (2014). Computational Thinking Benefits Society. Social Issues in Computing Blog. New York: Academic Press
Wing, J. M. (2008). Computational thinking and thinking about computing. Philosophical Transactions of the Royal Society A - Mathematical Physical and Engineering Sciences, 366(1881), 3717-3725.
Taub, R., Armoni, M., & Ben-Ari, M. (Moti). (2014). Abstraction as a bridging concept between computer science and physics. Proceedings of the 9th Workshop in Primary and Secondary Computing Education. ACM Press. 16–
19.
Voogt, J., Fisser, P., Good, J., Mishra, P., & Yadav, A. (2015). Computational thinking in compulsory education: Towards an agenda for research and practice. Education and Information Technologies, 20(4), 715–728.
Yevseyeva, K., & Towhidnejad, M. (2012). Work in progress: Teaching computational thinking in middle and high school. 2012 Frontiers in Education Conference (FIE). 1–2.
Wood, D., Bruner, J. S., & Ross, G. (1976). The role of tutoring in problem solving. Journal of Child Psychology and Psychiatry, 17(2), 89-100.
Yang, Y.-F. (2010). Students' reflection on online self-correction and peer review to improve writing. Computers & Education, 55(3), 1202-1210.
Yin, R. K. (2014). Case study research: Designs and methods (5th ed.). Thousand Oaks: SAGE Publications.
Yadav, A., Good, J., Voogt, J., & Fisser, P. (2017). Computational Thinking as an Emerging Competence Domain. In Competence-based Vocational and Professional Education (pp. 1051-1067).
Yadav, A., Hong, H., & Stephenson, C. (2016). Computational Thinking for All: Pedagogical Approaches to Embedding 21st Century Problem Solving in K-12 Classrooms. TechTrends, 60(6), 565-568. doi:10.1007/s11528-016-0087-7
Zhong, B., Wang, Q., Chen, J., & Li, Y. (2015). An Exploration of Three-Dimensional Integrated Assessment for Computational Thinking. Journal of Educational Computing Research, 53(4), 562-590. doi:10.1177/0735633115608444
Zimmerman, B. J., & Tsikalas, K. E. (2005). Can computer-based Learning environments (CBLEs) Be used as self-regulatory tools to enhance learning? Educational Psychologist, 40(4),
267-271.