Programming style ≈ Programming style
View article: PyTorch: An Imperative Style, High-Performance Deep Learning Library
PyTorch: An Imperative Style, High-Performance Deep Learning Library Open
Deep learning frameworks have often focused on either usability or speed, but not both. PyTorch is a machine learning library that shows that these two goals are in fact compatible: it provides an imperative and Pythonic programming style …
View article
An Exploration of the Role of Visual Programming Tools in the Development of Young Children’s Computational Thinking Open
Programming tools are being used in education to teach computer science to children as young as 5 years old. This research aims to explore young children’s approaches to programming in two tools with contrasting programming interfaces, Scr…
View article
Liberating effects with rows and handlers Open
Algebraic effects and effect handlers provide a modular abstraction for effectful programming. They support user-defined effects, as in Haskell, in conjunction with direct-style effectful programming, as in ML. They also present a structur…
View article
GTPack: A Mathematica Group Theory Package for Application in Solid-State Physics and Photonics Open
We present the Mathematica group theory package GTPack providing about 200 additional modules to the standard Mathematica language. The content ranges from basic group theory and representation theory to more applied methods like crystal f…
View article
Debugging data flows in reactive programs Open
Reactive Programming is a way of programming designed to provide developers with the right abstractions for creating systems that use streams of data. Traditional debug tools lack support for the abstractions provided, causing developers t…
View article
HOBiT: Programming Lenses Without Using Lens Combinators Open
We propose HOBiT, a higher-order bidirectional programming language, in which users can write bidirectional programs in the familiar style of conventional functional programming, while enjoying the full expressiveness of lenses. A bidirect…
View article
A BSPlib-style API for Bulk Synchronous Parallel ML Open
International audience
View article
Refining ChatGPT-Generated Code: Characterizing and Mitigating Code Quality Issues Open
We systematically study the quality of 4,066 ChatGPT-generated code implemented in two popular programming languages, i.e., Java and Python, for 2,033 programming tasks. The goal of this work is three folds. First, we analyze the correctne…
View article
PROGRAMMING STYLE ON SOURCE CODE PLAGIARISM AND COLLUSION DETECTION Open
This paper utilises programming style on a source code plagiarism and collusion detection to both capture obvious attempts of such academic dishonesty (which characteristics are ignored on most detection techniques) and prioritise non-coin…
View article
Portable C++ Code that can Look and Feel Like Fortran Code with Yet Another Kernel Launcher (YAKL) Open
This paper introduces the Yet Another Kernel Launcher (YAKL) C++ portability library, which strives to enable user-level code with the look and feel of Fortran code. The intended audience includes both C++ developers and Fortran developers…
View article
Eastwood-Tidy: C Linting for Automated Code Style Assessment in Programming Courses Open
Computer Science students receive significant instruction towards writing functioning code that correctly satisfies requirements. Auto-graders have been shown effective at scalably running student code and determining whether the code corr…
View article
Alpinist: An Annotation-Aware GPU Program Optimizer Open
GPU programs are widely used in industry. To obtain the best performance, a typical development process involves the manual or semi-automatic application of optimizations prior to compiling the code. To avoid the introduction of errors, we…
View article
Applicative bidirectional programming Open
A bidirectional transformation is a pair of mappings between source and view data objects, one in each direction. When the view is modified, the source is updated accordingly with respect to some laws. One way to reduce the development and…
View article
Persistent Memory Programming on Conventional Hardware Open
Driven by the advent of byte-addressable non-volatile memory, the persistent memory style of programming will gain traction among developers, taking its rightful place alongside existing paradigms for managing persistent application state.…
View article
FRP IoT modules as a Scala DSL Open
© 2017 Association for Computing Machinery. With Internet of Things applications growing in size and popularity, physical sensor networks are more often running multiple complex applications. It becomes increasingly important to maintain t…
View article
Implementing Micro Frontends Using Signal-based Web Components Open
Micro frontends are an emerging architectural style that involves combining independently created frontend applications to develop a larger application. In JavaScript, the high modularity required for micro frontends can be achieved using …
View article
iamxt: Max-tree toolbox for image processing and analysis Open
The iamxt is an array-based max-tree toolbox implemented in Python using the NumPy library for array processing. It has state of the art methods for building and processing the max-tree, and a large set of visualization tools that allow to…
View article
Programming Your GPU with OpenMP Open
The essential guide for writing portable, parallel programs for GPUs using the OpenMP programming model. Today's computers are complex, multi-architecture systems: multiple cores in a shared address space, graphics processing units (GPUs),…
View article
Execution Traces as a Powerful Data Representation for Intelligent Tutoring Systems for Programming Open
The first intelligent tutoring systems for computer programming have been proposed more than 30 years ago, mostly focusing on well defined programming tasks e.g. in the context of logic programming. Recent systems also teach complex progra…
View article
Verification of TRANSPORT Simulation Environment coupling with PHREEQC for reactive transport modelling Open
Many types of geologic subsurface utilisation are associated with fluid and heat flow as well as simultaneously occurring chemical reactions. For that reason, reactive transport models are required to understand and reproduce the governing…
View article
Tierless Web Programming in the Large Open
Tierless Web programming languages allow combining client-side and server-side programming in a single program. This allows defining expressions with both client and server parts, and at the same time provides good static guarantees regard…
View article
Visualization of program development process Open
The aim of this paper is to improve the process of program development using high-level languages. The practical application in programming training is expected, especially at early stages. The teacher gets an opportunity of visual monitor…
View article
Columnar data processing for HEP analysis Open
In the last stages of data analysis, physicists are often forced to choose between simplicity and execution speed. In High Energy Physics (HEP), high-level languages like Python are known for ease of use but also very slow execution. Howev…
View article
Aesthetics Versus Readability of Source Code Open
The relationship between programming style and program readability has never been examined empirically, although the association has substantial importance for both pedagogical and industry best practices. This paper studies a fractal, rel…
View article
Towards a Type System for R Open
R is a fascinating language: It is dynamically typed, vectorized, both lazy and side-effecting, and it fosters an interactive style of programming. This unique combination of features makes it easy to use, but prone to errors and strange b…
View article
A case for DOT: theoretical foundations for objects with pattern matching and GADT-style reasoning Open
Many programming languages in the OO tradition now support pattern matching in some form. Historical examples include Scala and Ceylon, with the more recent additions of Java, Kotlin, TypeScript, and Flow. But pattern matching on generic c…
View article
Network of Steel: Neural Font Style Transfer from Heavy Metal to Corporate Logos Open
We introduce a method for transferring style from the logos of heavy metal bands onto corporate logos using a VGG16 network. We establish the contribution of different layers and loss coefficients to the learning of style, minimization of …
View article
Programmed differently? Testing for gender differences in Python programming style and quality on GitHub Open
The underrepresentation of women in open-source software is frequently attributed to women’s lack of innate aptitude compared to men: natural gender differences in technical ability (Trinkenreich et al., 2021). Approaching code as a form o…
View article
Using Machine Learning Methods to Establish Program Authorship Open
The subject of the article is the “coding style” concept and the main approaches to detecting the individual style of a programmer. The entire process of creating a software product from this point of view and the main features of programm…
View article
Programming Theorems and Their Applications Open
One of the effective methodological approaches in programming that supports the design and development of reliable software is analogy-based programming. Within this framework, the method of problem reduction plays a key role. Reducing a g…