Conference PaperPDF Available

Educating Programmers: A Reflection on Barriers to Deliberate Practice

Authors:

Abstract and Figures

Programming is a craft which often demands that learners engage in a significantly high level of individual practice and experimentation in order to acquire basic competencies. However, practice behaviours can be undermined during the early stages of instruction. This is often the result of seemingly trivial misconceptions that, when left unchecked, create cognitive-affective barriers. These interact with learners' self-beliefs, potentially inducing affective states that inhibit practice. This paper questions how to design a learning environment that can address this issue. It is proposed that analytical and adaptable approaches, which could include soft scaffolding, ongoing detailed informative feedback and a focus on self-enhancement alongside skill development, can help overcome such barriers.
Content may be subject to copyright.
SKILLS
Educating Programmers: A Reflection on
Barriers to Deliberate Practice
Michael James Scott & Gheorghita Ghinea
Information Systems, Computing & Mathematics, Brunel University, UK
Corresponding author:
Michael James Scott, Information Systems, Computing & Mathematics, Brunel University, Uxbridge,
Middlesex UB8 3PH, UK
Email: michael.scott@brunel.ac.uk, Web: www.p-shift.co.uk
Abstract
Programming is a craft that often demands that learners engage in a significantly high level
of individual practice and experimentation in order to acquire basic competencies.
However, practice behaviours can be undermined during the early stages of instruction.
This is often the result of seemingly trivial misconceptions that, when left unchecked, create
cognitive-affective barriers that interact with learners self-beliefs, potentially inducing
emotions that inhibit practice. This paper seeks to ascertain how to design a learning
environment that can address this issue. It is proposed that analytical and adaptable
approaches, which might include soft scaffolding, ongoing detailed informative feedback
and a focus on self-enhancement alongside skill development, can help overcome
such barriers.
Keywords: computer science education, computer programming, laboratory instruction,
affective development, feedback, self-beliefs, barriers
1. Introduction
Recently, there has been a drive to revitalise computing education (Gove 2012), in part,
due to criticisms published by the Nesta Trust (Livingstone & Hope 2011) and the Royal
Society (Furber 2012). Unfortunately, few beginners appear to find writing code easy and
enjoyable (Jenkins 2001, 2002), so crafting an effective learning environment is not a trivial
task. Moreover, despite considerable research into programming instruction since the
inception of computer science as an academic discipline, many learners do not acquire the
desired level of competency in their first course (Soloway et al. 1983, McCracken et al. 2001,
Tew & Guzdial 2011). Even those who appear to perform well in early tutorials choose not
to pursue the discipline (Beaubouef & Mason 2005, Carter 2006). Unfortunately, such issues
are so pervasive that the British Computer Society (BCS) declared programming a grand
challenge for education research (McGettrick et al. 2005).
An important aspect of this challenge is encouraging learners to engage in frequent
practice. Evidence suggests that levels of effort (Ventura 2005), comfort (Wilson & Shrock
2001) and depth (Simon et al. 2006) predict success in a first programming course. This is
© 2013 The Higher Education Academy Proc. HEA STEM Conf. (2013)
85 doi:10.11120/stem.hea.2013.0005
in line with the theory that it can take approximately ten years of deliberate practice to
become an expert (Ericsson et al. 1993, Winslow 1996, Ericsson 2006). Unfortunately,
learners often claim that they have no time or have no motivation to do so
(Kinnunen & Malmi 2006, p104). So, if deliberate practice is a key element in the
acquisition of programming competencies, how do educators create learning environments
that successfully encourage practice?
2. Cognitive-affective barriers and deliberate practice
In order to appreciate how to facilitate frequent practice, the barriers that prevent it should
be explored. Programming is markedly distinct from other disciplines because proficiency
in other areas does not predict success (Byrne & Lyons 2001, Erdogan et al. 2008) and some
believe that there are no effective aptitude tests (McGettrick et al. 2005, Caspersen et al. 2007),
assuming that aptitudes for programming even exist (Ericsson et al., 1993, Jenkins 2002).
This is because the learning material sometimes demands something very novel of new
learners (Huggard 2004), drawing on skills that, at present, are seldom developed prior to
programming instruction:
By means of metaphors and analogies we try to link the new to the old, the
novel to the familiar. Under sufficiently slow and gradual change, it works
reasonably well; in the case of a sharp discontinuity, however, the method
breaks down.
(Dijkstra 1989, p1398)
The sudden sense of radical novelty (ibid.) constitutes an unexpected challenge for many
learners, presenting a barrier to learning. This is because those without prior experience
need to adapt to thinking about the intangible and process abstract concepts that are
needed to describe the mechanics behind the code they are writing (Du Boulay 1989).
Barriers can even arise as early as the first stage of instruction. Consider how someone
new to reading program code might conceive the mechanics behind an assignment
operation, such as:
a=1;
b=2;
a = b; //what is the value of a?
Bornat et al. (2008) found that for simple assignment operations which hardly look as if
they should be hurdles at all (p54), students held many different mental models for how
the program might execute. Even after a few weeks of instruction, some participants failed
to apply the correct model consistently in a diagnostic test. This illustrates that the ways in
which learners conceptualise computer programs can be diverse, and incorrect models
may persist unless there is some intervention. Consequently, it is important not to dismiss
the early challenges experienced by individuals as trivial or as constituting a lack of effort
or of talent. Put elegantly, if students struggle to learn something, it follows that this is for
some reason difficult to learn (Jenkins 2002, p53). These issues can be addressed through
soft scaffolding, such that individual understandings are continuously probed to enable
the timely delivery of tailored support (Simons & Klein 2007). Through this, misunderstandings
are traced and corrected via the provision of intermediate learning objectives. When not
promptly addressed, such issues can impede progress because learners are forced to the edge
of, or perhaps beyond, their zone of proximal development (Vygotsky 1978, p86).
Yet, Kinnunen & Malmi (2006) note there can be individual variety in how students
respond to the same situation (p107). Many learners who encounter such challenges are
© 2013 The Higher Education Academy Proc. HEA STEM Conf. (2013)
86 doi:10.11120/stem.hea.2013.0005
able to overcome them without assistance, albeit perhaps after some frustration. So why
are some people tenacious while others seem helpless? A potential candidate for mediating
this response is an individuals academic beliefs (Kinnunen & Beth 2012), notably, implicit
beliefs surrounding programming aptitude (Murphy & Thomas 2008). Dweck (1999, 2002)
divides learners into entity-theorists, who believe their aptitude is a natural fixed trait, and
incremental-theorists, who believe their aptitude is a malleable quality that is increased
through effort. These two groups demonstrate different behaviours when they encounter
difficulty (ibid.), as summarised in Table 1.
Too often, it is the case that learners start to believe an inherent aptitude is required
to become a programmer. Such beliefs inhibit practice. Thus, it is important that
programming pedagogies reinforce the incremental theory. An example might include the
liberal use of detailed informative feedback. This approach focuses on improvement
through illustrating weaknesses to overcome, rather than merely labelling learners with
summative grades. The latter might be interpreted as a judgement of aptitude.
Furthermore, as many learners often focus on topics associated with assessment and
nothing else (Gibbs & Simpson 2004, p14) some form of marking is often necessary as an
extrinsic motivator. Such marking should be complemented with feedback that helps
students understand that programming requires a surprising amount of time and effort, as
this has been shown to enhance mindsets when coupled with appropriate instruction on
the neuroscience underpinning Dwecks theory (Cutts et al. 2010).
While Dwecks (1999, 2002) classification of learners theories is useful in illustrating some
differences, it does not explain why some learners seem far more determined than others.
Potential factors, as Huggard (2004) and Rogerson & Scott (2010) affirm, are the negative
affective states that learners can experience as they write code. These states [,] such as
frustration and anxiety [, can] impede progress toward learning goals (McQuiggan et al.
2007, p698). However, while some learners become overtly frustrated with the all or
nothing nature of preparing a computer program for compilation, others press on without
complaint, demonstrating an admirable level of experimentation and debugging
proficiency. This can be somewhat surprising given that anything short of a completely
syntactically correct set of coded instructions will result in failure, and it is unusual for
those at an introductory level to write robust code on their first attempt.
A potential candidate for mediating how learners are able to overcome negative affect is
academic self-concept. That is, self-perceptions formed through experience with and
interpretations of ones environment (Marsh & Martin 2011, p60). Many domain-specific
forms of self-concept, such as programming self-concept, demonstrate a reciprocal
Table 1 Potential influence of different theories of aptitude (adapted from Dweck 2002).
Entity-Theorists Incremental-Theorists
Goal of the student To demonstrate a high coding
ability
To improve coding ability, even if poor
progress revealed
Meaning of failure Indicator of low programming
aptitude
Indicative of lack of effort, strategy, or
prerequisites
Meaning of effort Demonstrates low
programming aptitude
Method of enhancing programming
aptitude
Strategy when meets
difficulty
Less time practising More time practising
Performance after
difficulty
Impaired Equal or improved
M.J. Scott & G. Ghinea
© 2013 The Higher Education Academy Proc. HEA STEM Conf. (2013)
87 doi:10.11120/stem.hea.2013.0005
relationship with academic achievement in their respective area (ibid.) as well as, more
generally, interactions with study-related emotions (Goetz et al. 2010). Extending this
notion, learners who believe that they are programmers, those with a high programming
self-concept, may be able to overcome frustrations and anxiety more easily, thereby
maintaining high levels of motivation. So, how can self-concept be enhanced? A
meta-analysis of 200 interventions shows that practices which target a domain-specific
facet of self-concept, with an emphasis on motivational praise and feedback alongside skill
development, yield the largest effects (OMara et al. 2006). Other aspects of effective
practice might also emphasise learning activities that are enjoyable and nurture a sense
of pride (Goetz et al. 2010).
3. Conclusion
Learners often need to practice writing code frequently in order to acquire basic
programming competencies. This paper questions how learning environments can be
better designed in order to facilitate deliberate practice, describing three potential barriers
to such practice: the radical novelty of the learning material; the belief that some inherent
aptitude is required; and the emergence of unfavourable affective states. It is proposed that
examples of good practice might include: soft scaffolding; on-going informative feedback
that encourages a growth mindset; and an emphasis on self-enhancement through
motivational feedback and pride-worthy activities in addition to skills development.
However, empirical research is needed to establish the potential impact of these problems
and proposals.
References
Beaubouef, T. and Mason, J. (2005) Why the high attrition rate for computer science
students: some thoughts and observations. ACM SIGCSE Bulletin 37 (2), 103106.
Bornat, R., Dehnadi, S. and Simon, S. (2008) Mental models, consistency and programming
aptitude. In Proceedings of the 10th Australasian Computing Education Conference,
pp5361.
Byrne, P. and Lyons, G. (2001) The effect of student attributes on success in programming.
ACM SIGCSE Bulletin 33 (3), 4952.
Carter, L. (2006) Why students with an apparent aptitude for computer science dont choose
to major in computer science. ACM SIGCSE Bulletin 38 (1), 2731.
Caspersen, M., Benedsen, J. and Larsen, K. (2007) Mental models and programming
aptitude. ACM SIGCSE Bulletin 39 (3), 206210.
Cutts, Q., Cutts, E., Draper, S., O Donnell, P., and Saffrey, P. (2010) Manipulating Mindset to
Positively Influence Introductory Programming Performance. Proceedings of the 41st ACM
Technical Symposium on Computer Science Education pp431435.
Dijkstra, E.W. (1989) A debate on teaching computer science: on the cruelty of really
teaching computer science. Communications of the ACM 32 (12), 13981404.
Du Boulay, J. (1989) Some difficulties of learning to program. Educational Computing
Research 2 (1), 5753.
Dweck, C.S. (1999) Self-Theories: Their Role in Motivation, Personality, and Development.
Philadelphia, PA, USA: Psychology Press.
© 2013 The Higher Education Academy Proc. HEA STEM Conf. (2013)
88 doi:10.11120/stem.hea.2013.0005
Dweck, C. (2002) Messages that motivate: how praise molds students beliefs, motivation,
and performance (in surprising ways). In Improving Academic Achievement
(ed. J. Aronson). San Diego: Academic Press, pp3760.
Erdogan, Y., Aydin, E. and Kabaca, T. (2008) Exploring the psychological predictors of
programming achievement. Instructional Psychology 35 (3), 264270.
Ericsson, K. (2006) The influence of experience and deliberate practice on the development
of superior expert performance. In The Cambridge Handbook of Expertise and Expert
Performance (ed. K. Ericsson et al.). Cambridge: Cambridge University Press, pp683703.
Ericsson, K., Krampe, R. and Tesch-Romer, C. (1993) The role of deliberate practice in the
acquisition of expert performance. Psychological Review 100 (3), 363406.
Furber, S. (2012) Shut Down or Restart? The Way Forward for Computing in UK Schools.
London: Royal Society.
Gibbs, G. and Simpson, C. (2004) Conditions under which assessment supports students
learning. Learning and Teaching in Higher Education 1,331.
Goetz, T., Cronjaeger, H., Frenzel, A., Lüdtke, O. and Hall, N. (2010) Academic self-concept
and emotion relations: domain specificity and age effects. Contemporary Educational
Psychology 35 (1), 4458.
Gove, M. (2012) Digital Literacy and the Future of ICT in Schools. Presentation at the BETT
Show, Department for Education. Available at http://www.education.gov.uk/inthenews/
speeches/a00201868/michael-gove-speech-at-the-bett-show-2012 (accessed 5 November 2012).
Huggard, M. (2004) Programming trauma: can it be avoided? In Proceedings of the BCS
Grand Challenges in Computing: Education, pp5051.
Jenkins, T. (2001) Teaching programming: a journey from teacher to motivator. In
Proceedings of the 2nd HEA Conference for the ICS Learning and Teaching Support
Network, pp6571.
Jenkins, T. (2002) On the difficulty of learning to program. In Proceedings of the 3rd HEA
Conference for the ICS Learning and Teaching Support Network, pp5358.
Kinnunen, P. and Malmi, L. (2006) Why students drop out CS1 courses? In Proceedings of
the 2nd International Computing Education Research Workshop, pp97108.
Kinnunen, P. and Beth, S. (2012) My Program is OK - Am I? Computing Freshmans
Experience of Doing Programming Assignments. Computer Science Education 22 (1), 128.
Livingstone, I. and Hope, A. (2011) Next Gen: Transforming the UK into the Worlds Leading
Talent Hub for the Video Games and Visual Effects Industries. London: NESTA.
Marsh, H. and Martin, A. (2011) Academic self-concept and academic achievement:
relations and causal ordering. British Journal of Educational Psychology 81 (1), 59
77.
McCracken, M., Almstrum, D., Diaz, M., Guzdial, D., Hagen, Y., Kolikant, C., Laxer, L., Thoman, I.,
Utting, T., and Wilusz, T. (2001) A multi-national, multi-institutional study of assessment of
programming skills of first year CS students. ACM SIGCSE Bulletin 33 (4), 125140.
McGettrick, A., Boyle, R., Ibbett, R., Lloyd, J., Lovegrove, G. and Mander, K. (2005) Grand
challenges in computing: education: a summary. The Computer Journal 48 (1), 4248.
McQuiggan, S., Lee, S. and Lester, J. (2007) Early prediction of student frustration.
Affective Computing and Intelligent Interaction 47 (38), 698709.
Murphy, L. and Thomas, L. (2008) Dangers of a Fixed Mindset: Implications of Self-Theories
Research for Computer Science Education, ACM SIGCSE Bulletin 40 (3), 271275.
M.J. Scott & G. Ghinea
© 2013 The Higher Education Academy Proc. HEA STEM Conf. (2013)
89 doi:10.11120/stem.hea.2013.0005
OMara, A.J., Marsh, H.W., Craven, R.G. and Debus, R.L. (2006) Do self-concept
interventions make a difference? A synergistic blend of construct validation and
meta-analysis. Educational Psychologist 41, 181206.
Rogerson, C. and Scott, E. (2010) The fear factor: how it affects students learning to
program in a tertiary environment. Information Technology Education 9 (1), 147171.
Simon, Fincher, S., Robins, A., Baker, B., Box, I., Cutts, Q., de Raadt, M., Haden, P.,
Hamer, J., Hamilton, M., Lister, R., Petre, M., Sutton, K., Tolhurst, D. and Tutty, J. (2006)
Predictors of success in a first programming course. In Proceedings of the 8th Australasian
Computing Education Conference, pp189196.
Simons, K. and Klein, J. (2007) The impact of scaffolding and student achievement levels in
a problem-based learning environment. Instructional Science 35,4172.
Soloway, E., Bonar, J. and Ehrlich, K. (1983) Cognitive strategies and looping constructs: an
empirical study. Communications of the ACM 26 (11), 853860.
Tew, E. and Guzdial, M. (2011) The FCS1: A language independent assessment of CS1
knowledge. In Proceedings of the 42nd ACM Technical Symposium on Computer Science
Education, pp111116.
Ventura, P. (2005) Identifying predictors of success for an objects-first CS1. Computer
Science Education 15 (3), 223243.
Vygotsky, L. (1978) Mind in Society: The Development of Higher Psychological Processes.
London: University Press.
Wilson, B. and Shrock, S. (2001) Contributing to success in an introductory computer
science course: a study of twelve factors. ACM SIGCSE Bulletin 33 (1), 184188.
Winslow, L.E. (1996) Programming pedagogy A psychological overview. ACM SIGCSE
Bulletin 28 (1), 1722.
© 2013 The Higher Education Academy Proc. HEA STEM Conf. (2013)
90 doi:10.11120/stem.hea.2013.0005
... However, programming does present many challenges to novice learners, with issues arising due to the radical novelty of concepts and material [53], as well as from difficulty in understanding the syntax [195]. These issues result in a mismatch between what programs do and what novices think they do [44, 119,213], evoking strong negative feelings [109,132,223] and creating barriers to learning [236]. ...
... Learner self-beliefs play an important role in academic development and learning outcomes [37]. Programming in particular presents many challenges to learners' selfbeliefs as the radical novelty [53] of the concepts and material can evoke strong negative feelings [109,132,223], creating barriers to learning [236]. To better assess and understand these complex affective issues, Scott and Ghinea [237] used the Control-Value Theory of Achievement Emotions [196,197] to develop and validate an instrument that assesses programming self-beliefs. ...
Thesis
Full-text available
Embodiment is a concept that has gained widespread usage within the Human-Computer Interaction (HCI) community in recent years. In a general sense, embodiment is the notion that cognition arises not just from the mind, but also through our bodies‘ physical and social interactions with the world around us. HCI has employed this body-centric approach to the design of technology in a variety of domains, including interaction design, robotics, music systems, and education. However, due to the broad number of academic domains that define and operationalize embodiment within HCI (e.g., cognitive science, social science, learning science, neuroscience, AI, robotics, and so forth), it has become a remarkably fuzzy term with little understood about what designs result in desired outcomes. Essentially, HCI researchers and practitioners often employ a black box of design decisions when creating their embodied systems. Notably, the inconsistent framing and application of embodiment within HCI is a substantial drawback when trying to design embodied technology to support particular use cases such as learning, where understanding the 'why' of outcomes is essential. In this dissertation, I contribute work towards opening up the black box of embodied design to develop a more precise understanding of its proper application for the development of learning technology. This was done through the creation of a taxonomical design framework that outlines key methods for incorporating embodiment into the design of educational games and simulations. In order to create the design framework, I collected over 60 exemplars of embodied learning games and simulations, followed by the application of a bottom up, open coding method to distill seven core design dimensions. I then demonstrated the design framework‘s importance for a variety of HCI use cases including 1) categorizing existing embodied educational technologies, 2) identifying problematic design spaces, and 3) identifying design gaps for the generation of novel embodied learning systems. I also further employed the design framework to develop my own embodied learning system, Bots & (Main)Frames, which teaches basic programming and computational thinking skills through the use of tangibles. In order to better understand when and how embodied tangible technology can aid learning, I built two versions of Bots & (Main)Frames that only differed in input method (non-embodied mouse vs. embodied tangible programming blocks), while keeping all other game mechanics, aesthetics, and so forth identical. I then conducted two controlled experimental studies to compare differences between the two versions of Bots & (Main)Frames. My results show that an embodied tangible design had far greater positive impact for a number of key learning factors including programming self-beliefs, situational interest, enjoyment, and overall learning/performance outcomes. The quantitative and qualitative findings from these studies make key advances toward understanding when and how embodied tangible technology can aid in learning computational thinking skills.
... Programming presents many challenges to novice learners, with issues arising due to the radical novelty of concepts and material [12], as well as from difficulty in understanding the syntax [57]. These issues result in a mismatch between what programs do and what novices think they do [11,33,64], evoking strong negative feelings [31,40,68] and creating barriers to learning [74]. In recent years, there have been a number of educational programming games created to simplify presentation of these concepts and address the growing needs of computer science education [4,22,35,44]. ...
... Learner self-beliefs play an important role in academic development and learning outcomes [9]. Programming in particular presents many challenges to learners' self-beliefs as the radical novelty [12] of the concepts and material can evoke strong negative feelings [31,40,68], creating barriers to learning [74]. To better assess and understand these complex affective issues, Scott and Ghinea [75] used the Control-Value Theory of Achievement Emotions [58,59] to develop and validate an instrument that assesses programming self-beliefs. ...
Conference Paper
Full-text available
While recent work has begun to evaluate the efficacy of educational programming games, many common design decisions in these games (e.g., single player gameplay using touchpad or mouse) have not been explored for learning outcomes. For instance, alternative design approaches such as collaborative play and embodied interaction with tangibles may also provide important benefits to learners. To better understand how these design decisions impact learning and related factors, we created an educational programming game that allows for systematically varying input method and mode of play. In this paper, we describe design rationale for mouse and tangible versions of our game, and report a 2x2 factorial experiment comparing efficacy of mouse and tangible input methods with individual and collaborative modes of play. Results indicate tangibles have a greater positive impact on learning, situational interest, enjoyment, and programming self-beliefs. We also found collaborative play helps further reduce programming anxiety over individual play.
... However, development of games to teach CS has ultimately lagged behind the design of educational games in general [13], and little is known about whether CS-focused games actually improve important educational factors for STEM learning (such as engagement, enjoyment, and programming self-beliefs [1,38]) or if they simply function as chocolate-covered broccoli. Even the breadth of design choices explored in existing educational programming games has been shown to be fairly narrow. ...
... Programming Self-Beliefs Self-beliefs play an important role in academic development and learning outcomes [5]. Programming in particular presents many challenges to learners' selfbeliefs as the radical novelty [9] of the concepts and material can evoke strong negative feelings [17,21,35], creating barriers to learning [38]. To better assess and understand these complex affective issues, Scott and Ghinea [39] used the Control-Value Theory of Achievement Emotions [28,29] to develop and validate an instrument that assesses programming self-beliefs. ...
Conference Paper
Full-text available
Computer Science (CS) and related skills such as programming and Computational Thinking (CT) have recently become topics of global interest, with a large number of programming games created to engage and educate players. However, there has been relatively limited work to assess 1) the efficacy of such games with respect to critical educational factors such as enjoyment and programming self-beliefs; and 2) whether there are advantages to alternative, physically embodied design approaches (e.g., tangibles as input). To better explore the benefits of a tangible approach, we built and tested two versions of an educational programming game that were identical in design except for the form of interaction (tangible programming blocks vs. mouse input). After testing 34 participants, results showed that while both game versions were successful at improving programming self-beliefs, the tangible version corresponded to higher self-reports of player enjoyment. Overall, this paper presents a comparison between the efficacy of tangible and mouse design approaches for improving key learning factors in educational programming games.
... It is also known that students often experience learning difficulties due to the abstract nature of knowledge in the field of computer science (Scott and Ghinea, 2013). Yet, few practical applicable educational strategies or approaches have been identified that may increase student's interest toward higher education or careers in computer science, especially among elementary and middle school students (Moore, 2008). ...
Article
In the field of K-12 education, the demand for effective coding education is gradually expanding with various coding tools such as Scratch being popularly used as an effective learning environment. However, an answer to the question of what constitutes appropriate computing concepts for children (e.g. elementary school students) has not been fully answered. In this regard, this study worked to develop computational fairy tales (CFT) for coding beginners and applied it to the elementary school classroom environment in Korea. This CFT was developed by extracting the concepts of computer science through literature analysis, developing a plot/episode and creating a story. The final CFT developed is composed of 15 core computational concepts. 152 elementary students participated in the experiment where students read the CFT and solved related problems over two weeks period. We analyzed the effects of the CFT on the acquisition of basic computing concepts and coding attitudes. The results of the study showed that both the score of computing concept comprehension and attitude was enhanced significantly (p<.001). This study demonstrates the positive educational effects of CFTs in fostering understanding of basic computing concepts before students begin to code with algorithms directly.
... Programmers must identify a problem, generate ideas/solutions, evaluate and reflect upon the effectiveness of said ideas, and be motivated enough to cope with and understand failure in order to generate new ideas. However, the radical novelty [10] of these processes and the subject matter in general can evoke strong negative feelings towards programming [18,24,41], presenting challenges to learners' self-beliefs, and creating barriers to learning [44]. Conversely, video games are promising tools for improving students' motivation and practicing the ideation/evaluation cycle of creativity since playing video games involves guessing, thinking, testing, and repeated opportunities for failure or success [1,12]. ...
Conference Paper
Full-text available
One prominent aspect of programming skills/expertise is that it requires the use of many creative processes such as problem-solving, visualization, reflection, motivation and handling failure. While there have been a variety of puzzle-based educational programming games created to help teach learners these skills, few have been evaluated to assess their efficacy in developing programming and problem-solving skills or improving learners' positive emotional responses. Furthermore, most games are designed for a single player touchpad/mouse experience. This is problematic when trying to understand the validity of these designs, and whether there are alternative physically embodied design approaches that may prove more effective. My dissertation work helps address this problem. After creating a framework based on a meta-review that carefully dissects embodiment strategies in learning games, I am creating and evaluating tangible and augmented reality versions of a programming game. I plan to examine how these different forms of physical interaction help to facilitate and enhance meaning-making, problem-solving, and positive emotions.
... This is problematic when trying to understand the validity of such designs for CS education and whether there are alternative approaches that may prove more effective. Furthermore, little is known about whether CT-focused games actually improve other important educational factors for STEM learning (such as engagement, enjoyment, and programming self-beliefs [1,35]), or if they simply function as chocolate-covered broccoli. ...
Conference Paper
Full-text available
There has been increasing attention paid to the necessity of Computational Thinking (CT) and CS education in recent years. To address this need, a broad spectrum of animation programming environments and games have been created to engage learners. However, most of these tools are designed for the touchpad/mouse and keyboard, and few have been evaluated to assess their efficacy in developing CT/programming skills. This is problematic when trying to understand the validity of such designs for CS education, and whether there are alternative approaches that may prove more effective. My dissertation work helps address this problem. After creating a framework based on a meta-review that carefully dissects embodiment strategies in learning games, I am building and evaluating tangible and augmented reality versions of a CT game. I plan to examine how these different forms of physical interaction help to facilitate and enhance meaning-making during the learning process, and whether/how they improve related learning factors such as self-beliefs and enjoyment.
... For example: achievement emotions [98], mindset [41,43], and self-concept [116,85]. Together, these have been shown to predict of programming practice [111,113,114]. Furthermore, games seem to be able to influence these psychological constructs. ...
Conference Paper
Full-text available
Games can be a valuable tool for enriching computer science education, since they can facilitate a number of conditions that promote learning: student motivation, active learning, adaptivity, collaboration, and simulation. Additionally, they provide the instructor the ability to collect learning metrics with relative ease. As part of 21st Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE 2016), the Game Development for Computer Science Education working group convened to examine the current role games play in computer science (CS) education, including where and how they fit into CS education. Based on reviews of literature, academic research, professional practice, and a comprehensive list of games for computing education, we present this working group report. This report provides a summary of existing digital games designed to enrich computing education, an index of where these games may fit into a teaching paradigm using the ACM/IEEE Computer Science Curricula 2013 [13], and a guide to developing digital games designed to teach knowledge, skills, and attitudes related to computer science.
Article
Full-text available
RESUMOEste artigo relata práticas de ensino de programação baseadas no uso de metodologia de projetos, com foco no desenvolvimento de jogos digitais, em uma faculdade privada da região metropolitana de Curitiba. No decorrer da disciplina de programação WEB do curso de "Gestão em Tecnologia da Informação", os alunos foram acompanhados pelo professor na criação de um jogo de ação usando tecnologias da WEB — como HTML, CSS e JavaScript — e incentivados a responder questionários semiestruturados para coletar algumas características usadas na montagem do perfil e dados sobre sua motivação ao programar o jogo. A pesquisa — de natureza aplicada, exploratória e qualitativa — utilizou metodologias ativas para estimular a prática com os alunos. Ao término da disciplina, os alunos foram convidados a participar de entrevista para avaliar o impacto da experiência prática de programação. Com base nos resultados, ficou evidenciado o caráter motivador que o desenvolvimento de um jogo tem durante o processo de aprendizagem da linguagem de programação, o que levou alguns alunos, inclusive, a dar continuidade ao seu projeto após o término da disciplina.Palavras-chave: Ensino de programação; Desenvolvimento de jogos digitais; Projetos no ensino; Metodologias ativas; Programação de computadores. ABSTRACTThis article reports programming teaching practices based on the use of project methodology, focusing on the development of digital games at a private college in the metropolitan region of Curitiba. During the subject WEB programming of the course "Management in Information Technology", the students were supervised by a teacher in the creation of an action game using WEB technologies — such as HTML, CSS and JavaScript — and encouraged to answer semi-structured questionnaires to collect some characteristics used in setting up the profile and data on their motivation in programing the game. The research, of an applied, exploratory and qualitative nature, used active methodologies to stimulate practice with students. At the end of the course, students were invited to participate in an interview to evaluate the impact of the practical programming experience. Based on the results, it was evidenced the motivating character that the development of a game had during the learning process of programming language in the discipline, leading some students, even, to continue their projects after the end of the subject.Keywords: Programming teaching; Development of digital games; Teaching projects; Active methodologies; Computer programming. RESUMENEste artículo informa sobre prácticas de enseñanza de programación basadas en el uso de la metodología de proyecto y orientadas al desarrollo de juegos digitales, en una universidad privada de la región metropolitana de Curitiba. En el transcurso de la asignatura de programación WEB del curso "Gestión en Tecnología de la Información", los estudiantes fueron acompañados por el profesor en la creación de un juego de acción utilizando tecnologías WEB — como HTML, CSS y JavaScript — y se les animó a responder cuestionarios semiestructurados para recopilar algunas características utilizadas en la configuración del perfil y datos sobre su motivación en ell diseño del juego. La investigación — de naturaleza aplicada, exploratoria y cualitativa — utilizó metodologías activas para estimular la práctica de los estudiantes. Al final del curso, los alumnos fueron invitados a participar en una entrevista para evaluar el impacto de la experiencia práctica de programación. Con base en los resultados, se evidenció el carácter motivador que tiene la elaboración de un juego durante el aprendizaje del lenguaje de programación, lo que llevó a algunos estudiantes, incluso, a continuar su proyecto una vez finalizada la asignatura.Palabras-clave: Enseñanza de lenguajes de programación; Desarrollo de juegos digitales; Proyectos de enseñanza; Metodologías activas; Programación para computadoras.
Article
Full-text available
This article reports programming teaching practices based on the use of project methodology, focusing on the development of digital games at a private college in the metropolitan region of Curitiba. During the subject "WEB programming" of the course "Management in Information Technology", the students were supervised by a teacher in the creation of an action game using WEB technologies — such as HTML, CSS and JavaScript — and encouraged to answer semi-structured questionnaires to collect some characteristics used in setting up the profile and data on their motivation in programing the game. The research, of an applied, exploratory and qualitative nature, used active methodologies to stimulate practice with students. At the end of the course, students were invited to participate in an interview to evaluate the impact of the practical programming experience. Based on the results, it was evidenced the motivating character that the development of a game had during the learning process of programming language in the discipline, leading some students, even, to continue their projects after the end of the subject.
Article
The emphasis in several courses at technical facilities is on using a computer to perform numerical methods. Instead of focusing on mathematical rigorousness such courses usually concentrate on demonstrating the practical usage of numerical mathematical methods to the students. The practical usage of numerical methods is best learned by exposing the students to a large set of exercises, which they have tn solve The process of solving problems has to be supervised in order to provide the students with a swift feedback about the quality of their solutions. The following paper presents a web system for automatic assessment called Projekt Tomo, which was developed as a support tool for leaching programming and numerical methods oriented classes.
Conference Paper
Full-text available
Computing education lags other discipline-based education research in the number and range of validated assessments available to the research community. Validated assessments are important for researchers to reduce experimental error due to flawed assessments and to allow for comparisons between different experiments. Although the need is great, building assessments from scratch is difficult. Once an assessment is built, it's important to be able to replicate it, in order to address problems within it, or to extend it. We developed the Second CS1 Assessment (SCS1) as an isomorphic version of a previously validated language-independent assessment for introductory computer science, the FCS1. Replicating the FCS1 is important to enable free use by a broader research community. This paper is documentation of our process for replicating an existing validated assessment and validating the success of our replication. We present initial use of SCS1 by other research groups, to serve as examples of where it might be used in the future. SCS1 is useful for researchers, but care must be taken to avoid undermining the validity argument.
Article
The theoretical framework presented in this article explains expert performance as the end result of individuals' prolonged efforts to improve performance while negotiating motivational and external constraints. In most domains of expertise, individuals begin in their childhood a regimen of effortful activities (deliberate practice) designed to optimize improvement. Individual differences, even among elite performers, are closely related to assessed amounts of deliberate practice. Many characteristics once believed to reflect innate talent are actually the result of intense practice extended for a minimum of 10 years. Analysis of expert performance provides unique evidence on the potential and limits of extreme environmental adaptation and learning.
Article
The paper reports on an examination of predictors of success for an objects-first course. The predictors considered included prior programming experience, mathematical ability, academic and psychological variables, gender, and measures of student effort. Cognitive and academic factors such as SAT scores and critical thinking ability offered little predictive value when compared to the other predictors of success. Student effort and comfort level were found to be the strongest predictors of success.
Article
Much evaluation of teaching focuses on what teachers do in class. This article focuses on the evaluation of assessment arrangements and the way they affect student learning out of class. It is assumed that assessment has an overwhelming influence on what, how and how much students study. The article proposes a set of 'conditions under which assessment supports learning' and justifies these with reference to theory, empirical evidence and practical experience. These conditions are offered as a framework for teachers to review the effectiveness of their own assessment practice.