A student ' s ability to accurately evaluate the quality of their work holds significant implications for their self-regulated learning and problem-solving proficiency in introductory programming. A widespread cog...
详细信息
ISBN:
(纸本)9798400716188
A student ' s ability to accurately evaluate the quality of their work holds significant implications for their self-regulated learning and problem-solving proficiency in introductory programming. A widespread cognitive bias that frequently impedes accurate self- assessment is overconfidence, which often stems from a misjudgment of contextual and task-related cues, including students ' judgment of their peers ' competencies. Little research has explored the role of overconfidence on novice programmers ' ability to accurately monitor their own work in comparison to their peers ' work and its impact on performance in introductory programming courses. The present study examined whether novice programmers exhibited a common cognitive bias called the '' hard-easy effect '', where students believe their work is better than their peers on easier tasks (overplace) but worse than their peers on harder tasks (underplace). Results showed a reversal of the hard-easy effect, where novices tended to overplace themselves on harder tasks, yet underplace themselves on easier ones. Remarkably, underplacers performed better on an exam compared to overplacers. These findings advance our understanding of relationships between the hard-easy effect, monitoring accuracy across multiple tasks, and grades within introductory programming. Implications of this study can be used to guide instructional decision making and design to improve novices ' metacognitive awareness and performance in introductory programming courses.
In computerprogramming education, despite yearly changes in teaching methodologies, students still struggle to grasp the concepts. When they advance to more complex projects, gaps in their basic knowledge become evid...
详细信息
ISBN:
(纸本)9783031344107;9783031344114
In computerprogramming education, despite yearly changes in teaching methodologies, students still struggle to grasp the concepts. When they advance to more complex projects, gaps in their basic knowledge become evident. It seems that the knowledge they learn in the first course is forgotten or not well understood. This proposal aims to explore students' mental models of computerprogramming concepts to better understand and identify any misconceptions. An iterative methodology is proposed to identify, test, analyse and evidence students' erroneous mental models in programming. Characterising these mental models is a first step to deepen our understanding and designing strategies to help students improve them. The proposed methodology is exemplified in detail through an undergoing use case at the University of Alicante, and some early results are discussed.
Teaching programming efficiently to students in the first year of computerscience education is challenging. It is especially cumbersome to retain the interest of both groups, when the student group consists of novice...
详细信息
Teaching programming efficiently to students in the first year of computerscience education is challenging. It is especially cumbersome to retain the interest of both groups, when the student group consists of novice (i.e., those who have never programmed before) and expert programmers in the same crowd. Thus, individualized teaching cannot be achieved in a traditional lecture hall for a larger student population setting and poses a pedagogical challenge. This article presents various pedagogical approaches and explores different assessment forms to foster student active learning (SAL), drawing from years of experience teaching a programming course. A detailed analysis has been conducted to understand the effect on the students' learning and perception of a course given different pedagogical approaches and varied assessment forms. The analysis is based on a course offered across three different campuses with the same course description. The key difference between the campuses however is the choice of pedagogical approach, where one of the campuses uses a bottom-up pedagogy. In contrast, the other two campuses use the top-down pedagogy to teach programming concepts to the students. Across the three campuses, the assessment form in the course has varied from regular practical school exams together with a theoretical multiple choice format, a practical home exam during the pandemic and most recently a portfolio. The findings show no significant differences in the learning outcomes based on an analysis of the grades across campuses and extensive student surveys.
Recently,researchers have shown increasing interest in combining more than one programming model into systems running on high performance computing systems(HPCs)to achieve exascale by applying parallelism at multiple ...
详细信息
Recently,researchers have shown increasing interest in combining more than one programming model into systems running on high performance computing systems(HPCs)to achieve exascale by applying parallelism at multiple *** different programming paradigms,such as Message Passing Interface(MPI),Open Multiple Processing(OpenMP),and Open Accelerators(OpenACC),can increase computation speed and improve *** the integration of multiple models,the probability of runtime errors increases,making their detection difficult,especially in the absence of testing techniques that can detect these *** studies have been conducted to identify these errors,but no technique exists for detecting errors in three-level programming *** the increasing research that integrates the three programming models,MPI,OpenMP,and OpenACC,a testing technology to detect runtime errors,such as deadlocks and race conditions,which can arise from this integration has not been ***,this paper begins with a definition and explanation of runtime errors that result fromintegrating the three programming models that compilers cannot *** the first time,this paper presents a classification of operational errors that can result from the integration of the three *** paper also proposes a parallel hybrid testing technique for detecting runtime errors in systems built in the C++programming language that uses the triple programming models MPI,OpenMP,and *** hybrid technology combines static technology and dynamic technology,given that some errors can be detected using static techniques,whereas others can be detected using dynamic *** hybrid technique can detect more errors because it combines two distinct *** proposed static technology detects a wide range of error types in less time,whereas a portion of the potential errors that may or may not occur depending on the 4502 CMC,2023,vol.74,no.2 operating environme
Artificial intelligence (AI) in programming teaching is something that still has to be explored, since in this area assessment tools that allow grading the students work are the most common ones, but there are not man...
详细信息
Artificial intelligence (AI) in programming teaching is something that still has to be explored, since in this area assessment tools that allow grading the students work are the most common ones, but there are not many tools aimed toward providing feedback to the students in the process of creating their program. In this work a small sized AI-based intelligent tutor that answers students programming questions and provides them with examples is presented. AI is becoming more and more popular as time passes, allowing to perform tasks automatically in a way that could not be done before. From predictions to customization, AI is being used in many areas, not being educational environments outside this situation. AI is being used in educational settings to customize contents or to provide personalized feedback to the students, among others. In this scenario, The tool has been tested by university students at the Universidad Rey Juan Carlos during the course programming Fundamentals in the first course of their Biomedical Engineering degree to evaluate if it helps the students in the process of learning programming skills. One of the main goals was to provide guidance to the students without needing the instructor to be physically by their side. Even if the tool is still in its preliminary phase, it helped the students with their questions, providing accurate answers and examples. The students were able to use the intelligent tutor easily and they thought that it could be a useful tool to use in other courses.
Teaching programming is a challenging activity nowadays, especially in introductory programming courses, which are typically massively attended. Writing functional programs is a cognitive skill, which many students, n...
详细信息
Teaching programming is a challenging activity nowadays, especially in introductory programming courses, which are typically massively attended. Writing functional programs is a cognitive skill, which many students, novices in programming, find it difficult to master. It is equally challenging to assess this ability of students. Research has shown that students need to learn how to read and understand, before they can learn to write programs. Code tracing questions are a suitable way to assess the knowledge of semantics of programming constructs (understanding what programs do). However, when designing these types of questions, teachers need to be aware of the complexity of the code and must always try to create questions with code snippets of same or similar complexity, especially when preparing different versions of the same test (for large student groups). In this paper we propose a new model for smart automatic generation of code tracing questions. The model uses a suitable source code metric to measure the code complexity, and to enable generation of questions containing code snippets of consistent complexity. We also introduce CodeCPP: a newly developed Moodle plugin, which is an implementation of the proposed model. The evaluation of CodeCPP, through a year-long use of the system in teaching programming as well as feedback from selected teachers with many years of experience in teaching programming courses, shows positive and promising results. The system utilization confirms that the application of the proposed model enables a fair and objective knowledge assessment. Furthermore, the feedback provided by teachers and students is highly positive.
The integration of Generative Artificial Intelligence into education has the potential to revolutionize the way vernacular medium students engage with and learn complex subjects such as programming where most availabl...
详细信息
ISBN:
(纸本)9783031843907;9783031843914
The integration of Generative Artificial Intelligence into education has the potential to revolutionize the way vernacular medium students engage with and learn complex subjects such as programming where most available material is in English. This exploratory study is the first step of the Sanganmitra project, where we investigate the effectiveness of a Generative AI-powered programming chatbot for Vernacular Medium with English Materials (VMEM) students. The chatbot was designed to assist students with programming challenges without providing direct solutions. Students were presented with 3 programming problems and could interact with the tool in either English or Marathi. We conducted a study with 42 VMEM students to understand how they interacted with the tool. We also explored if there are differences in the usage between students who use it in English or Marathi. Our findings show that 21% of students conversed with the chatbot in Marathi, a significant number considering the predominance of English in STEM. A slightly higher percentage of Marathi users asked conceptual or relevant questions. However, in general students merely asked for the full solution by repeating the question. We discuss some implications of these patterns for future studies.
Dynamic programming (DP) is commonly regarded as one of the most difficult topics in the upper-level algorithms curriculum. The teaching of metacognitive strategies may prove effective in helping students learn to des...
详细信息
ISBN:
(纸本)9798400705311
Dynamic programming (DP) is commonly regarded as one of the most difficult topics in the upper-level algorithms curriculum. The teaching of metacognitive strategies may prove effective in helping students learn to design DP algorithms. To explore both whether students learn and use these strategies on their own and the effect of guidance about using these strategies, we conducted think-aloud interviews with structured guidance at two points in a college algorithms course: once immediately after students learned the concept and once at the end of the course. We explore 1) what metacognitive strategies are commonly employed by students, 2) how effectively they help students solve problems, and 3) to what extent structured guidance about using metacognitive strategies is effective. We find that these strategies generally help students make progress in solving DP problems, but that they can mislead students as well. We also find that the adoption of these strategies is an individualized process and that structured strategy guidance is often insufficient in allowing students to solve individual DP problems, indicating the need for more extensive strategy instruction.
Experimental teaching is an important part of the C programming language course, which aims to cultivate students’ Computational thinking ability, problem solving ability and programming ability. However, the existin...
详细信息
Problem-solving skills are an integral component within the computerscience field. Due to the diversity brought about by students following different learning and programming behaviours, it is challenging to track an...
详细信息
ISBN:
(纸本)9783031648809;9783031648816
Problem-solving skills are an integral component within the computerscience field. Due to the diversity brought about by students following different learning and programming behaviours, it is challenging to track and identify when students get overwhelmed while writing programs. When students are overwhelmed, they are unable to complete learning objectives on time and follow prescribed pathways, depriving them of the opportunity to learn new concepts. In this paper, we developed and evaluated the quality of Markov models that encode student programming behaviours based on the evolution of source code submissions during formative practical assignments. In doing so, we use Abstract Syntax Trees (ASTs) extracted from the source code, which are used for clustering similar submissions and tracking students' progressive approaches within the Markov models. An approach based on MinHashLSH is presented that works on AST nodes as input to emphasise structural similarity and related programming approaches. As such, the effectiveness of the Modified MinHashLSH approach is based on the clusters that make up the Markov model. The research result shows that we can successfully create a highquality model based on previous data. This model result could be used to inform the development of learning interventions that would move students from their stuck states.
暂无评论