With the growing demand for computational skills in the job market, it's imperative that lower secondary school students grasp basic programming concepts such as repetition, modularity, conditionals, and variables...
详细信息
ISBN:
(纸本)9798400706035
With the growing demand for computational skills in the job market, it's imperative that lower secondary school students grasp basic programming concepts such as repetition, modularity, conditionals, and variables. Yet, many students perceive computerscience as daunting and irrelevant. Physical computing offers a promising solution to this motivational gap. It enhances intrinsic motivation, self-efficacy, and positive attitudes towards technology. Moreover, they engage students who may not identify as typical programmers and foster essential computational thinking skills. This research investigates the efficacy of employing the same educational robot in different contexts, such as music, images, colors, and simple video games, while teaching basic programming concepts. We call this approach "multi-context physical computing" to emphasize the focus on the different application scenarios. We believe that this could benefit students for two reasons. Firstly, by presenting the same concept across different contexts, learners can better grasp the essence of the concept, disentangling it from extraneous contextual associations. Secondly, catering to individual interests by offering diverse contexts may enhance motivation, consequently fostering improved learning outcomes, as predicted by the expectancy-value theory. In order to assess the benefits of the multi-context approach on learning outcomes and motivation, we will compare it to a more traditional single-context approach centered on robot locomotion in a randomized controlled study.
Peer code review is a key practice in professional software development, and its integration into computerscience education can provide valuable learning experiences for students. However, few reports compare differe...
详细信息
ISBN:
(纸本)9798400705328
Peer code review is a key practice in professional software development, and its integration into computerscience education can provide valuable learning experiences for students. However, few reports compare different peer code review methods within a single educational context. This experience report shares insights from implementing various review types-individual, team, and pair code reviews-in a first-year Data Structures and Algorithms course in a bachelor's degree program. Throughout the semester, students took an active role in their learning by completing three programming assignments, each followed by a different peer review method. Feedback was collected through questionnaires to capture the students' perceptions of their data structure knowledge, programming skills, and overall learning experience. Our report outlines the design of the different review learning activities, provides insights into the students' opinions on the review techniques, and reflects on the challenges and successes we encountered. As each method offers unique benefits, we believe that incorporating a variety of peer code review methods can enhance the overall learning experience in computerscience courses.
Computational thinking is gradually being introduced into elementary school curricula, usually accompanied by some form of programming activity. However, even a creative and hands-on activity such as programming Ozobo...
详细信息
ISBN:
(纸本)9798400704239
Computational thinking is gradually being introduced into elementary school curricula, usually accompanied by some form of programming activity. However, even a creative and hands-on activity such as programming Ozobot robots with color codes requires elementary school teachers to provide adequate help. We therefore developed hint cards based on criteria for effective feedback and common color code mode issues. Based on our experience of using the hint cards in 17 workshops in elementary schools with 328 children and 21 educators, we identify how the hint cards (1) address feedback challenges, (2) support learning, and (3) can be adapted for broader use. We find that hint cards provide benefits at the teacher, learner and organizational level, but also identify possible disadvantageous circumstances. Although the hint cards support learning regarding affective, cognitive and meta-cognitive aspects, strategies for adaptation are needed. We discuss how the hint cards can be used in other contexts, and give recommendations on how to use the knowledge of common issues and hint cards for supporting elementary school teachers with teaching programming.
The integration of game design elements into formative assessments, known as Gamified Formative Assessment (GFA), is a promising approach to enhance student engagement and motivation in web programming courses. Howeve...
详细信息
ISBN:
(纸本)9783031616778;9783031616785
The integration of game design elements into formative assessments, known as Gamified Formative Assessment (GFA), is a promising approach to enhance student engagement and motivation in web programming courses. However, the tangible impact of GFA on learning outcomes remains to be fully explored. This action research study investigates the effects of GFA on learning outcomes in a web programming course, using two specific GFA tools, QRdice and Quizizz, and contrasting their effectiveness with traditional non-gamified formative assessments (NGFA). The study involved 42 ICT Diploma students and employed a mixed-methods approach, with both quantitative and qualitative data derived from assessment scores, surveys, and interviews. The data analysis, conducted using IBM SPSS Statistics for quantitative data and thematic analysis for qualitative data, revealed no significant improvement in learning outcomes due to GFA. However, both the survey and interview data indicated a positive influence of GFA on students' perceptions and experiences. This study offers valuable insights for educators and researchers aiming to effectively incorporate GFA in web programming courses.
Parallel patterns, views, and spaces are promising abstractions to capture the programmer's intent as well as the contextual information that can be used by an underlying runtime to efficiently map software to par...
详细信息
ISBN:
(数字)9781665422963
ISBN:
(纸本)9781665404495
Parallel patterns, views, and spaces are promising abstractions to capture the programmer's intent as well as the contextual information that can be used by an underlying runtime to efficiently map software to parallel hardware. These abstractions can be valuable in cases where an algorithm must accommodate requirements of code and performance portability across hardware architectures and vendor programming models. Kokkos is a parallel programming model for host- and accelerator architectures that relies on these abstractions and targets these requirements. It consists of a pure C++ interface, a specification, and a programming library. The programming library exposes patterns and types and maps them to an underlying abstract machine model. The abstract machine model offers a generic view of parallel hardware. While Kokkos is gaining popularity in large-scale HPC applications at some DOE laboratories, we believe that the implemented concepts are of interest to a broader audience including academia as they may contribute to a generic, vendor, and architecture-independent education of parallel programming. In this work, we give an insight into the design considerations of this programming model and list important abstractions. Further, we document best practices obtained from giving virtual classes on Kokkos and give pointers to resources that the reader may consider valuable for a lecture on generic parallel programming for students with preexisting knowledge on this matter.
Domain modeling is an important task in designing, developing, and deploying intelligent tutoring systems and other adaptive instructional systems. We focus here on the more specific task of automatically extracting a...
详细信息
ISBN:
(纸本)9783031328824;9783031328831
Domain modeling is an important task in designing, developing, and deploying intelligent tutoring systems and other adaptive instructional systems. We focus here on the more specific task of automatically extracting a domain model from textbooks. In particular, this paper explores using multiple textbook indexes to extract a domain model for computerprogramming. Our approach is based on the observation that different experts, i.e., authors of intro-to-programming textbooks in our case, break down a domain in slightly different ways, and identifying the commonalities and differences can be very revealing. To this end, we present automated approaches to extracting domain models from multiple textbooks and compare the resulting common domain model with a domain model created by experts. Specifically, we use approximate string-matching approaches to increase coverage of the resulting domain model and majority voting across different textbooks to discover common domain terms related to computerprogramming. Our results indicate that using approximate string matching gives more accurate domain models for computerprogramming with increased precision and recall. By automating our approach, we can significantly reduce the time and effort required to construct high-quality domain models, making it easy to develop and deploy tutoring systems. Furthermore, we obtain a common domain model that can serve as a benchmark or skeleton that can be used broadly and adapted to specific needs by others.
The teaching-learning process is complex in nature, requiring many tasks and skills to achieve success in the construction of knowledge. As per any particular kind of cognitive development, teaching and learning Compu...
详细信息
ISBN:
(纸本)9798350359718;9788396960160
The teaching-learning process is complex in nature, requiring many tasks and skills to achieve success in the construction of knowledge. As per any particular kind of cognitive development, teaching and learning computerprogramming is no different in this regard: tasks must be executed, sometimes repeatedly, and skills must be developed. Despite different approaches and methodologies, exercising what has been studied is proven to be effective in pretty much any teaching-learning process. Many tools have been developed throughout time to aid in the execution of this important task, sometimes approaching the problem from the students' perspective, sometimes from the teachers'. This paper presents Goliath, a semi-automatic generator of computerprogramming exercises, whose functionality is based on Artificial Intelligence (AI) models, a Domain-Specific Language (DSL), and an online application that binds them together. Goliath's goals are directed towards teachers (and indirectly, students) by aiming to lower the burden of repeatedly constructing exercises. This is achieved through the use of templates that allow for automatic variations of an exercise to be created instantly, while relying on a common foundation. Goliath is meant to be a facilitator, raising availability of exercise lists, while avoiding repetition and the common mistakes that accompany their construction.
When students take introductory programming courses in university, they often need to setup a development environment. Development environments enable code execution while also providing a uniform setting for students...
详细信息
ISBN:
(纸本)9798400705311
When students take introductory programming courses in university, they often need to setup a development environment. Development environments enable code execution while also providing a uniform setting for students to compare results and facilitate troubleshooting. At the same time, though, development enviroments often require installing applications or signing up to web services. In this paper we present an alternative approach, in the form of an in-browser slideshow system called Interactive Code Playgrounds (ICPs). ICPs aim to create a uniform environment while also making programming lectures more approachable facilitating code execution. In ICPs, code is embedded in webpages displayed as slides, enabling code execution and output visualisation directly in the browser through the use of JavaScript and WebAssembly. This paper presents ICPs' design principles, and reports on the outcomes of a mixed-methods validation study that, through a combination of surveys and micro-ethnographies, involved 95 participants at three introductory programming courses at the University of Trento. Our research suggests that students generally understood ICPs' functionalities, and successfully used ICPs to follow their lectures, with the emergence of patterns of self-pacing and self-tailoring. By introducing an education technology that does not require radical changes in the course's teaching and delivery, we hope to show that education technologies do not necessarily need to disrupt teaching and learning, but can also take an incremental approach while still yielding meaningful pedagogical benefits.
We present ASM Visualizer, a tool that is designed to help students learn assembly programming, aiding in their understanding of how assembly instructions are executed and the relationship between assembly and equival...
详细信息
ISBN:
(纸本)9798400705328
We present ASM Visualizer, a tool that is designed to help students learn assembly programming, aiding in their understanding of how assembly instructions are executed and the relationship between assembly and equivalent high-level language code. Our tool allows a user to step both forward and backward through the execution of an assembly program, one instruction at a time, seeing how instructions use and modify values in stack memory and CPU registers. ASM Visualizer presents three user-interface modes, supporting different stages of learning assembly programming. Beginners can step through basic arithmetic instructions, whereas more advanced learners can trace through function call/return sequences, stack frame manipulation, or entire assembly programs. We present our experiences using ASM Visualizer in introductory-level courses at our two institutions, and we discuss other ways in which our tool could be used by educators in both introductory and advanced CS courses. Results from a preliminary assessment of students using our tool show that students gain confidence in their understanding of different aspects of assembly programming. We feel that the visual interface to assembly code execution that ASM Visualizer provides is key to helping students understand assembly.
暂无评论