We describe a new introductory CS curriculum initiative that uses analogies and active engagement to develop students' conceptual understanding before applying the concepts to programming. We believe that traditio...
详细信息
ISBN:
(纸本)9798400704239
We describe a new introductory CS curriculum initiative that uses analogies and active engagement to develop students' conceptual understanding before applying the concepts to programming. We believe that traditional coding approaches to introducing computerscience concepts rely on students to build their own conceptual understanding, rather than grounding their understanding of concepts in what they know from everyday experiences. Using constructivism as a foundation for this curriculum initiative, our approach builds a framework for student understanding anchored in the physical world using simple games and stories to stimulate mental engagement through embodied learning. For example, we teach the concept of abstraction and representation by presenting the game of Tic-Tac-Toe as an island divided into nine regions, but the middle one you cannot get to by boat, which is the way two teams arrive to the island. After playing the game once and realizing the game is really just Tic-Tac-Toe, the students understand the example is a representation with modified rules and game pieces. Then we talk about how the set of rules for a simple game like Tic-Tac-Toe is an algorithm with instructions for how to play the game, and we use playing the game to explain computation as the execution of an algorithm. Based on observations using analogies and active engagement in 6th grade classrooms, we provide many examples explaining how this curriculum initiative is an engaging, effective, and flexible approach for introducing CS concepts.
Autoencoders are powerful models for non-linear dimensionality reduction. However, their neural network structure makes it difficult to interpret how the high dimensional features relate to the lowdimensional embeddin...
详细信息
ISBN:
(数字)9783031295737
ISBN:
(纸本)9783031295720;9783031295737
Autoencoders are powerful models for non-linear dimensionality reduction. However, their neural network structure makes it difficult to interpret how the high dimensional features relate to the lowdimensional embedding, which is an issue in applications where explainability is important. There have been attempts to replace both the neural network components in autoencoders with interpretable genetic programming (GP) models. However, for the purposes of interpretable dimensionality reduction, we observe that replacing only the encoder with GP is sufficient. In this work, we propose the Genetic programming Encoder for Autoencoding (GPE-AE). GPE-AE uses a multi-tree GP individual as an encoder, while retaining the neural network decoder. We demonstrate that GPE-AE is a competitive non-linear dimensionality reduction technique compared to conventional autoencoders and a GP based method that does not use an autoencoder structure. As visualisation is a common goal for dimensionality reduction, we also evaluate the quality of visualisations produced by our method, and highlight the value of functional mappings by demonstrating insights that can be gained from interpreting the GP encoders.
Answer Set programming, or ASP for short, has become a popular and sophisticated approach to declarative problem solving. Its popularity is due to its attractive modeling-grounding-solving workflow that provides an ea...
详细信息
Answer Set programming, or ASP for short, has become a popular and sophisticated approach to declarative problem solving. Its popularity is due to its attractive modeling-grounding-solving workflow that provides an easy approach to problem solving, even for laypersons outside computerscience. However, in contrast to ASP's ease of use, the high degree of sophistication of the underlying technology makes it even hard for ASP experts to put ideas into practice whenever this involves modifying ASP's machinery. For addressing this issue, this tutorial aims at enabling users to build their own ASP-based systems. More precisely, we show how the ASP system clingo can be used for extending ASP and for implementing customized special-purpose systems. To this end, we propose two alternatives. We begin with a traditional AI technique and show how metaprogramming can be used for extending ASP. This is a rather light approach that relies on clingo's reification feature to use ASP itself for expressing new functionalities. The second part of this tutorial uses traditional programming (in Python) for manipulating clingo via its application programming interface. This approach allows for changing and controlling the entire model-ground-solve workflow of ASP. Central to this is clingo's new Application class that allows us to draw on clingo's infrastructure by customizing processes similar to the one in clingo. For instance, we may apply manipulations to programs' abstract syntax trees, control various forms of multi-shot solving, and set up theory propagators for foreign inferences. A cross-sectional structure, spanning meta as well as application programming, is clingo's intermediate format, aspif, that specifies the interface among the underlying grounder and solver. We illustrate the aforementioned concepts and techniques throughout this tutorial by means of examples and several nontrivial case studies. In particular, we show how clingo can be extended by difference constraints
The recombination operator plays an important role in many evolutionary algorithms. However, in Cartesian Genetic programming (CGP), which is part of the aforementioned category, the usefulness of crossover is contest...
详细信息
ISBN:
(纸本)9783031700545;9783031700552
The recombination operator plays an important role in many evolutionary algorithms. However, in Cartesian Genetic programming (CGP), which is part of the aforementioned category, the usefulness of crossover is contested. In this work, we investigate whether CGP's positional bias actually influences the usefulness of the crossover operator negatively. This bias describes a skewed distribution of CGP's active and inactive nodes, which might lead to destructive behaviours of standard recombination operators. We try to answer our hypothesis by employing one standard CGP implementation and one without the effects of positional bias. Both versions are combined with one of four standard crossover operators, or with no crossover operator. Additionally, two different selection methods are used to configure a CGP variant. We then analyse their performance and convergence behaviour on eight benchmarks taken from the Boolean and symbolic regression domain. By using Bayesian inference, we are able to rank them, and we found that positional bias does not influence CGP with crossover. Furthermore, we argue that the current research on CGP with standard crossover operators is incomplete, and CGP with recombination might not negatively impact its evolutionary search process. On the contrary, using CGP with crossover improves its performance.
programming instructors often conduct collaborative learning activities, like Peer Instruction, to foster a deeper understanding in students and enhance their engagement with learning. These activities, however, may n...
详细信息
Background Study: As interest in programming education continues to grow, more educators are incorporating programming into K-12 classrooms. There is evidence that programming can help develop essential skills for fut...
详细信息
Background Study: As interest in programming education continues to grow, more educators are incorporating programming into K-12 classrooms. There is evidence that programming can help develop essential skills for future societal advancement, known as 21st century skills. However, there has been limited research into which sub-skills of 21st century skills are fostered through programming and the effect sizes ***: This study presented a meta-analysis to comprehensively understand the influence of programming instruction in K-12 classrooms on the development of students' 21st century skills in different dimensions of sub-skills. And further analysed the impact of key elements of programming instruction design on its ***: A comprehensive meta-analysis was conducted, covering 74 empirical studies published between 2000 and 2023, involving 136 effect sizes, and moderation analyzes on variables of instructional ***: This study indicated that implementing programming instruction in K-12 schools can help develop students' multiple dimensions of 21st century skills, such as critical thinking, creativity, communication, collaboration, problem-solving and decision, learning to learn, ICT literacy, and personal and social responsibility. Overall, programming demonstrates a moderate but significant effect on improving 21st century skills (Hedges's g = 0.621, p = 0.000 < 0.01). Furthermore, several best practices were identified to enhance students' 21st century skills, including initiating programming education from kindergarten, limiting the duration of programming interventions to 6 months, adopting interdisciplinary approaches to programming education, utilizing visual programming tools, and selecting appropriate assessment ***: Based on these findings, this study recommended the thoughtful design of programming education to maximize its advantages in various dimensions of 21st century skills.
Learning programming requires practice. Timely feedback is one of the main drivers for learning and overcoming obstacles. In large lectures, however, social interactions and feedback are rather limited. Currently, the...
详细信息
ISBN:
(纸本)9783031426810;9783031426827
Learning programming requires practice. Timely feedback is one of the main drivers for learning and overcoming obstacles. In large lectures, however, social interactions and feedback are rather limited. Currently, there are no satisfactory ways for lecturers to detect and react on the most pressing issues directly in a lecture for various reasons such as students not daring to ask questions or too many erroneous submissions to inspect. This article proposes to combine Audience Response Systems and E-Assessment systems to tackle these issues. Within a lecture, students work on small programming assignments, upload their solutions, and then the lecturer can request a nearly instant overview of the correctness as well as the most common errors. This overview can help the lecturer to discuss different solutions strategies as well as the most common issues. Preliminary results of a case study with a prototype indicate that the approach is usable and formed useful clusters. Further development and research possibilities are outlined.
As the scale of universities continues to expand, the shortage of teaching resources and the need for personalized scheduling for teachers and students has become more pressing. This article addresses the problem of u...
详细信息
Live coding has gained its prominence in computerscience (CS) classrooms as it enhances learning experiences by providing realtime demonstrations of programming and debugging during lectures. However, live coding may...
详细信息
ISBN:
(纸本)9798400705328
Live coding has gained its prominence in computerscience (CS) classrooms as it enhances learning experiences by providing realtime demonstrations of programming and debugging during lectures. However, live coding may also present challenges to the effectiveness and inclusiveness of the classroom environment. This experience report presents the use of live coding in an introductory level CS course to better understand its impact on novice learners and their perceptions of the strategy. We conducted a between-subjects study at a public university in the United States across two course offerings. Specifically, the instructor taught the same course in two consecutive quarters: one with live coding and one without. Through assignment and exam scores, grades, and surveys, we compared data from students who experienced live coding with those who did not. We found that while live coding prompted engagement and interaction, and students believed that it helped them learn better, there was no statistically significant difference in course performance in terms of assignment and exam scores, nor in final grades. Additionally, most students prefer to keep live coding in lectures despite the challenges it presents. We also shared challenges, lessons, and practical instructional strategies learned from this experience, in the hope that they will contribute to developing more engaging and inclusive learning experiences in CS classrooms.
The trial-and-error process by which learners solve problems is crucial in programming exercises. However, in actual practice, potential impasse learners are sometimes left in a predicament in proceeding with the desi...
详细信息
ISBN:
(纸本)9783031363351;9783031363368
The trial-and-error process by which learners solve problems is crucial in programming exercises. However, in actual practice, potential impasse learners are sometimes left in a predicament in proceeding with the designated task, which results in these learners' disengagement. Recently, in addition to face-to-face, online and on-demand exercises are increasingly becoming common in combinations. It became challenging for teachers/TAs to observe learners' situations for their exercises in the classroom and/or outside the classroom. In this study, we propose a tutoring support system with learners' impasse detection, assuming that the system is commonly used for face-to-face, and on-demand programming exercises. We applied this system to a programming lecture/exercise. We discussed the practicality and challenges of the tutoring support system with impasse detection in direct and on-demand based on the results of learners' impasse conditions detected by the system.
暂无评论