English
Related papers

Related papers: More Programming Than Programming: Teaching Formal…

200 papers

While functional programming is an efficient way to express complex software, functional programming languages have a steep learning curve. Haskell can be challenging to learn for students who were only introduced to imperative programming.…

Programming Languages · Computer Science 2019-06-28 Boldizsár Németh , Eunjong Choi , Erina Makihara , Hajimu Iida

Empirical Software Engineering has received much attention in recent years and became a de-facto standard for scientific practice in Software Engineering. However, while extensive guidelines are nowadays available for designing, conducting,…

Software Engineering · Computer Science 2025-01-14 Daniel Mendez , Paris Avgeriou , Marcos Kalinowski , Nauman bin Ali

Nowadays, software is pervasive in our everyday lives. Its sustainability and environmental impact have become major factors to be considered in the development of software systems. Millennials-the newer generation of university…

Software Engineering · Computer Science 2017-03-06 Damiano Torre , Giuseppe Procaccianti , Davide Fucci , Sonja Lutovac , Giuseppe Scanniello

Computer science (CS) education needs to evolve to support software and artificial intelligence (AI) systems engineering, and it needs to happen now -- precisely because the core intellectual contributions of CS have never been more…

Software Engineering · Computer Science 2026-05-01 Chandra N. Sekharan , George K. Thiruvathukal

The prevalence of online platforms and studies has generated the demand for automated grading tools, and as a result, there are plenty in the market. Such tools are developed to grade coding assignments quickly, accurately, and…

Computers and Society · Computer Science 2022-12-06 Aditi Agrawal , Benjamin Reed

Regular expressions in an Automata Theory and Formal Languages course are mostly treated as a theoretical topic. That is, to some degree their mathematical properties and their role to describe languages is discussed. This approach fails to…

Programming Languages · Computer Science 2023-08-15 Marco T. Morazán

Software Engineering is the process of a systematic, disciplined, quantifiable approach that has significant impact on large-scale and complex software development. Scores of well-established software process models have long been adopted…

Software Engineering · Computer Science 2022-07-05 Md Jobair Hossain Faruk , Santhiya Subramanian , Hossain Shahriar , Maria Valero , Xia Li , Masrura Tasnim

While code large language models have demonstrated remarkable progress in code generation, the generated code often exhibits poor runtime efficiency, limiting its practical application in performance-sensitive scenarios. To address this…

Software Engineering · Computer Science 2025-08-29 Yunlong Feng , Yang Xu , Xiao Xu , Binyuan Hui , Junyang Lin

Functional languages with strong static type systems have beneficial properties to help ensure program correctness and reliability. Surprisingly, their practical significance in applications is low relative to other languages lacking in…

Programming Languages · Computer Science 2016-12-05 Johannes Emerich

Large language models and deep learning models designed for code intelligence have revolutionized the software engineering field due to their ability to perform various code-related tasks. These models can process source code and software…

Software Engineering · Computer Science 2025-07-31 Ali Asgari , Milan de Koning , Pouria Derakhshanfar , Annibale Panichella

In this work, we show a methodology aimed to improve the quality of the assessment process for subjects related to basic programming. The method takes into account the relevance of the items and the students answers to follow different…

Computers and Society · Computer Science 2014-03-07 P. Molins-Ruano , C. González-Sacristán , F. Díez , P. Rodriguez , G. M. Sacha

Soft and future skills are in high demand in the modern job market. These skills are required for both technical and non-technical people. It is difficult to teach these competencies in a classical academic environment. The paper presents a…

Software is a key component of solutions for 21st Century problems. These problems are often "wicked", complex, and unpredictable. To provide the best possible solution, millennial software engineers must be prepared to make ethical…

Software Engineering · Computer Science 2017-03-03 Claudia de O. Melo , Thiago C. de Sousa

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

Recent years have seen the successful application of deep learning to software engineering (SE). In particular, the development and use of pre-trained models of source code has enabled state-of-the-art results to be achieved on a wide…

Software Engineering · Computer Science 2022-05-25 Changan Niu , Chuanyi Li , Bin Luo , Vincent Ng

In order to work with mathematical content in computer systems, it is necessary to represent it in formal languages. Ideally, these are supported by tools that verify the correctness of the content, allow computing with it, and produce…

Logic in Computer Science · Computer Science 2020-05-27 Cezary Kaliszyk , Florian Rabe

The continuous evolution of software projects necessitates the implementation of changes to enhance performance and reduce defects. This research explores effective strategies for learning and implementing useful changes in software…

Software Engineering · Computer Science 2025-04-18 Kartik Gupta

The failure of hardware or software in a critical system can lead to loss of lives. The design errors can be main source of the failures that can be introduced during system development process. Formal techniques are an alternative approach…

Software Engineering · Computer Science 2014-07-04 Dominique Méry , Neeraj Kumar Singh

When teaching Programming and Software Engineering in Bachelor's Degree programs, the emphasis on creating functional software projects often overshadows the focus on software quality, a trend that aligns with ACM curricula recommendations.…

Declarative styles such as functional programming (FP) are rapidly gaining ground on their imperative cousins, including procedural and object-oriented programming. The shift is subtle because it is happening within the context of…

Software Engineering · Computer Science 2016-06-22 Morgan C. Benton , Nicole M. Radziwill