1,399 research outputs found
Designing Engaging Learning Experiences in Programming
In this paper we describe work to investigate the creation of engaging programming learning experiences. Background research informed the design of four fieldwork studies to explore how programming tasks could be framed to motivate learners. Our empirical findings from these four field studies are summarized here, with a particular focus upon one – Whack a Mole – which compared the use of a physical interface with the use of a screen-based equivalent interface to obtain insights into what made for an engaging learning experience. Emotions reported by two sets of participant undergraduate students were analyzed, identifying the links between the emotions experienced during programming and their origin. Evidence was collected of the very positive emotions experienced by learners programming with a physical interface (Arduino) in comparison with a similar program developed using a screen-based equivalent interface. A follow-up study provided further evidence of the motivation of personalized design of programming tangible physical artefacts. Collating all the evidence led to the design of a set of ‘Learning Dimensions’ which may provide educators with insights to support key design decisions for the creation of engaging programming learning experiences
Identification and Evaluation of Predictors for Learning Success and of Models for Teaching Computer Programming in Contemporary Contexts
Introductory undergraduate computer programming courses are renowned for higher than average failure and withdrawal rates when compared to other subject areas. The closer partnership between higher education and the rapidly expanding digital technology industry, as demonstrated by the establishment of new Degree Apprenticeships in computer science and digital technologies, requires efficient and effective means for teaching programming skills. This research, therefore, aimed to identify reliable predictors of success in learning programming or vulnerability to failure. The research also aimed to evaluate teaching methods and remedial interventions towards recommending a teaching model that supported and engaged learners in contemporary contexts that were relevant to the workplace.
Investigation of qualifications designed to prepare students for undergraduate computer science courses revealed that A-level entrants achieved significantly higher programming grades than BTEC students. However, there was little difference between the grades of those with and those without previous qualifications in computing or ICT subjects.
Analysis of engagement metrics revealed a strong correlation between extent of co-operation and programming grade, in contrast to a weak correlation between programming grade and code understanding. Further analysis of video recordings, interviews and observational records distinguished between the type of communication that helped peers comprehend tasks and concepts, and other forms of communication that were only concerned with completing tasks.
Following the introduction of periodic assessment, essentially converting a single final assessment to three staged summative assessment points, it was found that failing students often pass only one of the three assignment parts. Furthermore, only 10% of those who failed overall had attempted all three assignments. Reasons for failure were attributed to ‘surface’ motivations (such as regulating efforts to achieve a minimum pass of 40%), ineffective working habits or stressful personal circumstances rather than any fundamental difficulty encountered with subject material.
A key contribution to pedagogical practice made by this research is to propose an ‘incremental’ teaching model. This model is informed by educational theory and empirical evidence and comprises short cycles of three activities: presenting new topic information, tasking students with a relevant exercise and then demonstrating and discussing the exercise solution. The effectiveness of this model is evidenced by increased engagement, increased quiz scores at the end of each teaching session and increased retention of code knowledge at the end of the course
Exploring student perceptions about the use of visual programming environments, their relation to student learning styles and their impact on student motivation in undergraduate introductory programming modules
My research aims to explore how students perceive the usability and enjoyment of visual/block-based programming environments (VPEs), to what extent their learning styles relate to these perceptions and finally to what extent these tools facilitate student understanding of basic programming constructs and impact their motivation to learn programming
Recommended from our members
Learning to Code: Effects of Programming Modality in a Game-based Learning Environment
As new introductory block-based coding applications for young students to learn basic computer science concepts, such as, loops and conditionals, continue to increase in popularity, it is necessary to consider the best method of teaching students these skills. Many of these products continue to exhibit programmatic misconceptions of these concepts and many students struggle with how to apply what they learn to a text-based format due to the difficulties with learning the syntactic structure not present in block-based programming languages. If the goal of teaching young students how to program is meant to develop a set of skills they may apply when learning more complex programming languages, then discerning how they are introduced to those practices is imperative. However, few studies have examined how the specific modality in which students are taught to program effects how they learn and what skills they develop. More specifically, research has yet to effectively investigate modality in the context of an educational coding game where the modality feature is controlled, and content is consistent throughout game-play. This is mainly due to the lack of available games with this feature designed into the application.
This dissertation explores whether programming modality effects how well students can learn and transfer computer science concepts and practices from an educational programming game. I proposed that by being guided from a blocks-based to text-based programming language would instill a deeper understanding of basic computer science concepts and would support learning and improve transfer and performance on new challenging tasks.
Two experimental studies facilitated game-play sessions on the developed application for this project. The first study was a 2x2 between subjects design comparing educational module (game versus basic) and programming modality (guided versus free choice). The findings from Study 1 informed the final version design for the module used in the second study where only the game module was used in order to focus the comparison between programming modality. Findings showed that students who coded using the game module performed better on a learning test. Study 2 results showed that students who are transitioned from blocks-based to text-based programming language learn basic computer science concepts with greater success than those with the free choice modality.
A comparative study was conducted using quantitative data from learning measures and qualitative video data from the interviews during the challenge task of the second study. This study examined how students at the extreme levels of performance utilized the toggle switch feature during game-play and how the absence of the feature impacted how they completed the challenge task. This analysis showed two different methods of toggle switch usage being implemented by a high and low performing student. The high performing student utilized the resources more often during the challenge tasks in lieu of leveraging the toggle switch and were still able to submit high level code. Results suggest that a free choice student who uses the feature as a tool to check their prewritten code rather than a as short cut for piecing code together as blocks and submitting the text upon the final attempt. This practice leads to a shallower understanding of the basic concepts and make it extremely difficult to expand and apply that knowledge to a more difficult task.
This dissertation includes five chapters: an introduction and theoretical framework, a game design framework and implementation description, two experimental investigations, and a quantitative and qualitative comparative analysis. Chapter one provides the conceptual and theoretical framework for the two experimental investigations. Chapter two describes the theory and design structure for the game developed for this dissertation work. Chapter three and four will discuss the effects of programming modality on learning outcomes. Specifically, chapter 3 focuses on implications of programming modality when determining how to implement changes for the design of the game for Study 2. Chapter five discusses a comparative analysis that investigated differing work flow patterns within the free choice condition between high and low performing students. Results from these three chapters illustrate the importance of examining this component of the computer science education process in supplemental games for middle and high school students. Additionally, this work contributes in furthering the investigation of these educational games and discusses implications for design of similar applications
The development of design guidelines for educational programming environments
Introductory programming courses at university are currently experiencing a significant dropout and failure rate. Whilst several reasons have been attributed to these numbers by researchers, such as cognitive factors and aptitude, it is still unclear why programming is a natural skill for some students and a cause of struggle for others. Most of the research in the computer science literature suggests that methods of teaching programming and students’ learning styles as reasons behind this trend. In addition to the choice of the first programming language taught.
With the popularity of virtual learning environments and online courses, several instructors are incorporating these e-learning tools in their lectures in an attempt to increase engagement and achievement. However, many of these strategies fail as they do not use effective teaching practices or recognise the learning preferences exhibited by a diverse student population. Therefore this research proposes that combining multiple teaching methods to accommodate different learners' preferences will significantly improve performance in programming.
To test the hypothesis, an interactive web based learning tool to teach Python programming language (PILeT) was developed. The tool’s novel contribution is that it offers a combination of pedagogical methods to support student’s learning style based on the Felder-Silverman model.
First, PILeT was evaluated by both expert and representative users to detect any usability or interface design issues that might interfere with students’ learning. Once the problems were detected and fixed, PILeT was evaluated again to measure the learning outcomes that resulted from its use. The experimental results show that PILeT has a positive impact on students learning programming
Recommended from our members
Novel approaches to promoting end-user programming
End-user programming has become widespread. The increasing size of this population and the prevalence of barriers that they face has sparked the development of approaches that promote end-user programing by helping them overcome barriers and teaching them programming. Despite the fact that these approaches have done well in achieving those goals, there are still limitations. Specifically, these approaches place high expectations on the amount of prior knowledge that they should have and neglect to nurture their problem-solving skills. To fill in these gaps, our collaborators designed the approaches of Idea Garden and debugging-first. The Idea Garden approach attempts to provide problem-solving support by delivering problem-solving strategies and programming knowledge that help end-user programmers help themselves. In the debugging-first approach, which also makes use of the Idea Garden, users debug existing programs before creating their own. In this thesis we study both approaches, finding that they fulfilled their goals in circumventing those limitations. Additionally, our results inform the design of the Idea Garden in a Debugging-first environment, shed lights on enhancing both approaches, and approaches with similar goals
The Effectiveness of Aural Instructions with Visualisations in E-Learning Environments
Based on Mayer’s (2001) model for more effective learning by exploiting the brain’s dual sensory channels for information processing, this research investigates the effectiveness of using aural instructions together with visualisation in teaching the difficult concepts of data structures to novice computer science students. A small number of previous studies have examined the use of audio and visualisation in teaching and learning environments but none has explored the integration of both technologies in teaching data structures programming to reduce the cognitive load on learners’ working memory.
A prototype learning tool, known as the Data Structure Learning (DSL) tool, was developed and used first in a short mini study that showed that, used together with visualisations of algorithms, aural instructions produced faster student response times than did textual instructions. This result suggested that the additional use of the auditory sensory channel did indeed reduce the cognitive load.
The tool was then used in a second, longitudinal, study over two academic terms in which students studying the Data Structures module were offered the opportunity to use the DSL approach with either aural or textual instructions. Their use of the approach was recorded by the DSL system and feedback was invited at the end of every visualisation task.
The collected data showed that the tool was used extensively by the students. A comparison of the students’ DSL use with their end-of-year assessment marks revealed that academically weaker students had tended to use the tool most. This suggests that less able students are keen to use any useful and available instrument to aid their understanding, especially of difficult concepts.
Both the quantitative data provided by the automatic recording of DSL use and an end-of-study questionnaire showed appreciation by students of the help the tool had provided and enthusiasm for its future use and development. These findings were supported by qualitative data provided by student written feedback at the end of each task, by interviews at the end of the experiment and by interest from the lecturer in integrating use of the tool with the teaching of the module. A variety of suggestions are made for further work and development of the DSL tool. Further research using a control group and/or pre and post tests would be particularly useful
Recommended from our members
Social Addictive Gameful Engineering (SAGE): A Game-based Learning and Assessment System for Computational Thinking
At an unrivaled and enduring pace, computing has transformed the world, resulting in demand for a universal fourth foundation beyond reading, writing, and arithmetic: computational thinking (CT). Despite increasingly widespread acceptance of CT as a crucial competency for all, transforming education systems accordingly has proven complex. The principal hypothesis of this thesis is that we can improve the efficiency and efficacy of teaching and learning CT by building gameful learning and assessment systems on top of block-based programming environments. Additionally, we believe this can be accomplished at scale and cost conducive to accelerating CT dissemination for all.
After introducing the requirements, approach, and architecture, we present a solution named Gameful Direct Instruction. This involves embedding Parsons Programming Puzzles (PPPs) in Scratch, which is a block-based programming environment currently used prevalently in grades 6-8. PPPs encourage students to practice CT by assembling into correct order sets of mixed-up blocks that comprise samples of well-written code which focus on individual concepts. The structure provided by PPPs enable instructors to design games that steer learner attention toward targeted learning goals through puzzle-solving play. Learners receive continuous automated feedback as they attempt to arrange programming constructs in correct order, leading to more efficient comprehension of core CT concepts than they might otherwise attain through less structured Scratch assignments. We measure this efficiency first via a pilot study conducted after the initial integration of PPPs with Scratch, and second after the addition of scaffolding enhancements in a study involving a larger adult general population.
We complement Gameful Direct Instruction with a solution named Gameful Constructionism. This involves integrating with Scratch implicit assessment functionality that facilitates constructionist video game (CVG) design and play. CVGs enable learner to explore CT using construction tools sufficiently expressive for personally meaningful gameplay. Instructors are enabled to guide learning by defining game objectives useful for implicit assessment, while affording learners the opportunity to take ownership of the experience and progress through the sequence of interest and motivation toward sustained engagement. When strategically arranged within a learning progression after PPP gameplay produces evidence of efficient comprehension, CVGs amplify the impact of direct instruction by providing the sculpted context in which learners can apply CT concepts more freely, thereby broadening and deepening understanding, and improving learning efficacy. We measure this efficacy in a study of the general adult population.
Since these approaches leverage low fidelity yet motivating gameful techniques, they facilitate the development of learning content at scale and cost supportive of widespread CT uptake. We conclude this thesis with a glance at future work that anticipates further progress in scalability via a solution named Gameful Intelligent Tutoring. This involves augmenting Scratch with Intelligent Tutoring System (ITS) functionality that offers across-activity next-game recommendations, and within-activity just-in-time and on-demand hints. Since these data-driven methods operate without requiring knowledge engineering for each game designed, the instructor can evolve her role from one focused on knowledge transfer to one centered on supporting learning through the design of educational experiences, and we can accelerate the dissemination of CT at scale and reasonable cost while also advancing toward continuously differentiated instruction for each learner
- …