As computers became multi-component systems in the 1950s, handling the speed differentials efficiently was identified as a major challenge. The desire for better understanding and control of 'concurrency' spre...
详细信息
As computers became multi-component systems in the 1950s, handling the speed differentials efficiently was identified as a major challenge. The desire for better understanding and control of 'concurrency' spread into hardware, software, and formalism. This paper examines the way in which the problem emerged and was handled across various computing cultures from 1955 to 1985. In the machinic culture of the late 1950s, system programs called 'monitors' were used for directly managing synchronisation. Attempts to reframe synchronisation in the subsequent algorithmic culture pushed the problem to a higher level of abstraction;Dijkstra's semaphores were a reaction to the algorithms' complexity. Towards the end of the 1960s, the culture of 'structured programming' created a milieu in which Dijkstra, Hoare, and Brinch Hansen (among others) aimed for a concurrency primitive which embodied the new view of programming. Via conditional critical regions and Dijkstra's 'secretaries', the co-produced 'monitor' appeared to provide the desired encapsulation. The construct received embodiment in a few programming languages;this paper ends by considering Modula and Concurrent Pascal.
More students are encountering computerscience at multiple grade levels and so are learning more than one programming language. There is an ever-growing body of research describing how students transfer knowledge fro...
详细信息
In college-level introductory computerscience courses, the programming ability of students is often evaluated using pseudocode responses to prompts. However, this does not necessarily reflect modern programming pract...
详细信息
ISBN:
(纸本)9798400701382
In college-level introductory computerscience courses, the programming ability of students is often evaluated using pseudocode responses to prompts. However, this does not necessarily reflect modern programming practice in industry and academia, where developers have access to compilers to test snippets of code on-the-fly. As a result, use of pseudocode prompts may not capture the full gamut of student capabilities due to lack of support tools usually available when writing programs. An assessment environment where students could write, compile, and run code could provide a more comfortable and familiar experience for students that more accurately captures their abilities. Prior work has found improvement in student performance when digital assessments are used instead of paper-based assessments for pseudocode prompts, but there is limited work focusing on the difference between digital pseudocode and compile-and-run assessment prompts. To investigate the impact of the assessment approach on student experience and performance, we conducted a study at a public university across two introductory programming classes (N=226). We found that students both preferred and performed better on typical programming assessment questions when they utilized a compile-and-run environment compared to a pseudocode environment. Our work suggests that compile-and-run assessments capture more nuanced evaluation of student ability by more closely reflecting the environments of programming practice and supports further work to explore administration of programming assessments.
Recent advances in AI, machine learning, and NLP have led to the development of a new generation of Large Language Models (LLMs) that are trained on massive amounts of data and often have trillions of parameters. Comm...
详细信息
ISBN:
(数字)9783031627002
ISBN:
(纸本)9783031626999;9783031627002
Recent advances in AI, machine learning, and NLP have led to the development of a new generation of Large Language Models (LLMs) that are trained on massive amounts of data and often have trillions of parameters. Commercial applications (e.g., ChatGPT) have made this technology available to the general public, thus making it possible to use LLMs to produce high-quality texts for academic and professional purposes. Schools and universities are aware of the increasing use of AI-generated content by students and they have been researching the impact of this new technology and its potential misuse. Educational programs in computerscience (CS) and related fields are particularly affected because LLMs are also capable of generating programming code in various programming languages. To help understand the potential impact of publicly available LLMs in CS education, we introduce CSEPrompts (https://***/mraihan-gmu/CSEPrompts), a framework with hundreds of programming exercise prompts and multiple-choice questions retrieved from introductory CS and programming courses. We also provide experimental results on CSEPrompts to evaluate the performance of several LLMs with respect to generating Python code and answering basic computerscience and programming questions.
There have been attempts to connect machine learning and symbolic reasoning, providing interfaces between them. This work focuses on our original approach to integrate machine learning and symbolic reasoning, in the c...
详细信息
ISBN:
(纸本)9789819722990;9789819723003
There have been attempts to connect machine learning and symbolic reasoning, providing interfaces between them. This work focuses on our original approach to integrate machine learning and symbolic reasoning, in the context of algebraic approaches to logic programming. We here realize logical reasoning using algebraic methods, in which algebraic data structures such as matrices and tensors are used to represent logical formulas. These reasoning methods are robust against noise, while allowing for high parallelism and scalable computation. Algebraic logic programming has been applied to fixponit computation, abduction, answer set programming and inductive logic programming.
The recent emergence of LLM-based code generation models can potentially transform programming education. To pinpoint the current state of research on using LLM-based code generators to support the teaching and learni...
详细信息
ISBN:
(纸本)9798400704239
The recent emergence of LLM-based code generation models can potentially transform programming education. To pinpoint the current state of research on using LLM-based code generators to support the teaching and learning of programming, we conducted a systematic literature review of 21 papers published since 2018. The review focuses on (1) the teaching and learning practices in programming education that utilized LLM-based code generation models, (2) characteristics and (3) performance indicators of the models, and (4) aspects to consider when utilizing the models in programming education, including the risks and challenges. We found that the most commonly reported uses of LLM-based code generation models for teachers are generating assignments and evaluating student work, while for students, the models function as virtual tutors. We identified that the models exhibit accuracy limitations;generated content often contains minor errors that are manageable by instructors but pose risks for novice learners. Moreover, risks such as academic misconduct and over-reliance on the models are critical when considering integrating these models into education. Overall, LLM-based code generation models can be an assistive tool for both learners and instructors if the risks are mitigated.
Nowadays, educators face the challenge of students developing their own work and acquiring problem-solving skills, especially with the widespread use of AI tools. This includes issues like excessive dependence on AI, ...
详细信息
ISBN:
(纸本)9798400706035
Nowadays, educators face the challenge of students developing their own work and acquiring problem-solving skills, especially with the widespread use of AI tools. This includes issues like excessive dependence on AI, creativity stagnation, and prioritizing comprehension over rote learning, all while navigating ethical concerns in academic submissions. Higher education in computerscience encounters difficulties as traditional methods become less relevant for new generations (e.g., early college students taking dual enrollment courses) and emerging computerscience programs such as CS + X, data science/analytics, and cybersecurity. Some computerscience programs integrate labs into lectures, while others keep them as a separate course component. The modalities and resources in higher education vary, including teacher assistance, Peer-Led Team Learning (PLTL) with tutors, and more, e.g., see: [4]. In addition, some nations find themselves in the position of needing to provide professional development for new computerscience teachers. These educators may not have a background in computerscience but instead, come from fields related to education or STEM. They require training to effectively teach the material or, at the very least, a guide on what to teach. To address this, there is a need for a guided inquiry learning tool to help disseminate course material. The workbook tool we introduce is designed for the first year on computerscience courses such as CS 1 and CS 2, allowing students to work independently or in teams guided by multimedia access through a QR code. Each activity is structured to align with the topics outlined in the CS2023 [2] knowledge areas while also incorporating Bloom's for Computing verbs [1].
We explored how undergraduate introductory programming students naturalistically used generative AI to solve programming problems. We focused on the relationship between their use of AI to their self-regulation strate...
详细信息
ISBN:
(纸本)9798400706004
We explored how undergraduate introductory programming students naturalistically used generative AI to solve programming problems. We focused on the relationship between their use of AI to their self-regulation strategies, self-efficacy, and fear of failure in programming. In this repeated-measures, mixed-methods research, we examined students' patterns of using generative AI with qualitative student reflections and their self-regulation, self-efficacy, and fear of failure with quantitative instruments at multiple times throughout the semester. We also explored the relationships among these variables to learner characteristics, perceived usefulness of AI, and performance. Overall, our results suggest that student factors affect their baseline use of AI. In particular, students with higher self-efficacy, lower fear of failure, or higher prior grades tended to use AI less or later in the problem-solving process and rated it as less useful than others. Interestingly, we found no relationship between students' self-regulation strategies and their use of AI. Students who used AI less or later in problem-solving also had higher grades in the course, but this is most likely due to prior characteristics as our data do not suggest that this is a causal relationship.
Probability theory has extensive applications across various domains, such as statistics, computerscience, and finance. In probability education, students are introduced to fundamental principles which may include ma...
详细信息
Probability theory has extensive applications across various domains, such as statistics, computerscience, and finance. In probability education, students are introduced to fundamental principles which may include mathematical topics such as combinatorics and symmetric sample spaces. Students pursuing degrees in computerscience possess a robust foundation in programming, software engineering, and algorithmic thinking. Despite entering probability courses with a unique perspective and learning potential, these students encounter challenges in grasping combinatorial concepts. In this experiment, we challenged first-year postsecondary computerscience students to program a simulation of a practical combinatorics problem. Students commented on whether and how this task helped them internalize the basic concepts of combinatorics. We aim to show how utilizing programming tasks may empower students with a deeper grasp of combinatorics.
暂无评论