English
Related papers

Related papers: Investigating Compilation Errors of Students Learn…

200 papers

Students sometimes produce code that works but that its author does not comprehend. For example, a student may apply a poorly-understood code template, stumble upon a working solution through trial and error, or plagiarize. Similarly,…

Computers and Society · Computer Science 2021-07-06 Teemu Lehtinen , André L. Santos , Juha Sorva

Because loops execute their body many times, compiler developers place much emphasis on their optimization. Nevertheless, in view of highly diverse source code and hardware, compilers still struggle to produce optimal target code. The sheer…

Programming Languages · Computer Science 2021-03-01 Rahim Mammadli , Marija Selakovic , Felix Wolf , Michael Pradel

Understanding collaboration patterns in introductory programming courses is essential, as teamwork is a critical skill in computer science. In professional environments, software development relies on effective teamwork, navigating diverse…

Software Engineering · Computer Science 2024-10-29 Santiago Berrezueta-Guzman , Patrick Bassner , Stefan Wagner , Stephan Krusche

Many Haskell textbooks explain the evaluation of pure functional programs as a process of stepwise rewriting using equations. However, usual implementation techniques perform program transformations that make producing the corresponding…

Programming Languages · Computer Science 2024-07-17 Pedro Vasconcelos , Rodrigo Marques

The intention of these notes is to give a mathematical account of how I believe students could be taught to think about functional programming languages and to explain how such languages work.

Programming Languages · Computer Science 2010-08-09 Chris Preston

Computer science educators seek to understand the types of mistakes that students make when learning a new (programming) language so that they can help students avoid those mistakes in the future. While educators know what mistakes students…

Software Engineering · Computer Science 2021-02-12 Kai Presler-Marshall , Sarah Heckman , Kathryn T. Stolee

Worldwide, computer science departments have experienced a dramatic increase in the number of student enrolments. Moreover, the ongoing COVID-19 pandemic requires institutions to radically replace the traditional way of on-site teaching,…

Computers and Society · Computer Science 2022-07-27 Kevin Kappelmann , Jonas Rädle , Lukas Stevens

Understanding program code is a complicated endeavor. As such, myriad different factors can influence the outcome. Investigations of program comprehension, and in particular those using controlled experiments, have to take these factors…

Software Engineering · Computer Science 2021-03-17 Dror G. Feitelson

We study program refactoring while considering the language or even the programming paradigm as a parameter. We use typed functional programs, namely Haskell programs, as the specification medium for a corresponding refactoring framework.…

Programming Languages · Computer Science 2007-05-23 Ralf Laemmel

We demonstrate how methods in Functional Programming can be used to implement a computer algebra system. As a proof-of-concept, we present the computational-algebra package. It is a computer algebra system implemented as an embedded…

Symbolic Computation · Computer Science 2018-10-02 Hiromi Ishii

In the challenging field of introductory programming, high enrollments and failure rates drive us to explore tools and systems to enhance student outcomes, especially automated tools that scale to large cohorts. This paper presents and…

Software Engineering · Computer Science 2023-10-17 Andrew Taylor , Alexandra Vassar , Jake Renzella , Hammond Pearce

Background and context: Debugging is a significant and often frustrating challenge for beginner programmers. Understanding students' debugging behaviours and strategies can help to identify common difficulties and inform approaches for…

Computers and Society · Computer Science 2026-04-03 Laurie Gale , Sue Sentance

A key part of learning to program is learning to understand programming error messages. They can be hard to interpret and identifying the cause of errors can be time-consuming. One factor in this challenge is that the messages are typically…

Human-Computer Interaction · Computer Science 2024-04-03 Juho Leinonen , Arto Hellas , Sami Sarsa , Brent Reeves , Paul Denny , James Prather , Brett A. Becker

In considering the reliability of numerical programs, it is normal to "limit our study to the semantics dealing with numerical precision" (Martel, 2005). On the other hand, there is a great deal of work on the reliability of programs that…

Symbolic Computation · Computer Science 2014-04-25 James H. Davenport , Russell Bradford , Matthew England , David Wilson

Education in the practical applications of logic and proving such as the formal specification and verification of computer programs is substantially hampered by the fact that most time and effort that is invested in proving is actually…

Logic in Computer Science · Computer Science 2018-03-06 Wolfgang Schreiner , Alexander Brunhuemer , Christoph Fürst

Code language models have emerged as useful tools for various programming tasks, yet they often struggle when it comes to complex ones. In this paper, we explore the potential of curriculum learning in enhancing the performance of these…

Machine Learning · Computer Science 2024-07-16 Marwa Naïr , Kamel Yamani , Lynda Said Lhadj , Riyadh Baghdadi

Introductory programming courses often emphasize mastering syntax and basic constructs before progressing to more complex and interesting programs. This bottom-up approach can be frustrating for novices, shifting the focus away from problem…

Computers and Society · Computer Science 2024-10-07 Chris Kerslake , Paul Denny , David H Smith , James Prather , Juho Leinonen , Andrew Luxton-Reilly , Stephen MacNeil

The design of effective programming languages, libraries, frameworks, tools, and platforms for data engineering strongly depends on their ease and correctness of use. Anyone who ignores that it is humans who use these tools risks building…

Software Engineering · Computer Science 2025-04-24 Max Neuwinger , Dirk Riehle

Writing complex computer programs to study scientific problems requires careful planning and an in-depth knowledge of programming languages and tools. In this chapter the importance of using the right tool for the right problem is…

Computational Physics · Physics 2010-06-17 Helmut G. Katzgraber

Regular expressions (regexes) are a powerful mechanism for solving string-matching problems. They are supported by all modern programming languages, and have been estimated to appear in more than a third of Python and JavaScript projects.…

Software Engineering · Computer Science 2023-03-07 Louis G. Michael , James Donohue , James C. Davis , Dongyoon Lee , Francisco Servant