23 research outputs found
NuzzleBug: Debugging Block-Based Programs in Scratch
While professional integrated programming environments support developers
with advanced debugging functionality, block-based programming environments for
young learners often provide no support for debugging at all, thus inhibiting
debugging and preventing debugging education. In this paper we introduce
NuzzleBug, an extension of the popular block-based programming environment
Scratch that provides the missing debugging support. NuzzleBug allows
controlling the executions of Scratch programs with classical debugging
functionality such as stepping and breakpoints, and it is an omniscient
debugger that also allows reverse stepping. To support learners in deriving
hypotheses that guide debugging, NuzzleBug is an interrogative debugger that
enables to ask questions about executions and provides answers explaining the
behavior in question. In order to evaluate NuzzleBug, we survey the opinions of
teachers, and study the effects on learners in terms of debugging effectiveness
and efficiency. We find that teachers consider NuzzleBug to be useful, and
children can use it to debug faulty programs effectively. However, systematic
debugging requires dedicated training, and even when NuzzleBug can provide
correct answers learners may require further help to comprehend faults and
necessary fixes, thus calling for further research on improving debugging
techniques and the information they provide.Comment: To appear at the 2024 IEEE/ACM 46th International Conference on
Software Engineering (ICSE '24), April 14--20, 2024, Lisbon, Portuga
Languages of games and play: A systematic mapping study
Digital games are a powerful means for creating enticing, beautiful, educational, and often highly addictive interactive experiences that impact the lives of billions of players worldwide. We explore what informs the design and construction of good games to learn how to speed-up game development. In particular, we study to what extent languages, notations, patterns, and tools, can offer experts theoretical foundations, systematic techniques, and practical solutions they need to raise their productivity and improve the quality of games and play. Despite the growing number of publications on this topic there is currently no overview describing the state-of-the-art that relates research areas, goals, and applications. As a result, efforts and successes are often one-off, lessons learned go overlooked, language reuse remains minimal, and opportunities for collaboration and synergy are lost. We present a systematic map that identifies relevant publications and gives an overview of research areas and publication venues. In addition, we categorize research perspectives along common objectives, techniques, and approaches, illustrated by summaries of selected languages. Finally, we distill challenges and opportunities for future research and development
Communicating Computational Concepts and Practices Within High School Students’ Portfolios of Making Electronic Textiles
Portfolios have recently gained traction within computer science education as a way to assess students’ computational thinking and practices. Whereas traditional assessments such as exams tend to capture learning within artificial settings at a single point in time, portfolios provide more authentic opportunities to document a trajectory of students’ learning and practices in everyday contexts. Furthermore, because communication itself has been defined as an important computational thinking practice, portfolios give students a place to practice this skill in the classroom. In this study, we report on the implementation of a digital portfolio with a class of 21 high school students used to capture the process of creating of an electronic textile mural project. While students’ understanding of computational concepts were only partially captured within the portfolios, their engagements with computational practices—such as debugging and iteration—were better highlighted. Much of this was due to the students’ existing communicative strategies themselves, both in terms of how precise they were in describing issues, as well as how they leveraged images and code to explain their process. Recommendations for designing more effective portfolio assessments are discussed, which include greater emphasis on creating shared classroom discourse, and leveraging students’ existing experiences with multimedia
Personalizing the web: A tool for empowering end-users to customize the web through browser-side modification
167 p.Web applications delegate to the browser the final rendering of their pages. Thispermits browser-based transcoding (a.k.a. Web Augmentation) that can be ultimately singularized for eachbrowser installation. This creates an opportunity for Web consumers to customize their Web experiences.This vision requires provisioning adequate tooling that makes Web Augmentation affordable to laymen.We consider this a special class of End-User Development, integrating Web Augmentation paradigms.The dominant paradigm in End-User Development is scripting languages through visual languages.This thesis advocates for a Google Chrome browser extension for Web Augmentation. This is carried outthrough WebMakeup, a visual DSL programming tool for end-users to customize their own websites.WebMakeup removes, moves and adds web nodes from different web pages in order to avoid tabswitching, scrolling, the number of clicks and cutting and pasting. Moreover, Web Augmentationextensions has difficulties in finding web elements after a website updating. As a consequence, browserextensions give up working and users might stop using these extensions. This is why two differentlocators have been implemented with the aim of improving web locator robustness
Recommended from our members
Newcomers’ Barriers. . . Is That All? An Analysis of Mentors’ and Newcomers’ Barriers in OSS Projects
Newcomers’ seamless onboarding is important for open collaboration communi- ties, particularly those that leverage outsiders’ contributions to remain sustainable. Nevertheless, previous work shows that OSS newcomers often face several barriers to contribute, which lead them to lose motivation and even give up on contributing. A well-known way to help newcomers overcome initial contribution barriers is men- toring. This strategy has proven effective in offline and online communities, and to some extent has been employed in OSS projects. Studying mentors’ perspectives on the barriers that newcomers face play a vital role in improving onboarding pro- cesses; yet, OSS mentors face their own barriers, which hinder the effectiveness of the strategy. Since little is known about the barriers mentors face, in this thesis, we investigate the barriers that affect mentors and their newcomer mentees. We interviewed mentors from OSS projects and qualitatively analyzed their answers.
We found 44 barriers: 19 that affect mentors; and 34 that affect newcomers (9 af- fect both newcomers and mentors). Interestingly, most of the barriers we identified (66%) have a social nature. Additionally, we identified 10 strategies that mentors indicated to potentially alleviate some of the barriers. Since gender-related chal- lenges emerged in our analysis, we conducted nine follow-up structured interviews to further explore this perspective. The contributions of this thesis include: iden- tifying the barriers mentors face; bringing the unique perspective of mentors on barriers faced by newcomers; unveiling strategies that can be used by mentors to support newcomers; and investigating gender-specific challenges in OSS mentor- ship. Mentors, newcomers, online communities, and educators can leverage this knowledge to foster new contributors to OSS projects
A mixed-method empirical study of Function-as-a-Service software development in industrial practice
Function-as-a-Service (FaaS) describes cloud computing services that make infrastructure components transparent to application developers, thus falling in the larger group of “serverless” computing mod- els. When using FaaS offerings, such as AWS Lambda, developers provide atomic and short-running code for their functions, and FaaS providers execute and horizontally scale them on-demand. Currently, there is nosystematic research on how developers use serverless, what types of applications lend themselves to this model, or what architectural styles and practices FaaS-based applications are based on. We present results from a mixed-method study, combining interviews with practitioners who develop applications and systems that use FaaS, a systematic analysis of grey literature, and a Web-based survey. We find that successfully adopting FaaS requires a different mental model, where systems are primarily constructed by composing pre-existing services, with FaaS often acting as the “glue” that brings these services to- gether. Tooling availability and maturity, especially related to testing and deployment, remains a major difficulty. Further, we find that current FaaS systems lack systematic support for function reuse, and ab- stractions and programming models for building non-trivial FaaS applications are limited. We conclude with a discussion of implications for FaaS providers, software developers, and researchers
Personalizing the web: A tool for empowering end-users to customize the web through browser-side modification
167 p.Web applications delegate to the browser the final rendering of their pages. Thispermits browser-based transcoding (a.k.a. Web Augmentation) that can be ultimately singularized for eachbrowser installation. This creates an opportunity for Web consumers to customize their Web experiences.This vision requires provisioning adequate tooling that makes Web Augmentation affordable to laymen.We consider this a special class of End-User Development, integrating Web Augmentation paradigms.The dominant paradigm in End-User Development is scripting languages through visual languages.This thesis advocates for a Google Chrome browser extension for Web Augmentation. This is carried outthrough WebMakeup, a visual DSL programming tool for end-users to customize their own websites.WebMakeup removes, moves and adds web nodes from different web pages in order to avoid tabswitching, scrolling, the number of clicks and cutting and pasting. Moreover, Web Augmentationextensions has difficulties in finding web elements after a website updating. As a consequence, browserextensions give up working and users might stop using these extensions. This is why two differentlocators have been implemented with the aim of improving web locator robustness