152 research outputs found
Hedy: An Inclusive, Multi-Lingual, and Gradual Programming Language (Invited Talk)
Software is playing an increasing role in everyone’s lives, and therefore it is important (and fun!) for kids to become creators in the digital world. However, existing programming languages are not necessarily designed for learnability, with cryptic error messages and a lack of easily accessible resources. In this talk, Felienne will outline what issues existing tools have, and how these issues disproportionally affect underrepresented minorities in programming including girls, kids with disabilities and non-English learners. She will then outline her story of inventing and creating Hedy, an inclusive, multi-lingual and gradual programming language for learners. Hedy is open source, runs in the browser, is free to use, and is available in 54 different languages (Including English, Spanish, Chinese, Arabic and Hindi). Hedy was launched in early 2020 and now serves about 500,000 monthly users
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
XLBlocks: a Block-based Formula Editor for Spreadsheet Formulas
Three short videos demonstrating XLBlocks and four spreadsheets that were used in the Think-Aloud Study.See also:B. Jansen, F. Hermans, "XLBlocks: a Block-Based Formula Editor for Spreadsheet Formulas" in 2019 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), Oct 2019.</div
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
Data Files for Excel Project
Files containing the graded submissions to problems listed in : Rahul Pandita, Chris Parnin, Felienne Hermans and Emerson Murphy-Hill. No half-measures: A study of manual and tool-assisted end-user programming tasks in Excel VLHCC 2018. </div
Computerized Adaptive Programming Concepts Test (CAPCT)
Supporting documents for the Computerized Adaptive Programming Concepts Test (CAPCT). Hogenboom, S.A.M., Hermans, F.F.J., van der Maas, H.L.J. (2021).
Computerized Adaptive Assessment of Understanding of Programming Concepts in
Primary School Children.` Computer Science Education. https://dx.doi.org/10.1080/08993408.2021.191446
- …
