English
Related papers

Related papers: More Programming Than Programming: Teaching Formal…

200 papers

This study examines the development of reflective practice among students on a four-year work-based Software Engineering program. Using two established models of reflection - Boud et al.'s Model of Reflective Process and Bain et al.'s 5R…

Software Engineering · Computer Science 2026-05-19 Matthew Barr , Syed Waqar Nabi , Oana Andrei

Software Architecture, from definition to maintenance and evolution, is a complex aspect of software development and, consequently, a challenging subject when it comes to teaching it, and learning it. Many research efforts have been devoted…

Software Engineering · Computer Science 2023-03-01 Laura M. Castro

Information processes in the society encourage the formation of a revision of the forms and methods of learning; involve the use of didactic capabilities of information and communication technologies in teaching. No less important in this…

Computers and Society · Computer Science 2018-07-25 Vladyslav Velychko

Program decomposition is essential for developing maintainable and efficient software, yet it remains a challenging skill to teach and learn in introductory programming courses. What does program decomposition for procedural CS1 programs…

Software Engineering · Computer Science 2024-11-19 Georgiana Haldeman , Judah Robbins Bernal , Alec Wydra , Paul Denny

Teaching agile software development by pairing lectures with hands-on projects has become the norm. This approach poses the problem of grading and evaluating practical project work as well as process conformance during development. Yet, few…

Software Engineering · Computer Science 2018-09-05 Christoph Matthies , Thomas Kowark , Matthias Uflacker , Hasso Plattner

Computer programming is undergoing a true transformation driven by powerful new tools for automatic source code generation based on large language models. This transformation is also manifesting in introductory programming courses at…

Computers and Society · Computer Science 2025-07-02 Clemente Rubio-Manzano , Jazna Meza , Rodolfo Fernandez-Santibanez , Christian Vidal-Castro

Agile development is conventional these days and with the passage of time software developers are rapidly moving from Waterfall to Agile development. Agile methods focus on delivering executable code quickly by increasing the responsiveness…

Software Engineering · Computer Science 2021-04-13 Attique Ur Rehman , Ali Nawaz , Muhammad Abbas

Software Engineering is an applied discipline and concepts are difficult to grasp only at a theoretical level alone. In the context of a project management course, we introduced and evaluated the use of software process simulation (SPS)…

Software Engineering · Computer Science 2023-07-25 Nauman bin Ali , Michael Unterkalmsteiner

In this chapter we outline the role that software has in modern society, along with the staggering costs of poor software quality. To lay this bare, we recall the costs of some of the major software failures that happened during the last 40…

Software Engineering · Computer Science 2026-01-30 Giovanni Bernardi , Adrian Francalanza , Marco Peressotti , Mohammad Reza Mousavi

This Innovative Practice full paper explores how Large Language Models (LLMs) can enhance the teaching of code refactoring in software engineering courses through real-time, context-aware feedback. Refactoring improves code quality but is…

Software Engineering · Computer Science 2025-08-14 Anshul Khairnar , Aarya Rajoju , Edward F. Gehringer

The success of a number of projects has been shown to be significantly improved by the use of a formalism. However, there remains an open issue: to what extent can a development process based on a singular formal notation and method…

Software Engineering · Computer Science 2013-11-26 Rainer Gmehlich , Katrin Grau , Alexei Iliasov , Michael Jackson , Felix Loesch , Manuel Mazzara

Designing software that controls industrial equipment is challenging, especially due to its inherent concurrent nature. Testing this kind of event driven control software is difficult and, due to the large number of possible execution…

Logic in Computer Science · Computer Science 2021-08-09 Rutger van Beusekom , Bert de Jonge , Paul Hoogendijk , Jan Nieuwenhuizen

In recent years we have explored using Haskell alongside a traditional mathematical formalism in our large-enrolment university course on topics including logic and formal languages, aiming to offer our students a programming perspective on…

Computers and Society · Computer Science 2022-08-10 Matthew Farrugia-Roberts , Bryn Jeffries , Harald Søndergaard

Software Engineering (SE) faces simultaneous pressure from AI automation (reducing code production costs) and hardware-energy constraints (amplifying failure costs). We position that SE must redefine itself around human discernment-intent…

Software Engineering · Computer Science 2026-02-05 Karina Kohl , Luigi Carro

In industry as well as education as well as academics we see a growing need for knowledge on how to apply machine learning in software applications. With the educational programme ICT & AI at Fontys UAS we had to find an answer to the…

Software Engineering · Computer Science 2021-01-05 Petra Heck , Gerard Schouten

Use case driven development methodologies put use cases at the center of the software development process. However, in order to support automated development and analysis, use cases need to be appropriately formalized. This will also help…

Software Engineering · Computer Science 2016-03-30 Rui Couto , António Nestor Ribeiro , José Creissac Campos

Correctness is one of the more important criteria of qualitative software. However, it is often taught in isolation and most students consider it only as an afterthought. They also do not receive sufficient feedback on code quality and…

Software Engineering · Computer Science 2024-12-03 Steffen Dick , Christoph Bockisch , Harrie Passier , Lex Bijlsma , Ruurd Kuiper

Traditional software engineering programming paradigms are mostly object or procedure oriented, driven by deterministic algorithms. With the advent of deep learning and cognitive sciences there is an emerging trend for data-driven…

Software Engineering · Computer Science 2017-11-17 Anush Sankaran , Rahul Aralikatte , Senthil Mani , Shreya Khare , Naveen Panwar , Neelamadhav Gantayat

Formal methods provide remarkable tools allowing for high levels of confidence in the correctness of developments. Their use is therefore encouraged, when not required, for the development of systems in which safety or security is…

Logic in Computer Science · Computer Science 2009-02-24 Eric Jaeger , Thérèse Hardin

Context: With the rising complexity and scale of software systems, there is an ever-increasing demand for sophisticated and cost-effective software testing. To meet such a demand, there is a need for a highly-skilled software testing…

Software Engineering · Computer Science 2020-03-10 Vahid Garousi , Austen Rainer , Per Lauvås , Andrea Arcuri