For teachers, automated tool support for debugging and assessing their students' programming assignments is a great help in their everyday business. For block-based programming languages which are commonly used to...
详细信息
ISBN:
(纸本)9781665412193
For teachers, automated tool support for debugging and assessing their students' programming assignments is a great help in their everyday business. For block-based programming languages which are commonly used to introduce younger learners to programming, testing frameworks and other software analysis tools exist, but require manual work such as writing test suites or formal specifications. However, most of the teachers using languages like SCRATCH are not trained for or experienced in this kind of task. Linters do not require manual work but are limited to generic bugs and therefore miss potential task-specific bugs in student solutions. In prior work, we proposed the use of anomaly detection to find project-specific bugs in sets of student programming assignments automatically, without any additional manual labour required from the teachers' side. Evaluation on student solutions for typical programming assignments showed that anomaly detection is a reliable way to locate bugs in a data set of student programs. In this paper, we enhance our initial approach by lowering the abstraction level. The results suggest that the lower abstraction level can focus anomaly detection on the relevant parts of the programs.
The past five years have witnessed an increase in research to improve the accessibility of block-based programming environments to people with visual impairments. This has led to the creation of a few accessible block...
详细信息
ISBN:
(纸本)9781450383066
The past five years have witnessed an increase in research to improve the accessibility of block-based programming environments to people with visual impairments. This has led to the creation of a few accessible block-based programming environments with some researchers considering tangible alternatives or hybrid environments. However, the literature says little about the learning experiences of K-12 students with visual impairments on these systems in educational settings. We try to fill this gap of knowledge with a report on an interview study with twelve teachers of K-12 students with visual impairments. Through the lens of the teachers, we discovered that factors such as the students background, the teacher's CS background and the design of existing curricula influence the learning process of students with visual impairments learning how to code. In addition to discussing how they go about to mitigate the challenges that stem from these factors, teachers also reported on how they compensate for the lack of accessible block-based languages. Through this work, we offer insights into how the research community can improve the learning experiences of students with visual impairments including training teachers, ensuring students have basic computing skills, improving the curriculum and designing accessible on-screen block-based programming environments.
The research reported in this paper proposes a new approach to collaborative robots that aims at improving the simplicity and efficiency of the programming task for non-technical users. It is grounded on three standpo...
详细信息
The research reported in this paper proposes a new approach to collaborative robots that aims at improving the simplicity and efficiency of the programming task for non-technical users. It is grounded on three standpoints: (i) an elementary and disciplined paradigm for robot programming, called the simple programming journey, (ii) a hybrid interaction mode where robot tasks can be programmed using a natural language chat and, if necessary, can be completed and finalized through a block-based interface, and (iii) a robust cognitive match between the mental models of the user and the programming interface. The proposed approach has been implemented and tested through the development of a prototype programming environment called CAPIRCI, which can be tailored to different application domains through the definition of objects, locations, and actions. CAPIRCI has been tested by real users with a COBOTTA robot by DENSO WAVE Ltd. Two experimental tests have been carried out in order to validate the novel approach proposed and to assess its impact on end-user programming. The results obtained show that a hybrid approach exploiting both natural language dialogue and block-based interaction can help make the programming task easy and efficient for non-technical users.
Distributed computing, computer networking, and the Internet of Things (IoT) are all around us, yet only computer science and engineering majors learn the technologies that enable our modern lives. This paper introduc...
详细信息
Distributed computing, computer networking, and the Internet of Things (IoT) are all around us, yet only computer science and engineering majors learn the technologies that enable our modern lives. This paper introduces PhoneIoT, a mobile app that makes it possible to teach some of the basic concepts of distributed computation and networked sensing to novices. PhoneIoT turns mobile phones and tablets into IoT devices and makes it possible to create highly engaging projects through NetsBlox, an open-source block-based programming environment focused on teaching distributed computing at the high school level. PhoneIoT lets NetsBlox programs-running in the browser on the student's computer-access available sensors. Since phones have touchscreens, PhoneIoT also allows building a Graphical User Interface (GUI) remotely from NetsBlox, which can be set to trigger custom code written by the student via NetsBlox's message system. This approach enables students to create quite advanced distributed projects, such as turning their phone into a game controller or tracking their exercise on top of an interactive Google Maps background with just a few blocks of code.
One of the largest communities on learning programming and sharing code is built around the SCRATCH programming language, which fosters visual and block-based programming An essential requirement for building learning...
详细信息
ISBN:
(纸本)9783030793791;9783030793784
One of the largest communities on learning programming and sharing code is built around the SCRATCH programming language, which fosters visual and block-based programming An essential requirement for building learning environments that support learners and educators is automated program analysis. Although the code written by learners is often simple, analyzing this code to show its correctness or to provide support is challenging, since SCRATCH programs are graphical, game-like programs that are controlled by the user using mouse and keyboard. While model checking offers an effective means to analyze such programs, the output of a model checker is difficult to interpret for users, in particular for novices. In this work, we introduce the notion of SCRATCH error witnesses that help to explain the presence of a specification violation. SCRATCH error witnesses describe sequences of timed inputs to SCRATCH programs leading to a program state that violates the specification. We present an approach for automatically extracting error witnesses from counterexamples produced by a model checking procedure. The resulting error witnesses can be exchanged with a testing framework, where they can be automatically re-played in order to reproduce the specification violations. Error witnesses can not only aid the user in understanding the misbehavior of a program, but can also enable the interaction between different verification tools, and therefore open up new possibilities for the combination of static and dynamic analysis.
In programming education, teachers need to monitor and assess the progress of their students by investigating the code they write. Code quality of programs written in traditional programming languages can be automatic...
详细信息
ISBN:
(纸本)9780738133201
In programming education, teachers need to monitor and assess the progress of their students by investigating the code they write. Code quality of programs written in traditional programming languages can be automatically assessed with automated tests, verification tools, or linters. In many cases these approaches rely on some form of manually written formal specification to analyze the given programs. Writing such specifications, however, is hard for teachers, who are often not adequately trained for this task. Furthermore, automated tool support for popular block-based introductory programming languages like SCRATCH is lacking. Anomaly detection is an approach to automatically identify deviations of common behavior in datasets without any need for writing a specification. In this paper, we use anomaly detection to automatically find deviations of SCRATCH code in a classroom setting, where anomalies can represent erroneous code, alternative solutions, or distinguished work. Evaluation on solutions of different programming tasks demonstrates that anomaly detection can successfully be applied to tightly specified as well as open-ended programming tasks.
Bugs in learners' programs are often the result of fundamental misconceptions. Teachers frequently face the challenge of first having to understand such bugs, and then suggest ways to fix them. In order to enable ...
详细信息
ISBN:
(纸本)9781450385718
Bugs in learners' programs are often the result of fundamental misconceptions. Teachers frequently face the challenge of first having to understand such bugs, and then suggest ways to fix them. In order to enable teachers to do so effectively and efficiently, it is desirable to support them in recognising and fixing bugs. Misconceptions often lead to recurring patterns of similar bugs, enabling automated tools to provide this support in terms of hints on occurrences of common bug patterns. In this paper, we investigate to what extent the hints improve the effectiveness and efficiency of teachers in debugging learners' programs using a cohort of 163 primary school teachers in training, tasked to correct buggy Scratch programs, with and without hints on bug patterns. Our experiment suggests that automatically generated hints can reduce the effort of finding and fixing bugs from 8.66 to 5.24 minutes, while increasing the effectiveness by 34% more correct solutions. While this improvement is convincing, arguably teachers in training might first need to learn debugging "the hard way" to not miss the opportunity to learn by relying on tools. We therefore investigate whether the use of hints during training affects their ability to recognise and fix bugs without hints. Our experiment provides no significant evidence that either learning to debug with hints or learning to debug "the hard way" leads to better learning effects. Overall, this suggests that bug patterns might be a useful concept to include in the curriculum for teachers in training, while tool-support to recognise these patterns is desirable for teachers in practice.
The current COVID-19 crisis has created significant challenges for schools. The growing importance of "flipping the classroom" and the needful emphasizing of online-learning were owed to the situation. To me...
详细信息
ISBN:
(纸本)9781665438513
The current COVID-19 crisis has created significant challenges for schools. The growing importance of "flipping the classroom" and the needful emphasizing of online-learning were owed to the situation. To meet these requirements, materials and tasks must be adapted. The Open Educational Resource (OER) textbook "Computational Thinking with the BBC micro:bit" was developed for the introduction of Computational Thinking (CT) for 10-14-year-old pupils in Austria's secondary schools. Example tasks in the textbook are designed with an open end and present extensions with ideas for further development instead of ending abruptly. This article provides a guideline for a clear distinction in redesigning existing lessons following the Inverted Classroom Model (ICM) using videos for pre-class work and live task extensions for in-class work. Which parts in the learning design must remain as live lessons and which parts can be adapted for video lessons? The respective research shows that examples that have a makerspace activity as an extension are especially helpful for an efficient determination of the appropriate part in the learning design and particularly suitable for an adaptation with ICM. The central advantage of the ICM is that it responds flexibly to the individual learning needs of each student. It allows students to take their time reviewing the material at their own pace without getting left behind. The textbook used here encourages pupils to find their own solutions by explorative learning using the block-based programming environment MakeCode. Additional information to be uncovered by the learner is provided for every single step in the accompanying online wiki website. Results from observations showed that this uncover-function, being a central element of the online material, encouraged the learners to explore their own way in finding a solution with playful elements and increased motivation. The many haptic elements of a makerspace activity are in particular usefu
Spring 2023 marks 10 years since \snap was first used with students, and the Snap! Cloud was developed for sharing projects. Since then, nearly 700,000 students and educators have worked on more than 6 million Snap! p...
详细信息
ISBN:
(纸本)9781450394338
Spring 2023 marks 10 years since \snap was first used with students, and the Snap! Cloud was developed for sharing projects. Since then, nearly 700,000 students and educators have worked on more than 6 million Snap! projects. This BOF serves as an opportunity to meet with the large community of Snap! users that attend SIGCSE. The past three releases have focused on power ideas, such as native array-based data programming, building microworlds, and metaprogramming. We want to have a chance to share success stories, and then discuss: what's next?Notes, projects and examples from this BOF will be shared at https://***/snap-bof-sigcse23
CS1 students who program in textual languages often think they are bad at programming, largely because they experience negative self-assessments as they program. I investigate whether students in CS0 contexts using a ...
详细信息
ISBN:
(纸本)9781450394338
CS1 students who program in textual languages often think they are bad at programming, largely because they experience negative self-assessments as they program. I investigate whether students in CS0 contexts using a block-based language have similar self-assessment moments, to find ways to amplify positive self-assessments and ameliorate negative ones. Toward this end, I have designed an affective reporting tool and a study to understand the programming moments that lead to positive or negative student affect for CS0 students. The affective reporting tool was piloted in a CS0 course. 69 out of 75 students voluntarily used the tool, reporting 528 responses over two course periods. This willingness to share their affective data through the new tool shows that students may need such outlets to reflect on and share how they are feeling while programming. The tool was also used in a study where students programmed using the affective reporter, then reflected on and reviewed a video of their programming to tell us more about how they felt while programming. Initial findings show that while some moments are interpreted to be positive or negative by all students, the interpretation of other moments can differ. In future work, the results of these studies will be used to design interventions to help students and improve their programming self-assessments.
暂无评论