291 research outputs found
Математичне моделювання процесу вироблення електроенергії газотурбінними електростанціями
Наведені результати дослідження процесів вироблення електроенергії автономними газотурбінними електростанціями, з використанням обґрунтованої математичної моделі лінійних випадкових процесів, а також результати статистичної обробки реалізацій вироблення електроенергії.The results of investigations of self-power generation gas turbine power plants, using reasonable mathematical model of linear random processes with discrete time and the results of statistical processing implementations generate electricity
Next-Step Hint Generation for Introductory Programming Using Large Language Models
Large Language Models possess skills such as answering questions, writing
essays or solving programming exercises. Since these models are easily
accessible, researchers have investigated their capabilities and risks for
programming education. This work explores how LLMs can contribute to
programming education by supporting students with automated next-step hints. We
investigate prompt practices that lead to effective next-step hints and use
these insights to build our StAP-tutor. We evaluate this tutor by conducting an
experiment with students, and performing expert assessments. Our findings show
that most LLM-generated feedback messages describe one specific next step and
are personalised to the student's code and approach. However, the hints may
contain misleading information and lack sufficient detail when students
approach the end of the assignment. This work demonstrates the potential for
LLM-generated feedback, but further research is required to explore its
practical implementation.Comment: Accepted to ACE 202
What Skills Do You Need When Developing Software Using ChatGPT? (Discussion Paper)
Since the release of LLM-based tools such as GitHub Copilot and ChatGPT the
media and popular scientific literature, but also journals such as the
Communications of the ACM, have been flooded with opinions how these tools will
change programming. The opinions range from ``machines will program
themselves'', to ``AI does not help programmers''. Of course, these statements
are meant to to stir up a discussion, and should be taken with a grain of salt,
but we argue that such unfounded statements are potentially harmful. Instead,
we propose to investigate which skills are required to develop software using
LLM-based tools.
In this paper we report on an experiment in which we explore if Computational
Thinking (CT) skills predict the ability to develop software using LLM-based
tools. Our results show that the ability to develop software using LLM-based
tools can indeed be predicted by the score on a CT assessment. There are many
limitations to our experiment, and this paper is also a call to discuss how to
approach, preferably experimentally, the question of which skills are required
to develop software using LLM-based tools. We propose to rephrase this question
to include by what kind of people/programmers, to develop what kind of software
using what kind of LLM-based tools.Comment: 11 page
A Systematic Mapping Study of Code Quality in Education -- with Complete Bibliography
While functionality and correctness of code has traditionally been the main
focus of computing educators, quality aspects of code are getting increasingly
more attention. High-quality code contributes to the maintainability of
software systems, and should therefore be a central aspect of computing
education. We have conducted a systematic mapping study to give a broad
overview of the research conducted in the field of code quality in an
educational context. The study investigates paper characteristics, topics,
research methods, and the targeted programming languages. We found 195
publications (1976-2022) on the topic in multiple databases, which we
systematically coded to answer the research questions. This paper reports on
the results and identifies developments, trends, and new opportunities for
research in the field of code quality in computing education
Teaching functional patterns through robotic applications
We present our approach to teaching functional programming to First Year Computer Science stu- dents at Middlesex University through projects in robotics. A holistic approach is taken to the cur- riculum, emphasising the connections between different subject areas. A key part of the students’ learning is through practical projects that draw upon and integrate the taught material. To support these, we developed the Middlesex Robotic plaTfOrm (MIRTO), an open-source platform built using Raspberry Pi, Arduino, HUB-ee wheels and running Racket (a LISP dialect). In this paper we present the motivations for our choices and explain how a number of concepts of functional programming may be employed when programming robotic applications. We present some students’ work with robotics projects: we consider the use of robotics projects to have been a success, both for their value in reinforcing students’ understanding of programming concepts and for their value in motivating the students
Providing Hints, Next Steps and Feedback in a Tutoring System for Structural Induction
Structural induction is a proof technique that is widely used to prove
statements about discrete structures. Students find it hard to construct
inductive proofs, and when learning to construct such proofs, receiving
feedback is important. In this paper we discuss the design of a tutoring
system, LogInd, that helps students with constructing stepwise inductive proofs
by providing hints, next steps and feedback. As far as we know, this is the
first tutoring system for structural induction with this functionality. We
explain how we use a strategy to construct proofs for a restricted class of
problems. This strategy can also be used to complete partial student solutions,
and hence to provide hints or next steps. We use constraints to provide
feedback. A pilot evaluation with a small group of students shows that LogInd
indeed can give hints and next steps in almost all cases.Comment: In Proceedings ThEdu'19, arXiv:2002.1189
Constructing functional programs for grammar analysis problems
Abstract This paper discusses the derivation of functional programs for grammar analysis problems, such as the EMPTY problem and the REACH-ABLE problem. Grammar analysis problems can be divided into two classes: top-down problems such as FOLLOW and REACH-ABLE, which are described in terms of the contexts of nonterminals, and bottom-up problems such as EMPTY and FIRST, which do not refer to contexts. In a previous paper we derive a program for bottom-up grammar analysis problems. In this paper we derive a program for top-down grammar analysis problems by transforming the specification of an arbitrary top-down problem into a program. The existence of a solution is guaranteed provided some natural conditions are satisfied. Furthermore, we describe a general transformation that applies to both classes of grammar analysis problems. The result of this transformation is a program that avoids unnecessary computations in the computation of a fixed point. Constructor classes, which are used to abstract from the notions bottom-up and top-down, are an essential ingredient of the latter derivation
- …
