Large Language Models possess skills such as answering questions, writing essays or solving programming exercises. Since these models are easily accessible, researchers have investigated their capabilities and risks f...
详细信息
ISBN:
(纸本)9798400716195
Large Language Models possess skills such as answering questions, writing essays or solving programming exercises. Since these models are easily accessible, researchers have investigated their capabilities and risks for programming education. This work explores how LLMs can contribute to programming education by supporting students with automated next-step hints. We investigate prompt practices that lead to effective next-step hints and use these insights to build our StAP-tutor. We evaluate this tutor by conducting an experiment with students, and performing expert assessments. Our findings show that most LLM-generated feedback messages describe one specific next step and are personalised to the student ' s code and approach. However, the hints may contain misleading information and lack sufficient detail when students approach the end of the assignment. This work demonstrates the potential for LLM-generated feedback, but further research is required to explore its practical implementation.
A recent ITiCSE working group investigated when and how experts give feedback and hints at steps novice programmers take when solving programming problems. Based on the feedback literature and an analysis of expert fe...
详细信息
ISBN:
(纸本)9798400706004
A recent ITiCSE working group investigated when and how experts give feedback and hints at steps novice programmers take when solving programming problems. Based on the feedback literature and an analysis of expert feedback on steps, the working group designed guidelines for when and how to give feedback. The feedback provided by educators using these guidelines on a number of sequences of student steps varied a lot. In this paper, we try to answer the question of why educators give feedback at particular steps to novice learners of programming. We prepared six authentic sequences of student steps when solving an introductory programming task. The preprocessed sequences were used in a survey to gather information about when and why an expert would give feedback. Respondents annotated each step from one sequence with if and why they would give feedback at that step. Our survey received 47 responses. We qualitatively analyzed the responses, resulting in a coding scheme consisting of 19 different reasons for why experts intervene (or not) when novice learners work on introductory programming tasks. We found a considerable variety of reasons experts give for when and how to help students with feedback and hints. Also, sometimes one expert uses a reason at a step to explain why they do intervene, and another expert uses the same reason at the step to not intervene. The categories of experts' feedback indicators will pave the way for several future studies and applications, including learning systems trying to resemble expert feedback strategies.
This study seeks to identify the challenges many adult Distance Education students face when learning programming. It reviews the literature on strategies intended to address these challenges, focusing on approaches t...
详细信息
ISBN:
(纸本)9798350394023;9798350394030
This study seeks to identify the challenges many adult Distance Education students face when learning programming. It reviews the literature on strategies intended to address these challenges, focusing on approaches that aim to stimulate the motivation of these students. This systematic mapping study aims to (1) identify the main challenges faced by students when learning programming in Distance Education, specifically those that may have a direct influence on their motivation to continue learning, and (2) investigate the specific characteristics of Distance Education environments that have a positive influence on students' motivation in learning programming, also addressing the pedagogical strategies that guided these investigations. To achieve these objectives, two research questions were used: (RQ1) What are the main challenges faced by students when learning programming in Distance Education environments? and (RQ2) What specific characteristics of Distance Education environments can positively influence students' motivation in learning programming? This systematic mapping study followed the SEGRESS guidelines. The primary studies were obtained from databases by searching for keywords, focusing on papers published between 2018 and 2023. So, 18 papers were selected that highlighted challenges, such as difficulty in understanding and developing specific skills in the field of programming, challenges related to the infrastructure available to study, social and emotional aspects, difficulties in defining and following learning strategies, and inefficient teaching support. The strategies adopted in these papers point to technological resources that include adaptive technologies, gamification, personalized feedback, tools that allow the adoption of autonomy and learning management strategies, support for collaboration between peers, social feedback and programming practices using remote laboratories, and flexible environments (text or graphics). This study presents stu
In this work, we developed an algorithm for detecting code quality issues in the templates of online programming tasks, validated it, and conducted an empirical study on the dataset of student solutions. The algorithm...
详细信息
ISBN:
(纸本)9798400701382
In this work, we developed an algorithm for detecting code quality issues in the templates of online programming tasks, validated it, and conducted an empirical study on the dataset of student solutions. The algorithm consists of analyzing recurring unfixed issues in solutions of different students, matching them with the code of the template, and then filtering the results. Our manual validation on a subset of tasks demonstrated a precision of 80.8% and a recall of 73.3%. We used the algorithm on 415 Java tasks from the JetBrains Academy platform and discovered that as much as 14.7% of tasks have at least one issue in their template, thus making it harder for students to learn good code quality practices. We describe our results in detail, provide several motivating examples and specific cases, and share the feedback of the developers of the platform, who fixed 51 issues based on the output of our approach.
This study introduces a content revision loop for simultaneous course updates across MOOC platforms. It uses a single source of truth and iterative, data-driven methodologies, enabling efficient dissemination of updat...
详细信息
ISBN:
(纸本)9798350315592
This study introduces a content revision loop for simultaneous course updates across MOOC platforms. It uses a single source of truth and iterative, data-driven methodologies, enabling efficient dissemination of updates and assessment improvement. The approach provides a model for instructors managing courses on multiple platforms.
When learning programming, it is important to improve one's own code. In this study, we have proposed an evaluation function that uses robot programming and a ranking system based on evaluations, and have develope...
详细信息
ISBN:
(纸本)9783031351280;9783031351297
When learning programming, it is important to improve one's own code. In this study, we have proposed an evaluation function that uses robot programming and a ranking system based on evaluations, and have developed and evaluated a code-sharing platform that allows users to learn only code with similar ranks. Although the evaluation confirmed a certain learning effect of the developed system in an experimental environment with a small number of participants, it is desirable to increase the number of participants in an environment where the code is shared. Therefore in this paper, we conducted a class for second-year university students and verified whether the same learning effects could be obtained in a large-group environment. The evaluation results suggest that the learning effect and the motivation to learn are enhanced in the same way as in a small-group environment.
Assembly is underutilized as a beginner programming language. Its simple and repetitive syntax allows students to focus on logic and problem-solving. While the low level of abstraction causes Assembly to be challengin...
详细信息
ISBN:
(纸本)9798350300543
Assembly is underutilized as a beginner programming language. Its simple and repetitive syntax allows students to focus on logic and problem-solving. While the low level of abstraction causes Assembly to be challenging to work with, using Assembly gives students better insights into how computers operate and more fundamental skills for procedural programming. This paper introduces Assembly Academy, a programming puzzle game utilizing a virtual robot. We include a use case demonstrating how the game provides feedback to students to keep them engaged and motivated while learning Assembly.
programming education should aim to provide students with a broad range of skills that they will later use while developing software. An important aspect in this is their ability to write code that is not only correct...
详细信息
ISBN:
(纸本)9798350322590
programming education should aim to provide students with a broad range of skills that they will later use while developing software. An important aspect in this is their ability to write code that is not only correct but also of high quality. Unfortunately, this is difficult to control in the setting of a massive open online course. In this paper, we carry out an analysis of the code quality of submissions from JetBrains Academy - a platform for studying programming in an industry-like project-based setting with an embedded code quality assessment tool called Hyperstyle. We analyzed more than a million Java submissions and more than 1.3 million Python submissions, studied the most prevalent types of code quality issues and the dynamics of how students fix them. We provide several case studies of different issues, as well as an analysis of why certain issues remain unfixed even after several attempts. Also, we studied abnormally long sequences of submissions, in which students attempted to fix code quality issues after passing the task. Our results point the way towards the improvement of online courses, such as making sure that the task itself does not incentivize students to write code poorly.
The growing need for programming and computational skills has led to a demand for teaching approaches that can appeal to a broader audience. We explore the design and creation of tangible objects and interactions to m...
详细信息
ISBN:
(纸本)9798350329469
The growing need for programming and computational skills has led to a demand for teaching approaches that can appeal to a broader audience. We explore the design and creation of tangible objects and interactions to make introductory programming concepts more engaging and less tedious. We introduce TangiBooks, a platform that uses paper-based tangibles with embedded electronics and augments paper with sensory interactions like visuals, sounds, haptics, and kinesthetics to reinforce learning. The platform is implemented as proof-of-concept and offers four self-contained lessons on key concepts such as algorithms, variables, conditionals, and loops. Results from our observational study (12 adult learners, 6 instructors) showed that participants found TangiBooks to be playful, appealing to their senses, and valuable for sparking curiosity, with potential pedagogical benefits for promoting reflection among learners. TangiBooks has implications for HCI researchers in furthering the design space of paper-based tangibles in the learning domain and empowering instructors to innovate and personalize lessons.
Immediate feedback has been shown to improve student learning. In programming courses, immediate, automated feedback is typically provided in the form of pre-defined test cases run by a submission platform. While thes...
详细信息
ISBN:
(纸本)9781665453318
Immediate feedback has been shown to improve student learning. In programming courses, immediate, automated feedback is typically provided in the form of pre-defined test cases run by a submission platform. While these are excellent for highlighting the presence of logical errors, they do not provide novice programmers enough scaffolding to help them identify where an error is or how to fix it. To address this, several tools have been developed that provide richer feedback in the form of program repairs. Studies of such tools, however, tend to focus more on whether correct repairs can be generated, rather than how novices are using them. In this paper, we describe our experience of using CLARA, an automated repair tool, to provide feedback to novices. First, we extended CLARA to support a larger subset of the Python language, before integrating it with the Jupyter Notebooks used for our programming exercises. Second, we devised a preliminary study in which students tackled programming problems with and without support of the tool using the 'think aloud' protocol. We found that novices often struggled to understand the proposed repairs, echoing the well-known challenge to understand compiler/interpreter messages. Furthermore, we found that students valued being told where a fix was needed-without necessarily the fix itself-suggesting that 'less may be more' from a pedagogical perspective.
暂无评论