Publications

Recent academic publications from our team

Creating a Student-Friendly PaaS Platform: Experiences with Tsuru in Software Engineering Education
Robert Chatley, Jason Bailey, Ivan Procaccini, Zaki Amin, Estibaliz Fraca

Teaching modern software engineering requires balancing authentic industry practices with accessibility for students. Cloud platforms like AWS and Azure are powerful but can be overly complex for educational contexts. To address this, we developed an internal Platform-as-a-Service (PaaS) using the open-source Tsuru platform. This solution simplifies deployment, enabling students to focus on building and iterating on applications without the need for direct interaction with complex cloud infrastructure, and facilitates administration and access for instructors to support the learning experience. This paper presents our experiences using this platform in software engineering courses. We discuss challenges, lessons learned, and practical advice for educators aiming to create similar solutions to support student learning.

Conference: 33rd ACM Symposium on the Foundations of Software Engineering (FSE '25)
Date: 23-27 June 2025
DOI: TBC
Creating an Open-Source Ecosystem for Contextualized Learning in Software Engineering
Robert Chatley, Ivan Procaccini, Jason Bailey, Zaki Amin, Estibaliz Fraca

Software engineering education is often detached from real-world practices: demonstrations and exercises are limited in scope and fail to capture the complexities and architectures found in industrial projects. Smaller tasks might not demand effective software design so students may neglect these principles in projects. We present a contextualized learning approach to software engineering education: within our Computer Science department, we develop bespoke software to support teaching and learning with source code made open to student contributions, following open-source software practices. This philosophy enables the use of our code in lectures as real-world examples and allows students to directly shape the evolution of software they use daily, both through occasional contributions and broader internship-like summer projects. These initiatives combine theory and practice so students can experience software evolution, maintenance, and collaboration first-hand in a meaningful context. Our experience could assist other institutions seeking to provide authentic, practical experiences in software engineering.

Conference: 11th International Conference on Higher Education Advances (HEAd’25)
Date: 17-20 June 2025
DOI: TBC
Formative feedback on engineering self-study: Towards 1 million times per year per cohort
Peter Johnson, Jon Fenton, Phil Ramsden, Robert Chatley, Maria Ribera-Vicent, Karl Lundengard

Timely and specific formative feedback is essential for quality education but challenging to scale for large cohorts. This paper presents Lambda Feedback, a digital platform providing automated real-time feedback to students on self-study. Deployed across multiple disciplines, it supports diverse question types, including symbolic mathematics. Teachers configure feedback without ‘coding’. Feedback is provided by an external ‘microservice’, enabling anyone in the community to develop feedback technology that can plugin to the platform. User surveys show a positive effect on learning experiences. Currently a work-in-progress, the platform provides feedback a million times annually in total. Future work will expand feedback functionality and scale to one million feedback events per cohort per year, i.e. billions per institution per year.

Conference: IEEE EduCon 2025
Date: 22-25 Apr 2025
DOI: TBC
Designing for Real People: Teaching Agility through user-centric Service Design
Robert Chatley, Tony Field, Mark Wheelhouse, Carolyn Runcie, Clive Grinyer, Nick de Leon

We present the design and evolution of a project-based course – Designing for Real People – that aims to teach agile software development through an unwavering focus on the user, rather than emphasising the processes and tools often associated with a method like Scrum. This module is the result of a fruitful collaboration between a Computer Science Department, bringing knowledge and skills in the software engineering aspects, and the Service Design group of a neighbouring Art College, with expertise in user research and user experience design.We present the details of the current structure, content and assessment strategies developed for the module, as well as the principles behind its design. The core theme of the course is gathering and responding to feedback, and so here we present how this has been applied to the design of the module itself, with lessons learned, and improvements made over time. By reflecting on our own work, we aim to provide recommendations that may aid others considering how to teach these topics.

Conference: 2023 IEEE/ACM 45th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET)
Date: 14-20 May 2023
DOI: 10.1109/ICSE-SEET58685.2023.00007
Global Software Engineering in a Global Classroom
Paul Schmiedmayer, Robert Chatley, Jan Philip Bernius, Stephan Krusche, Konstantin Chaika, Kirill Krinkin

Due to globalization, many software projects have become large-scale and distributed tasks that require software engineers to learn and apply techniques for distributed requirements analysis, modeling, development, and deployment. Globally-distributed projects require special skills in communication across different locations and time zones in all stages of the project. There has been advancement in teaching these concepts at universities, but adapting global software engineering in a curriculum is still in infancy.The main reasons are the effort and coordination required by teachers to set up the project, manage distributed development and enable distributed delivery. It becomes even more difficult when teaching distributed software engineering involving Internet of Things (IoT) applications. The situation has changed with recent advances in continuous deployment and cloud platform services that make globally-distributed projects more feasible, teachable, and learnable, even for short-term projects. However, no experience report in education research describes a truly distributed global setup in continuous software engineering for IoT applications.This paper describes a ten-day project involving three universities in different countries with 21 students located across the world to substantiate this claim. It provides teachers with recommendations for conducting a global software engineering course in a global setting. Recommendations include access for all students to (remote) hardware, stable network infrastructure in all locations, the use of a central development platform for continuous integration and deployment, and the application of distributed pair deployment.

Conference: 2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET)
Date: 22-24 May 2022
DOI: 10.1145/3510456.3514163
Threading DevOps Practices through a University Software Engineering Programme
Robert Chatley, Ivan Procaccini

In preparing students for a future career as software engineers, in addition to learning the fundamentals of Computer Science, we want them to develop a set of practical skills and professional ways of working. Current industry trends are towards the adoption of a DevOps culture, where software engineers are responsible not only for the design and development of software systems, but also for their deployment and operation in production...

Conference: 2020 IEEE 32nd Conference on Software Engineering Education and Training (CSEE&T)
Date: 09-12 November 2020
DOI: 10.1109/CSEET49119.2020.9206211
Lean Learning - Applying Lean Techniques to Improve Software Engineering Education
Robert Chatley, Tony Field

Building a programme of education that reflects and keeps pace with industrial practice is difficult. We often hear of a skills shortage in the software industry, and the gap between what people are taught in university and the 'real world'. This paper is a case study showing how we have developed a programme at Imperial College London that bridges this gap, providing students with relevant skills for industrial software engineering careers. We give details of the structure and evolution of the programme, which is centred on the tools, techniques and issues that feature in the everyday life of a professional developer working in a modern team. We also show how aligning our teaching methods with the principles of lean software delivery has enabled us to provide sustained high quality learning experiences. The contributions of this paper take the form of lessons learnt, which may be seen as recommendations for others looking to evolve their own teaching structures and methods.

Conference: 2017 IEEE/ACM 39th International Conference on Software Engineering: Software Engineering Education and Training Track (ICSE-SEET)
Date: 20-28 May 2017
DOI: 10.1109/ICSE-SEET.2017.5