We argue that there is a link between implicit computational complexity theory and reversible computation. We introduce inherently reversible programming languages which capture the complexity classes ETImE and p. Fur...
详细信息
We argue that there is a link between implicit computational complexity theory and reversible computation. We introduce inherently reversible programming languages which capture the complexity classes ETImE and p. Furthermore, we discuss and analyze higher order versions of our reversible programming languages. (c) 2021 The Author(s). Published by Elsevier B.V. This is an open access article under the CC BY license (http://***/licenses/by/4.0/).
programming robots presents significant challenges, including high costs, extensive time commitments and steep learning curves, particularly for individuals lacking technical background in engineering. These barriers ...
详细信息
The semantics of programming languages is one of the core topics in computerscience. This topic is formalism-heavy and requires the student to attempt numerous proofs for a deep understanding. We argue that modern th...
详细信息
ISBN:
(纸本)9798350322590
The semantics of programming languages is one of the core topics in computerscience. This topic is formalism-heavy and requires the student to attempt numerous proofs for a deep understanding. We argue that modern theorem provers are excellent aids to teaching and understanding programming language semantics. As pen-and-paper proofs get automated via the theorem prover, it allows an experiment-driven strategy at exploring this topic. This article provides an encoding of the semantics of the WHILE language in the most popular styles-operational, denotational, and axiomatic-within the F* proof assistant. We show that once the program and its semantics are encoded, modern proof assistants can prove exciting language features with minimal human assistance. We believe that teaching programming languages via proof assistants will not only provide a more concrete understanding of this topic but also prepare future programming language researchers to use theorem provers as fundamental tools in their research and not as an afterthought.
Learning new programming skills requires tailored guidance. With the emergence of advanced Natural Language Generation models like the ChatGPT API, there is now a possibility of creating a convenient and personalized ...
详细信息
ISBN:
(纸本)9783031363351;9783031363368
Learning new programming skills requires tailored guidance. With the emergence of advanced Natural Language Generation models like the ChatGPT API, there is now a possibility of creating a convenient and personalized tutoring system with AI for computerscience education. This paper presents GPTutor, a ChatGPT-powered programming tool, which is a Visual Studio Code extension using the ChatGPTAPI to provide programming code explanations. By integrating Visual Studio Code API, GPTutor can comprehensively analyze the provided code by referencing the relevant source codes. As a result, GPTutor can use designed prompts to explain the selected code with a pop-up message. GPTutor is now published at the Visual Studio Code Extension Marketplace, and its source code is openly accessible on GitHub. Preliminary evaluation indicates that GPTutor delivers the most concise and accurate explanations compared to vanilla ChatGPT and GitHub Copilot. Moreover, the feedback from students and teachers indicated that GPTutor is user-friendly and can explain given codes satisfactorily. Finally, we discuss possible future research directions for GPTutor. This includes enhancing its performance and personalization via further prompt programming, as well as evaluating the effectiveness of GPTutor with real users.
Automated programming assignment grading tools have become integral to CS courses at introductory as well as advanced levels. However such tools have their own custom approaches to setting up assignments and describin...
详细信息
ISBN:
(纸本)9781450394314
Automated programming assignment grading tools have become integral to CS courses at introductory as well as advanced levels. However such tools have their own custom approaches to setting up assignments and describing how solutions should be tested, requiring instructors to make a significant learning investment to begin using a new tool. In addition, differences between tools mean that initial investment must be repeated when switching tools or adding a new one. Worse still, tool-specific strategies further reduce the ability of educators to share and reuse their assignments. This paper describes an early experiences with PEML, the programming Exercise Markup Language, which provides an easy to use, instructor friendly approach for writing programming assignments. Unlike tool-oriented data interchange formats, PEML is designed to provide a human friendly authoring format that has been developed to be intuitive, expressive and not be a technological or notational barrier to instructors. We describe the design and implementation of PEML, both as a programming library and also a public-access web microservice that provides full parsing and rendering capabilities for easy integration into any tools or scripting libraries. We also describe experiences using PEML to describe a full range of programming assignments, laboratory exercises, and small coding questions of varying complexity in demonstrating the practicality of the notation. The aim is to develop PEML as a community resource to reduce the barriers to entry for automated assignment tools while widening the scope of programming assignment sharing and reuse across courses and institutions.
This work reports the experience of integrating aspects of innovation and entrepreneurship in introductory programming courses (IPC) in a Brazilian context. This action research involves 53 students enrolled in basic ...
详细信息
ISBN:
(数字)9783031533822
ISBN:
(纸本)9783031533815;9783031533822
This work reports the experience of integrating aspects of innovation and entrepreneurship in introductory programming courses (IPC) in a Brazilian context. This action research involves 53 students enrolled in basic and advanced IPCs in a computerscience program at the Federal University of Jatai, Brazil, in 2022. From the concepts in the room/laboratory, the students collaborated to co-create a computational solution that impacts society. As results were achieved, it is possible to mention that students had experiences promoting soft skills development.
The sustainable management of smart environments enabled by the Internet of Things (IoT) requires new methodologies and tools to suitably handle potentially many users and their objectives on cyber-physical systems, e...
详细信息
The sustainable management of smart environments enabled by the Internet of Things (IoT) requires new methodologies and tools to suitably handle potentially many users and their objectives on cyber-physical systems, e.g. smart lighting, smart A/C. In this article, we propose a declarative framework to model IoT-enabled smart environments. Our methodology permits (i) expressing user roles and hierarchical environments, (ii) declaring customized policies to mediate user objectives into a target state and (iii) determining valid settings for IoT actuators to achieve such a target also reducing energy consumption. An open-source Prolog prototype of the framework is showcased over two lifelike motivating examples and its scalability is assessed at increasing sizes of the managed smart environment.
Open educational resources (OERs) can provide useful online materials to facilitate teaching and learning. It is desirable to provide a focused list for the global computing education community. In this short paper, w...
详细信息
ISBN:
(纸本)9798350376975;9798350376968
Open educational resources (OERs) can provide useful online materials to facilitate teaching and learning. It is desirable to provide a focused list for the global computing education community. In this short paper, we present the top 10 computerscience OERs based on voting, as organized by the MERLOT computerscience Editorial Board. These OERs cover various important computing topics, including general computing topics, programming, algorithms, machine learning etc. They provide good references for instructors to complement their lectures and strengthen student computing backgrounds.
In Non-Geostationary Orbit Satellite Networks (NGOSNs) with a large number of battery-carrying satellites, proper power allocation and task scheduling are crucial to improving data offloading efficiency. In this work,...
详细信息
Variational Quantum Algorithms are hybrid classical-quantum algorithms where classical and quantum computation work in tandem to solve computational problems. These algorithms create interesting challenges for the des...
详细信息
ISBN:
(数字)9783031300448
ISBN:
(纸本)9783031300431;9783031300448
Variational Quantum Algorithms are hybrid classical-quantum algorithms where classical and quantum computation work in tandem to solve computational problems. These algorithms create interesting challenges for the design of suitable programming languages. In this paper we introduce Qimaera, which is a set of libraries for the Idris 2 programming language that enable the programmer to implement hybrid classical-quantum algorithms where the full power of the elegant Idris language works in synchrony with quantum programming primitives. The two key ingredients of Idris that make this possible are (1) dependent types which allow us to implement unitary quantum operations;and (2) linearity which allows us to enforce fine-grained control over the execution of quantum operations so that we may detect and reject many physically inadmissible programs. We also show that Qimaera is suitable for variational quantum programming by providing implementations of two prominent variational quantum algorithms - QAOA and VQE.
暂无评论