programming novices often struggle when solving exercises, slowing down progress and causing a dependency on external aid such as a teacher, a more experienced person, or online resources. We present Jinter1, a tool t...
详细信息
ISBN:
(纸本)9798400701382
programming novices often struggle when solving exercises, slowing down progress and causing a dependency on external aid such as a teacher, a more experienced person, or online resources. We present Jinter1, a tool to generate hints to solve small exercises involving Java methods. The hints are produced taking into account the current state of an exercise and a backing model solution. The aid may refer to spotting errors or missing parts to achieve the desired outcome while taking into account behavioral equivalences of programming constructs (e.g., loop structures, forms of assignment, boolean expressions, etc). We evaluated the approach by surveying 8 programming instructors, finding that about two-thirds of the automated hints either match or are related to those given by instructors.
Themulti-skill resource-constrained project scheduling problem(MS-RCPSP)is a significantmanagement science problem that extends from the resource-constrained project scheduling problem(RCPSP)and is integrated with a r...
详细信息
Themulti-skill resource-constrained project scheduling problem(MS-RCPSP)is a significantmanagement science problem that extends from the resource-constrained project scheduling problem(RCPSP)and is integrated with a real project and production *** solve MS-RCPSP,it is an efficient method to use dispatching rules combined with a parallel scheduling mechanism to generate a scheduling *** paper proposes an improved gene expression programming(IGEP)approach to explore newly dispatching rules that can broadly solve MS-RCPSP.A new backward traversal decoding mechanism,and several neighborhood operators are applied in *** backward traversal decoding mechanism dramatically reduces the space complexity in the decoding process,and improves the algorithm’s *** neighborhood operators improve the exploration of the potential search *** experiment takes the intelligent multi-objective project scheduling environment(iMOPSE)benchmark dataset as the training set and testing set of *** newly dispatching rules are discovered and extracted by IGEP,and eight out of ten are superior to other typical dispatching rules.
Background and ContextProductive failure (PF) is a learning paradigm that flips the order of instruction: students work on a problem, then receive a lesson. PF increases learning, but less is known about student emoti...
详细信息
Background and ContextProductive failure (PF) is a learning paradigm that flips the order of instruction: students work on a problem, then receive a lesson. PF increases learning, but less is known about student emotions and collaboration during PF, particularly in a computerscience *** provide insight on students' emotions and reasoning during PF activities and their relation to *** conducted a PF study (N = 48) with a programming problem. We used a mixed-methods approach to analyze students' emotions, reasoning, and pretest/posttest performance. FindingsUncertainty occurred frequently compared to confusion, frustration, and positive affect. The constructive contributions made during problem solving correlated positively with posttest *** students failed to produce a correct solution, there were few instances of frustration and a promising amount of constructive reasoning during collaboration. This, coupled with prior work showing that PF improves learning over standard instruction, indicates that PF is a promising approach for computerscience education.
Introducing computational thinking in primary school curricula implies that teachers have to prepare appropriate lesson material. Typically this includes creating programming tasks, which may overwhelm primary school ...
详细信息
ISBN:
(纸本)9798400701382
Introducing computational thinking in primary school curricula implies that teachers have to prepare appropriate lesson material. Typically this includes creating programming tasks, which may overwhelm primary school teachers with lacking programming subject knowledge. Inadequate resulting example code may negatively affect learning, and students might adopt bad programming habits or misconceptions. To avoid this problem, automated program analysis tools have the potential to help scaffolding task creation processes. For example, static program analysis tools can automatically detect both good and bad code patterns, and provide hints on improving the code. To explore how teachers generally proceed when creating programming tasks, whether tool support can help, and how it is perceived by teachers, we performed a pre-study with 26 and a main study with 59 teachers in training and the LitterBox static analysis tool for Scratch. We find that teachers in training (1) often start with brainstorming thematic ideas rather than setting learning objectives, (2) write code before the task text, (3) give more hints in their task texts and create fewer bugs when supported by LitterBox, and (4) mention both positive aspects of the tool and suggestions for improvement. These findings provide an improved understanding of how to inform teacher training with respect to support needed by teachers when creating programming tasks.
A concurrent computing course is filled with challenges for upperlevel programming students. Understanding concurrency provides deeper insight into many modern computing and programming language behaviors, but the sub...
详细信息
ISBN:
(纸本)9798400701382
A concurrent computing course is filled with challenges for upperlevel programming students. Understanding concurrency provides deeper insight into many modern computing and programming language behaviors, but the subject matter can be difficult even for relatively proficient students. It can be a challenge to help students navigate and understand these unfamiliar topics. While there is a difference in general programming familiarity, teaching this novel material is not unlike some challenges faced when engaging introductory students with first programming concepts. In this work, we explore the use of analogy by students while learning a novel programming methodology. We investigate perceptions of the utility of analogy and creation of analogies in the concurrent course. We also examine perceptions of analogy value across students' computing education and factors which impacted their use or disuse of provided or student-generated analogies. This exploration suggests that pedagogical analogy design can be memorable and significant for student understanding. It further suggests that analogies inherent in concept naming and foundational examples may have even greater salience. While not all students create analogies, those that do share both unique examples and additions to existing examples that helped them understand core concepts. Students had mixed responses on whether analogy as a tool was used in their lower-level courses. Despite this, most found analogies to be useful, with a majority finding them even more useful in upper-level programming courses.
It is important to introduce computerprogramming concepts to K-12 students in preparation and motivation for college-level programming courses. Furthermore, generalization and abstraction are skills needed in compute...
详细信息
ISBN:
(纸本)9781450399210
It is important to introduce computerprogramming concepts to K-12 students in preparation and motivation for college-level programming courses. Furthermore, generalization and abstraction are skills needed in computerscience and other STEM majors. The Collaborative Partnership to teach mathematical Reasoning through computerprogramming (CPR2) Instructional Model (IM) was developed to use Python programming as a vehicle for explicit instruction in mathematical generalization and abstraction. Students are introduced to programming for the purpose of exploring mathematical concepts. They write code embedded with mathematical general expressions, observe the behavior of those expressions at scale in the execution of their programs, make conjectures about emerging patterns, and write convincing arguments to support these conjectures. During a two-week summer institute in 2020, middle school math teachers participated in professional development using the CPR2 instructional model. Teachers were provided with an introduction to programming and then shown how to apply the instructional model to math concepts while addressing computerscience and math standards in the process. During the following fall and spring, the CPR2-trained teachers piloted lessons using Python programming to explore math concepts in their own classrooms. In this paper, details about the instructional model, the collaborative design research process used to refine professional development sessions, the key role of experienced teacher mentors in supporting new participants, and the incorporation of programming into the teachers' math classrooms are detailed. The results of design sessions and the pilot implementation are also discussed.
This paper introduces a teaching process to develop students’ problem-solving and programming efficacy in an introductory computerprogramming course. The proposed teaching practice provides step-by-step guidelines o...
详细信息
Twine is an open-source tool for creating interactive, nonlinear stories. Minimal programming experience is required for users to create a Twine story, but advanced programmers can extend a Twine story with conditiona...
详细信息
ISBN:
(纸本)9781450394314
Twine is an open-source tool for creating interactive, nonlinear stories. Minimal programming experience is required for users to create a Twine story, but advanced programmers can extend a Twine story with conditional logic, variables, CSS, and JavaScript. Its accessibility has led to it being used as an educational tool, but it does not offer a native way for multiple users to collaborate on the same story. Students working on a single story are limited to sharing a computer or sending a file back and forth with each other. Prior research on pair programming with younger K-5 students have suggested that single-computer pair programming, where one person is actively using the computer at a given time, may not be the most productive method of collaboration. We developed Intertwined, a modified Twine that enables real-time collaboration between multiple users on the same story. This experience report details the use of Intertwined in a two-day programming camp with kids aged 8-15, where participants collaborated on a Twine story using both a single-computer pair programming method and a multi-computer pair-programming method where each camper was given their own computer. Our observations and survey results found that campers largely favored multi-computer pair programming. Campers had increased efficiency and fewer instances of interpersonal conflict when working on their own computers. Effective collaborativework relies not only on the appropriate method of collaboration but the appropriate tool and activity for collaboration, and real-time collaborative work using interactive stories should be given consideration as an effective learning method.
Cross-sectional trading strategies involves constructing portfolios by comparing expected performance of assets within a group, typically using predicted returns. In this study, we frame the estimation of cross-sectio...
详细信息
There is an artificial intelligence-based technology that has the potential to augment the work of human programmers. This article discusses some capabilities built around generative artificial intelligence and large ...
详细信息
There is an artificial intelligence-based technology that has the potential to augment the work of human programmers. This article discusses some capabilities built around generative artificial intelligence and large language models that impact programming education.
暂无评论