The use of a pedagogical approach mediated transfer with the bridging method has been successful in facilitating the transitions from block-based to text-based programming languages. Nevertheless, there is a lack of r...
详细信息
The use of a pedagogical approach mediated transfer with the bridging method has been successful in facilitating the transitions from block-based to text-based programming languages. Nevertheless, there is a lack of research addressing the impact of this transfer on programming misconceptions during the transition. The way programming concepts are taught to K-12 learners can later result in misconceptions for adult learners. The main objective was to examine the impact of mediated transfer using the bridging method pedagogical approach on the prevalence of programming misconceptions. We conducted a quasi-experimental study in school settings during informatics (computerscience) classes among 163 sixth-grade students. The control group received traditional programming lectures using the text-based programming language, Python. Conversely, the experimental group utilized a mediated transfer pedagogical approach by starting with the block-based programming language MakeCode for micro:bit before transitioning to the text-based Python. Our findings indicate that the experimental group significantly reduced programming misconceptions in fundamental programming concepts: variables, sequencing, selection, and loops - compared to the control group. This suggests that the use of block-based programming language as an initial step in programming education, followed by a structured transition to text-based programming language, can effectively mitigate common misconceptions among K-12 learners.
Introductory programming has evolved in many places to become a CS0 course, enabling students to get their feet wet with programming without completing significant math coursework. A scan of CS programs shows that a m...
详细信息
Teachers often utilize automatic program repair methods to provide feedback on submitted student code using model answer code. A state-of-the-art tool is Refactory, which achieves a high repair success rate and small ...
详细信息
ISBN:
(纸本)9798400704239
Teachers often utilize automatic program repair methods to provide feedback on submitted student code using model answer code. A state-of-the-art tool is Refactory, which achieves a high repair success rate and small patch size (less code repair) by refactoring code to expand the variety of correct code samples that can be referenced. However, Refactory has two major limitations. First, it cannot fix code with syntax errors. Second, it has difficulty fixing code when there are few correct submissions. Herein we propose a new method that combines Refactory and OpenAI's GPT models to address these issues and conduct a performance measurement experiment. The experiment uses a dataset consisting of 5 programming assignment problems and almost 1,800 real-life incorrect Python program submissions from 361 students for an introductory programming course at a large public university. The proposed method improves the repair success rate by 1-21% when the set of correct code samples is sufficient and the patch size is smaller than Refactory alone in 16-45% of the cases. When there was no set of correct code samples at all (only the model answer code was used as a reference for repair), method improves the repair success rate by 1-43% and the patch size is smaller than Refactory alone in 42-68% of the cases.
Cascading phenomena in social networks happen when the adoption of some behaviour by initial adopters causes some of their immediate friends to adopt which again causes some of their friends' friends to adopt, and...
详细信息
ISBN:
(纸本)9789819602131;9789819602148
Cascading phenomena in social networks happen when the adoption of some behaviour by initial adopters causes some of their immediate friends to adopt which again causes some of their friends' friends to adopt, and so on. Who the initial adopters are, or rather how they are positioned in the network, is of crucial importance for the potential cascade. In this paper we look at the relative importance of different agents as initial adopters in a network, for a given cascading goal such as a complete cascade: which groups of agents are sufficient, which groups are necessary, and which agents are the most important to have as initial adopters in order for the goal to be achieved? For the latter question, we look to cooperative games and power measures to identify agents who are pivotal for a group of inital adopters with respect to the goal. We characterise the computational complexity of resulting decision and counting problems, when the goal is represented using a propositional logical formula. We also draw connections to abduction in logic programming.
XStorm, an FRP language for small-scale embedded systems, allows us to concisely describe state-dependent behaviors based on the state transition model. However, when we use different sets of peripheral devices depend...
详细信息
This paper explores the use of data flow-based design in IoT application development and its integration with the Node-RED programming tool. Node-RED provides a visual interface for creating programs based on the flow...
详细信息
ISBN:
(纸本)9783031488542;9783031488559
This paper explores the use of data flow-based design in IoT application development and its integration with the Node-RED programming tool. Node-RED provides a visual interface for creating programs based on the flow of data between nodes. However, Node-RED is not suitable for resource-constrained devices like micro-controllers. To address this, we propose a method of generating mruby code from Node-RED's data flow programs. The generated mruby code can be compiled into device-independent byte-code and executed on the mruby VM. To facilitate the implementation, we introduce the RBoard, a prototyping micro-controller board equipped with the mruby VM firmware. This approach combines the intuitive data flow design of Node-RED with the power of mruby for embedded systems. Through this integration, developers can rapidly prototype IoT applications and leverage the flexibility of scripting languages. Our findings demonstrate the feasibility and benefits of using data flow-based design and mruby code generation in IoT application development. This research contributes to the advancement of efficient and scalable IoT programming methodologies and enables the creation of innovative IoT solutions on micro-controller platforms.
While the design and delivery of university introductory programming courses have been extensively studied, they often focus on students for whom programming is a fundamental skill. A previously overlooked group for s...
详细信息
We study fundamental block-structured integer programs called tree-fold and multi-stage IPs. Tree-fold IPs admit a constraint matrix with independent blocks linked together by few constraints in a recursive pattern;an...
详细信息
ISBN:
(纸本)9783031598340;9783031598357
We study fundamental block-structured integer programs called tree-fold and multi-stage IPs. Tree-fold IPs admit a constraint matrix with independent blocks linked together by few constraints in a recursive pattern;and transposing their constraint matrix yields multi-stage IPs. The state-of-the-art algorithms to solve these IPs have an exponential gap in their running times, making it natural to ask whether this gap is inherent. We answer this question affirmative. Assuming the Exponential Time Hypothesis, we prove lower bounds showing that the exponential difference is necessary, and that the known algorithms are near optimal. Moreover, we prove unconditional lower bounds on the norms of the Graver basis, a fundamental building block of all known algorithms to solve these IPs. This shows that none of the current approaches can be improved beyond this bound.
While functionality and correctness of code has traditionally been the main focus of computing educators, quality aspects of code are getting increasingly more attention. High-quality code contributes to the maintaina...
详细信息
ISBN:
(纸本)9798400701382
While functionality and correctness of code has traditionally been the main focus of computing educators, quality aspects of code are getting increasingly more attention. High-quality code contributes to the maintainability of software systems, and should therefore be a central aspect of computing education. We have conducted a systematic mapping study to give a broad overview of the research conducted in the field of code quality in an educational context. The study investigates paper characteristics, topics, research methods, and the targeted programming languages. We found 195 publications (1976-2022) on the topic in multiple databases, which we systematically coded to answer the research questions. This paper reports on the results and identifies developments, trends, and new opportunities for research in the field of code quality in computing education.
The new curricula derived from the Bologna process encourage continuous evaluations during the teaching period. This situation causes already depleted teachers to have an additional workload during the course, so the ...
详细信息
The new curricula derived from the Bologna process encourage continuous evaluations during the teaching period. This situation causes already depleted teachers to have an additional workload during the course, so the emergence of tools that automatically evaluate this work is necessary. In computerscience, the ideal evaluation technique would be to use automatic code evaluators (such as C, Java, C++, etc.). The main objective of this work is to analyze whether the use of C-coding self-assessment exercises correlates with an improvement in exam performance. For this purpose, the implementation of self-assessment exercises on the AulaWeb platform during the last 12 academic years (2010/2011-2021/2022) in a programming Fundamentals course (Fundamentos de Programacion) in an engineering faculty at the Universidad Politecnica de Madrid (UPM) was collected. The main tasks carried out in this research have been: (i) recovery and analysis of the information collected from the AulaWeb platform and (ii) the study of the influence of the self-assessment exercises on the final grades obtained by the students of the course through correlations. The most important findings are: (a) self-assessment exercises generate experience and confidence when facing problems (this situation translates into a higher probability of passing the course) and (b) self-assessment exercises influence the final exams taken at the end of the semester, mainly due to the short time between the end of classes and the exam. Self-assessment exercises provide valuable information for teachers to monitor the progress of large groups of students during the semester and for students to pass exams.
暂无评论