The merged longest common increasing subsequence (MLCIS) problem represents a generalized variant by combining the merged longest common subsequence (merged LCS, MLCS) problem the longest increasing subsequence (LIS) ...
详细信息
The merged longest common increasing subsequence (MLCIS) problem represents a generalized variant by combining the merged longest common subsequence (merged LCS, MLCS) problem the longest increasing subsequence (LIS) problem. Given a pair of numeric sequences A and along with a target numeric sequence T, the MLCIS problem aims to identify the longest common subsequence that is increasing in both the merged sequence E(A, B) and the target sequence Here, E(A,B) represents a new sequence constructed from arbitrarily merging A and B maintaining their original orders. In this paper, we propose two algorithms for solving the MLCIS problem: dynamic programming and diagonal. The dynamic programming algorithm has a complexity of O(mnr), where m, n and r denote the lengths of sequences A, B and T, respectively. The time complexity of the diagonal algorithm is O((L+ 1)(r - L+ 1)(m+n)), where L denotes length of the MLCIS answer. In general, as the experimental results show, the diagonal algorithm is more efficient than the dynamic programming algorithm in practice. Furthermore, the diagonal algorithm is very efficient when L is either very small or L is close to r, which coincides with theoretical time complexity.
Block-based programming has been used as an introductory gateway to programming thanks to its simpler, visual approach for composing code. This work re-imagines this style of coding through the mobile-first framework ...
详细信息
ISBN:
(纸本)9798400706004
Block-based programming has been used as an introductory gateway to programming thanks to its simpler, visual approach for composing code. This work re-imagines this style of coding through the mobile-first framework DartBlock, which is intended to be integrated in a quiz application. It targets an older audience aiming to more quickly transition to the conventional programming language Java, by adopting a syntax visualization and interaction design inspired by integrated development environments. DartBlock focuses on teaching debugging through its included runtime which allows the execution of faulty code with descriptive exception throwing, as well as supporting automatic evaluation of programs given a sample solution to serve as feedback. To suit the smaller screen of mobile devices, the library relies on calculator-like visual editors for each primitive data type to facilitate the composition of complex boolean and numeric expressions without the need for textual input. Finally, we present preliminary student impressions of DartBlock from an initial use case study in a university class and provide organizational recommendations for introducing new frameworks to students.
There is a dearth of research on how mobile learning (m-learning) could help Saudi female students perform better in computerprogramming courses. This paper measures the educational experiences of Saudi female studen...
详细信息
We explore the evolving efficacy of three generative pre-trained transformer (GPT) models in generating answers for multiple-choice questions (MCQ) from introductory and intermediate Python programming courses in high...
详细信息
ISBN:
(数字)9783031536564
ISBN:
(纸本)9783031536557;9783031536564
We explore the evolving efficacy of three generative pre-trained transformer (GPT) models in generating answers for multiple-choice questions (MCQ) from introductory and intermediate Python programming courses in higher education. We focus on the differences in capabilities of the models prior to the release of ChatGPT (Nov '22), at the time of the release, and today (i.e., Aug '23). Recent studies have established that the abilities of the OpenAI's GPT models to handle assessments originally designed for humans keep increasing as the newer more capable models are released. However, the qualitative differences in the capabilities and limitations of these models to reason about and/or analyze programming MCQs have been under-explored. We evaluated three OpenAI's GPT models on formative and summative MCQ assessments from three Python courses (530 questions) focusing on the qualitative differences in the evolving efficacy of the subsequent models. This study provides further evidence and insight into the trajectory of the current developments where there already exists a technology that can be utilized by students to collect passing scores, with no effort whatsoever, on what today counts as viable programming knowledge and skills assessments. This study could be leveraged by educators and institutions to better understand the recent technological developments in order to adapt the design of programming assessments as well as to fuel the necessary discussions into how assessments in future programming classes should be updated.
It's concerning that in a country where the majority of the population comprises Black South Africans, they constitute the minority within the IT industry. Additionally, the issue of gender inequality persists in ...
详细信息
ISBN:
(纸本)9783031824777;9783031824784
It's concerning that in a country where the majority of the population comprises Black South Africans, they constitute the minority within the IT industry. Additionally, the issue of gender inequality persists in IT, with females remaining underrepresented both in IT classes and in the workplace. The aim of this study was to examine the impact that pair programming has on shaping the experiences and perceptions of underrepresented minority students in Information Technology (IT) in South Africa. The study included a total of 284 first-year students taking a User Interface programming module. The students were given the opportunity to pick a desired programming partner and for the duration of the semester, they programmed in pairs. At the end of the semester, the students completed a questionnaire. The findings suggested that the group of students had a positive experience with pair programming. However, the underrepresented minority students had an even more positive learning experience with pair programming. The female students (White and Black) and male Black students perceived pair programming in an exceedingly positive light, as it improved their overall programming skills and teamwork skills. It can be recommended that with timely training and adequate implementation of the pair programming principles, all students, but indeed more so the underrepresented minority students in a programming course can reap the benefits of the use of pair programming. This approach may attract and increase the retention rate of underrepresented groups in IT and encourage them to further pursue IT careers in South Africa.
Integrated computing curricula combine learning objectives in computing with those in another discipline, like literacy, math, or science, to give all students experience with computing, typically before they must dec...
详细信息
Integrated computing curricula combine learning objectives in computing with those in another discipline, like literacy, math, or science, to give all students experience with computing, typically before they must decide whether to take standalone CS courses. One goal of integrated computing curricula is to provide an accessible path to an introductory computing course by introducing computing concepts and practices in required courses. This study analyzed integrated computing curricula to determine which CS practices and concepts are taught, how extensively the curricula are taught, and, by extension, how they might prepare students for later computing courses. The authors conducted a content analysis to examine primary and lower secondary (i.e., K-8) curricula that are taught in non-CS classrooms, have explicit CS learning objectives (i.e., CS+X), and that took 5+ hours to complete. Lesson plans, descriptions, and resources were scored based on frameworks developed from the K-12 CS Framework, including programming concepts, non-programming CS concepts, and CS practices. The results found that curricula most extensively taught introductory concepts and practices, such as sequences, and rarely taught more advanced content, such as conditionals. Students who engage with most of these curricula would have no experience working with fundamental concepts, like variables, operators, data collection or storage, or abstraction in the context of a program. While this focus might be appropriate for integrated curricula, it has implications for the prior knowledge that students should be expected to have when starting standalone computing courses.
We present an empirical evaluation of immersion and self-avatars as compared to desktop viewing in Virtual Reality (VR) for learning computerprogramming and computational thinking in middle school education using an ...
详细信息
We present an empirical evaluation of immersion and self-avatars as compared to desktop viewing in Virtual Reality (VR) for learning computerprogramming and computational thinking in middle school education using an educational VR simulation. Students were asked to programmatically choreograph dance performances for virtual characters within an educational desktop application we built earlier called Virtual Environment Interactions (VEnvI). As part of a middle school science class, 90 students from the 6th and 7th grades participated in our study. All students first visually programmed dance choreography for a virtual character they created in VEnvI on a laptop. Then, they viewed and interacted with the resulting dance performance in a between-subjects design in one of the three conditions. We compared and contrasted the benefits of embodied immersive virtual reality (EVR) viewing utilizing a head-mounted display with a body-scaled and gender-matched self-avatar, immersive virtual reality only (IVR) viewing, and desktop VR (NVR) viewing with VEnvI on pedagogical outcomes, programming performance, presence, and attitudes towards STEM and computational thinking. Results from a cognition questionnaire showed that, in the learning dimensions of Knowledge and Understanding (Bloom's taxonomy) as well as Multistructural (SOLO taxonomy), participants in EVR and IVR scored significantly higher than NVR. Also, participants in EVR scored significantly higher than IVR. We also discovered similar results in objective programming performance and presence scores in VEnvI. Furthermore, students' attitudes towards computerscience, programming confidence, and impressions significantly improved to be the highest in EVR and then IVR as compared to NVR condition. Our work suggests that educators and developers of educational VR simulations, who want to enhance knowledge and understanding as well as simultaneous acquisition of multiple abstract concepts, can do so by employing immersio
Code quality is an important aspect of programming education, with duplicate code being a common issue. To help students learn to avoid code duplication, it is useful to provide them with actionable, specific feedback...
详细信息
ISBN:
(纸本)9798400705328
Code quality is an important aspect of programming education, with duplicate code being a common issue. To help students learn to avoid code duplication, it is useful to provide them with actionable, specific feedback, not just a generic code duplication warning. In this paper, we introduce the concept of diagnosable code duplication, provide an overview of its various types, and propose a framework for automatic detection. We apply the framework to an introductory programming dataset to demonstrate its ability to provide specific feedback and reveal non-trivial differences in detected cases compared to simpler detectors.
Working solutions to problems are not definitive end points. As a result, code that is technically correct can still be treated as needing revising - a practice in computerprogramming known as refactoring. We documen...
详细信息
Working solutions to problems are not definitive end points. As a result, code that is technically correct can still be treated as needing revising - a practice in computerprogramming known as refactoring. We document how late elementary to middle school students and their undergraduate instructors weigh the possibility of refactoring working code in an informal summer computerscience workshop. We examined a 20-min stretch of classroom activity in which multiple coding approaches were explicitly evaluated as alternative routes to the same code output. Our theoretical framework draws on the stance triangle, amplifying and attenuating inequity, and an extension of sociomathematical norms. Using the method of interaction analysis, we transcribed and analyzed stretches of talk, gesture, and action during whole class dicourse and small group interactions involving 4-6 students. We investigated how instructors and students introduced, characterized, applied, and contested sociocomputational norms through stancetaking in classroom discourse, which shaped whose voices contributed to the discussion and whose ideas were treated as impactful and praiseworthy in the classroom. Because it is within these discourse spaces that instructors and students interpret and reinterpret sociocomputational norms about what is valued in programming approaches, educational researchers and teachers might attend to these conversation dynamics as one route to fostering more supportive and inclusive learning spaces.
Introductory programming courses often require students to solve many small programming exercises as part of their learning. Researchers have previously suggested that the context used in the problem description for t...
详细信息
ISBN:
(纸本)9798400704239
Introductory programming courses often require students to solve many small programming exercises as part of their learning. Researchers have previously suggested that the context used in the problem description for these exercises is likely to impact student engagement and motivation. Furthermore, supplying programming exercises that use a broad range of contexts or even allowing students to select contexts to personalize their own exercises, may support the interests of a diverse student population. Unfortunately, it is time-consuming for instructors to create large numbers of programming exercises that provide a wide range of contextualized problems. However, recent work has shown that large language models may be able to automate the mass production of programming exercises, reducing the burden on instructors. In this research, we explore the potential of OpenAI's GPT-4 to create high-quality and novel programming exercises that implement various contexts. Finally, through prompt engineering, we compare different prompting strategies used to generate many programming exercises with various contextualized problem descriptions and then evaluate the quality of the exercises generated.
暂无评论