The hardship students face when beginning to problem solve can lessen motivation and confidence in their programming ability. An initial mitigation step is to explore students' mindsets when first approaching a pr...
详细信息
ISBN:
(纸本)9798400710384
The hardship students face when beginning to problem solve can lessen motivation and confidence in their programming ability. An initial mitigation step is to explore students' mindsets when first approaching a programming task, and distinguish between correct/incorrect models of problem-solving. This will help researchers and instructors realize what methods and tools can scaffold students' problem-solving skill development in programming classrooms. Our goal is to uncover this information by investigating successful problem-solving approaches across the computing and math domains, and exploring whether it is possible to transfer a successful approach from math to the computing domain. We also explore whether students can apply a successful problem-solving strategy, such as problem decomposition, after being reminded or taught that such a strategy exists. We conducted an exploratory qualitative study with high-school students solving math and programming problems. Our data analysis reveals a number of problem-solving strategies in both programming and math, highlights their differences, and demonstrates the transfer problem-solving benefits across domains. We also found that simply instructing students how to apply a problem-solving strategy does not ensure its application. Overall, this research highlights the need to design tools that teach students how to apply successful problem-solving strategies.
While block-based programming has successfully eliminated critical syntactic barriers to programming, it remains unclear how effectively it aids in overcoming semantic, logical, and pragmatic programming challenges th...
详细信息
ISBN:
(纸本)9798350376920;9798350366136
While block-based programming has successfully eliminated critical syntactic barriers to programming, it remains unclear how effectively it aids in overcoming semantic, logical, and pragmatic programming challenges that hinder computational thinking. These challenges are likely to far outweigh the syntactic ones. With the goal of creating a highly accessible programming tool for young students using mobile devices, we explored the concept of pragmatic prebugging to begin addressing these challenges. By pragmatic prebugging, we refer to proactive debugging tools designed to prevent logical errors. This article introduces *** as a Computational Thinking Tool with built-in pragmatic prebugging, enabling novice programmers to create games through a paradigm we call proxy-basedprogramming. A small study exploring error rates found statistically significant performance improvements of proxy-basedprogramming compared to block-based programming.
In pursuit of making the benefits of learning to code more accessible to young learners, numerous block-based environments have been developed. This study attempts to identify key design features within these applicat...
详细信息
ISBN:
(纸本)9798350376920;9798350366136
In pursuit of making the benefits of learning to code more accessible to young learners, numerous block-based environments have been developed. This study attempts to identify key design features within these applications that support student learning;aiming to enhance existing environments, guide future design efforts, and assist educators in selecting platforms tailored to specific educational needs. Through in-depth computer science K-8 teacher interviews and a thematic analysis, we uncovered 96 key concepts, categorized into three themes: design features, user aptitude, and pedagogical strategies. Teachers emphasized usability heuristics such as user control, flexible modalities, clear visual cues, and context-rich error notifications to enhance programming environments. They also stated coding applications need to support pedagogical strategies including pair programming, clear rubrics, appropriate scaffolding, and differentiated instruction.
programming literacy is crucial for current and future generations of young learners, irrespective of their career paths. programming education is thus essential, making teaching methods and tools to be tailored to th...
详细信息
ISBN:
(纸本)9798400712166
programming literacy is crucial for current and future generations of young learners, irrespective of their career paths. programming education is thus essential, making teaching methods and tools to be tailored to the target audience. In this context, contemporary visual programming environments, particularly block-based programming, have become instrumental in introducing programming concepts to young learners. Educational theories such as Constructionism advocate an approach centered on the learner to deepen and motivate learning. In computer science, these theories can be applied by providing hands-on experiences that connect computer science to real-life situations through the manipulation or construction of physical and tangible computational devices. This study explores the impact of creating a smart object for a smart home using block-based programming on young learners' attitudes and perceptions toward programming and their programming skills acquisition. An introductory programming workshop involved 28 8(th) grade students from a secondary school constructing and programming a smart-lighting object in a smart home setting. Performance, attitude, and perception trajectories were assessed through repeated questionnaires. Our results indicate that constructing and programming a real-life smart object enhances learners' confidence and programming skills. This paper contributes to programming education literature by demonstrating the potential of block-based programming, specifically in the context of state-of-the-art smart technologies, to foster programming skills and develop positive attitudes and perceptions among learners.
programming is a useful medium for artists and humanities majors. Learning to program provides a useful set of skills and concepts for critical computing scholars and conversational programmers. Introductory computing...
详细信息
ISBN:
(纸本)9798400704246
programming is a useful medium for artists and humanities majors. Learning to program provides a useful set of skills and concepts for critical computing scholars and conversational programmers. Introductory computing classes (at both secondary and post-secondary) level focus on job skills in software development or data science, which is a different focus from what arts and humanities students need. We have been developing new introductory computing courses for arts and humanities undergraduate students, explicitly including programming. The courses were designed using participatory methods with faculty who focus on creative expression and justice. The goal was to make them engaging with no requirement for prior programming background or mathematics past algebra. We use teaspoon (task-specific programming) languages and custom blocks in Snap to create a highly-scaffolded on-ramp into programming. These include supports for image processing, language recognition and generation, digital sound manipulation, creating Web pages, building chatbots, and manipulating databases. The workshop will include a presentation of the learning goals that emerged from our participatory design sessions. Participants will use our teaspoon languages and context-specific Snap! blocks during the workshop on their own laptops, and also try out the ebooks we use to help students transfer their knowledge to mainstream tools like Python, Processing, and SQL. These activities might also be useful in secondary school computing classes. (Links to all of the tools will be provided, though only some will be used hands-on in the workshop.)
Background and Context: The use of block-based programming environments is purported to be a good way to gently introduce novice computer programmers to computer programming. A small, but growing body of research exam...
详细信息
Background and Context: The use of block-based programming environments is purported to be a good way to gently introduce novice computer programmers to computer programming. A small, but growing body of research examines the differences between block-based and text-basedprogramming environments. Objective: Thus, the purpose of this study was to examine the overall effect of block-based versus text-basedprogramming environments on both cognitive and affective student learning outcomes. Method: Five academic databases were searched to identify literature meeting our inclusion criteria and resulted in 13 publications with 52 effect size comparisons on both cognitive and affective outcomes. Findings: We found small effect size (g = 0.245;p = .137;with a 95% confidence interval of -0.078 to 0.567) in favor of block-based programming environments on cognitive outcomes, and a trivial effect size (g = 0.195, p = .429;with a 95% confidence interval of -0.289 to 0.678) on affective outcomes. Both effect size calculations were statistically insignificant using random effects models. The effect sizes were examined for moderating effects by education level, learning environment, and study duration. Some evidence of publication bias was detected in these data.
Many students rely on examples when learning to program, but they often face barriers when incorporating these examples into their own code and learning the concepts they present. As a step towards designing effective...
详细信息
ISBN:
(纸本)9798400701382
Many students rely on examples when learning to program, but they often face barriers when incorporating these examples into their own code and learning the concepts they present. As a step towards designing effective example interfaces that can support student learning, we investigate novices' needs and strategies when using examples to write code. We conducted a study with 12 pairs of high school students working on open-ended game design projects, using a system that allows students to browse examples based on their functionality, and to view and copy the example code. We analyzed interviews, screen recordings, and log data, identifying 5 moments when novices request examples, and 4 strategies that arise when students use examples. We synthesize these findings into principles that can inform the design of future example systems to better support students.
block-based programming languages like Scratch are commonly used to introduce young learners to programming. While coding, learners may encounter problems, which may require teachers to intervene. However, teachers ma...
详细信息
ISBN:
(纸本)9798400701382
block-based programming languages like Scratch are commonly used to introduce young learners to programming. While coding, learners may encounter problems, which may require teachers to intervene. However, teachers may be overwhelmed with help requests in a classroom setting, and in independent learning scenarios, teachers may not be available at all. Automated tutoring systems aim to help by providing hints, but misleading or confusing hints can be detrimental. To better understand the effects of automatically generated hints, in this paper we study a state-of-the-art hint generation system that provides suggestions when learners fail to complete a step in a programming tutorial. The system is evaluated using two cohorts of students aged 12-13, where one cohort receives only textual hints based on test failures while the other additionally receives visual next-step support in terms of illustrated code changes. We find that initially the automatically generated visual next-step hints increase the speed at which learners complete the steps of the tutorial and reduce the number of questions posed to teachers, without affecting the learners' overall understanding of their program negatively. However, with increasing complexity of the programs the quality of the hints degrades, thus calling for further research on improving hint generation systems.
Knowledge of programming and computing is becoming increasingly valuable in today's world, and thus it is crucial that students from all backgrounds have the opportunity to learn. As the teaching of computing at h...
详细信息
ISBN:
(纸本)9798400701382
Knowledge of programming and computing is becoming increasingly valuable in today's world, and thus it is crucial that students from all backgrounds have the opportunity to learn. As the teaching of computing at high-school becomes more common, there is a growing need for approaches and tools that are effective and engaging for all students. Especially for students from groups that are traditionally underrepresented at university level, positive experiences at high-school can be an important factor for their future academic choices. In this paper we report on a hands-on programming workshop that we ran over multiple sessions for Maori and Pasifika high-school students who are underrepresented in computer science at the tertiary level in New Zealand. In the workshop, participants developed Scratch programs starting from a simple template we provided. In order to control the action in their programs, half of the participants used standard mouse and keyboard inputs, and the other half had access to plug-and-play sensors that provided real-time environmental data. We explore how students' perceptions of self-efficacy and outcome expectancy - both key constructs driving academic career choices - changed during the workshop and how these were impacted by the availability of the sensor toolkit. We found that participants enjoyed the workshop and reported improved self-efficacy with or without use of the toolkit, but outcome expectancy improved only for students who used the sensor toolkit.
Scratch is a hugely popular block-based programming environment that is often used in educational settings, and has therefore recently also become a focus for research on programming education. Scratch provides dedica...
详细信息
ISBN:
(纸本)9798400701382
Scratch is a hugely popular block-based programming environment that is often used in educational settings, and has therefore recently also become a focus for research on programming education. Scratch provides dedicated teacher accounts that make it easy and convenient to handle lessons with school classes. However, once learners join a Scratch classroom, it is challenging to keep track of what they are doing: Both teachers and researchers may be interested in learning analytics to help them monitor students or evaluate teaching material. Researchers may also be interested in understanding how programs are created and how learners use Scratch. Neither use case is supported by Scratch itself currently. In this paper, we introduce ScratchLog, a tool that collects data from learners using Scratch. ScratchLog provides custom user management and makes it easy to set up courses and assignments. Starting from a task description and a starter project, learners transparently use Scratch while ScratchLog collects usage data, such as the history of code edits, or statistics about how the Scratch user interface was used. This data can be viewed on the ScratchLog web interface, or exported for further analysis, for example to inspect the functionality of programs using automated tests.
暂无评论