1,721,011 research outputs found
A Word about Programming:Applying a Natural Language Vocabulary Acquisition Model to Programming Education
A programming language is a textual language with syntax and semantics, and so is a natural language. Because of these similar characteristics, it is proposed that learning to program is similar to learning a new natural language. The goal of this paper is to evaluate the effectiveness when a natural language vocabulary acquisition model is used in programming education for beginners. This study involves a class of 26 students enrolled in lower secondary education. We apply a model for learning vocabulary to programming concepts. We redesign three lessons of an introductory programming course and replace them with lessons in which natural language strategies are used. Based on lesson observations, written and verbal student feedback, and an analysis of the students’ work, we aim to understand the effects of this intervention on both student performance and motivation. Our findings show that the students have effectively learned and practiced programming concepts. They also show high levels of motivation, by expressing enthusiasm and dedication towards their learning process. When asked for feedback students state how they thought the learning process is fun. They appreciate the lesson structure and set-up, the themes, the way they receive instruction, and that they are allowed to collaborate with other students. Challenges of our approach are that our lessons made use of paper handouts, and although students did quite well when working on the programming assignments, they showed a great dislike for working on paper that negatively affected their motivation. Also, transitioning to a different kind of lessons takes time and effort, and we need to make sure to create a safe classroom environment in which students feel free to get creative, brainstorm and associate.</p
Roles of Variables in the Hedy Programming Language
The concept of variables can be hard to grasp for novices. The Roles of Variables framework has been found to enhance learning elementary programming. The 11 roles can describe all variables in novice programs in 99% of the cases. Prior work has shown that the roles give novices better program comprehension capabilities and better programming skills. In this paper we apply the Roles of Variables to Hedy. Hedy is a gradual and multilingual programming language for education. It consists of 18 levels, each supporting new concepts or requiring code that satisfies new syntax rules, to gradually learn programming in Python, and it is available in 50 different (natural) languages. In this paper we explore how to integrate the roles into Hedy. We reflect on the roles by applying them in a new setting and it could later on become useful for the users of Hedy.</p
An Observational Study of Undergraduate Teaching Assistants’ Use of Subgoal Learning Integrated in an Introductory Programming Course
In this paper we study an approach to support undergraduate teaching assistants - UTAs - in their teaching with more pedagogical content knowledge. This paper builds upon prior work on the integration of explicit strategies to observe and analyse how UTAs make actual use of subgoal learning (SL) as explicit instructional strategy in their daily teaching practice. From empirical evidence, we extract instructional design advice on how to integrate different subgoal learning strategies throughout a CS1 course. Our study 1) focuses on the effects of SL integration in UTA practice, 2) explores fidelity of their implementation of SL and 3) studies the different ways UTAs use the strategies. We use observations and surveys to analyse UTAs interventions during their lab sessions, and cross these observations results with UTAs’ self-reported data through two surveys. Our main results are that SL integration through exercises is a major trigger of strategy use. Training and follow-up of the UTAs have impact, since UTAs feeling familiar with subgoal learning correlates positively with their successful observed use of subgoal learning. More frequent and stronger uses of the strategy were observed by UTAs self-reporting more frequent uses. And finally, UTAs express that subgoals are best suited for introducing concepts and especially the more structured ones.</p
Gender Differences in Story, Game and Visual Adventures in Hedy
Even though the field of Computer Science (CS) affects different aspects of society, several groups of society are underrepresented, including women and nonbinary people. Children might have different learning opportunities in CS due to their project preferences. Girls are likelier to work on stories and simple programs in Scratch, whereas boys tend to create games and more complex programs. We explore whether preferences and program implementation differ between genders within a story, game and visual adventure in Hedy, a gradual textual programming language. We analysed 14,233 programs within five Hedy levels created by 2,819 users who turned 10 to 14 in 2023. We found that boys, girls and nonbinary children worked most on the game adventure. Within the individual adventures, gender differences occur in all three adventures in the most elaborate Hedy level analysed. However, for some levels, no gender differences were found. Thus, programming assignments can be created in which children of different genders work on similar programs in terms of size and number of (unique) commands used.</p
Dependence tracing techniques for spreadsheets: An investigation
Spreadsheet cells contain data but also may contain formulas that refer to data from other cells, perform operations on them, and render the results directly to show it to the user. In order to understand the structure of spreadsheets, one needs to understand the formulas that control cell-to-cell dataflow. Understanding this cell-to-cell inter-relation or dependence tracing is easier done in visual manners and therefore quite a few techniques have been proposed over the years. This paper aims to report the results of an investigative study of such techniques. The study is a first step of an attempt to evaluate the relevance of these techniques from the point of view of their benefits and effectiveness in the context of real world spreadsheet users. Results obtained from such a study will have the potential for motivating the conception of newer and better techniques, in case it is found that the need for them is still not fully catered.Software Engineerin
The Effect of a Block-based Language on Formula Comprehension in Spreadsheets
The use of spreadsheets in industry is widespread. It is known that spreadsheets have an average life span of five years, and during this life span, they are used on average by thirteen different persons. Consequently, spreadsheets need maintenance, and knowledge about the spreadsheet needs to be transferred from one user to another. To minimize the risk of introducing new errors, a thorough understanding of the spreadsheet's formulas is needed during maintenance and knowledge transfer tasks.Research on the use of block-based languages has shown that they positively affect the comprehension of program code. We hypothesize that using a block-based representation of a spreadsheet formula will positively affect formula comprehension.Hence, we extended XLBlocks, a block-based formula editor for spreadsheets, with the functionality to generate a block-based representation of an existing formula. We conduct a think-aloud study with twenty-one experienced spreadsheet users from industry and ask them to perform a set of spreadsheet comprehension tasks using XLBlocks. During an interview, we ask them, using the Cognitive Dimensions of Notations framework, to reflect on the use of XLBlocks.We found that participants preferred to use the block-based representation of formulas when analyzing or explaining formulas or to implement non-trivial changes. Named function parameters and the absence of parentheses and commas make functions easier to understand. Furthermore, the visualization enables the user to separate smaller parts in the formula, which improves comprehension. Finally, the possibility to navigate from formula to formula makes it clear how formulas work together and improve the understanding of the spreadsheet as a whole.Software Engineerin
Programming Smart Objects:How Young Learners’ Programming Skills, Attitudes, and Perception Are Influenced
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 8th-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
Automated timetable generation for Egyptian schools
Cairo-based IT company Key2Soft is working on a comprehensive system to automate various systems in Egyptian primary-,middle- and high schools. This software system, named Key2School, includes a timetabling component, with which the company aims to relieve the workload of timetablers by providing them with a system which automatically generates timetables for all teachers, students and subjects. In consultation with the company, both functional requirements and timetable requirements have been composed for the timetabling part.A literature study has been conducted to find and compare existing timetabling algorithms and libraries in order to select the best match for the company. All existing algorithms in literature were found to be too slow, so a system has been designed around an open source timetabling program. This system contains a part where the program is managed, a part which interfaces with the database of Key2Soft and a part where the timetable resources are constructed in a compatible manner. The system has been implemented according to and in consultation with programmers at Key2Soft and will be integrated in Key2School in the future. The system is programmed mainly in C# and uses XML files to configure the timetabling library. The system has been thoroughly tested with NUnit, a platform-specific unit testing library, which enabled the developers to verify the code quality. The code has furthermore been evaluated by the independent IT consultant SIG
Grading 600+ students: A Case Study on Peer and Self Grading
Grading large classes has become a challenging and expensive task for many universities. The Delft University of Technology (TU Delft), located in the Netherlands, has observed a large increase in student numbers over the past few years. Given the large growth of the student population, grading all the submissions results in high costs. We made use of self and peer grading in the 2018-2019 edition of our software testing course. Students worked in teams of two, and self and peer graded three assignments in our course. We ended up with 906 self and peer graded submissions, which we compared to 248 submissions that were graded by our TAs. In this paper, we report on the differences we observed between self, peer, and TA grading. Our findings show that: (i) self grades tend to be 8-10% higher than peer grades on average, (ii) peer grades seem to be a good approximator of TA grades; in cases where self and peer grade differ significantly, the TA grade seems to lie in between, and (iii) the gender and the nationality of the student do not seem to affect self and peer grading.Accepted author manuscriptSoftware EngineeringComputer Science & Engineering-Teaching Tea
XLBlocks: On the Effect of a Visual Language on Formula Creation and Comprehension in Spreadsheets
The use of spreadsheets in industry is widespread. Their outcomes are often used to substantiate critical business decisions. Unfortunately, spreadsheets are also error-prone. Consequently, companies risk making decisions based on inaccurate information, which eventually could lead to loss of money and reputation.This dissertation investigates to what extent a visual language could support professional spreadsheet users in interacting with complex formulas. We divided our research into two phases. In the first phase, we try to understand better how spreadsheets are used in three ways...Software Engineerin
- …
