Summary and Schedule
Welcome to this lesson on the use of generative AI for developing research software. For illustrating these concepts in a tangible manner, we introduce here the story of Helen.
She is a researcher who just started working with a new research group, she inherits some data and code from a colleague who just left the group. Her task is to now integrate a new qualitative dataset (interviews or personal information) to the quantitative analysis.
However, she soon realises that the code that the previous colleague did is a messy state. It is not readable, documented, tested, or commented.
Given this additional challenge, Helen knows that additional effort is required to bring this code up to good standard in order to build on top of it and do her job. She knows that there are some resear
Overview
Researchers will develop practical skills to enhance productivity, improve code quality, and apply AI responsibly in real-world research projects.
Building on foundational knowledge of large language models (LLMs) and AI coding assistants, this course focuses on the responsible and effective use of these tools for developing research software. The tools in this workshop include AI chatbots, integrated development environments (IDEs), and agentic workflows.
By the end of this lesson, learners will be able to assess which tool or if any tool is needed for their purposes, use these tools, and evaluate their outputs.
These training materials are based on the training materials developed by the Southampton Research Software Group. The development of this course was funded through the EPSRC Doctoral Landscape Award EP/Z534894/1 2025 additional skills funding underpinning the pipeline for AI skills.
Research software: How is it different to regular software?
Software is a collection of instructions, data, or programs used to operate computers and execute specific tasks.
We typically think about software as a mean to define a process that transforms or processes information.
Software can work, as in compiling and executing, but that does not mean that it is understandable, reusable, or correct. In the context of research software, the lack of these characteristics directly hinder the progress and quality of scientific endevours.
As opposed to
Generative AI tools for research software
Credits
These training materials were partially adapted from the materials developed by
- Southampton Research Software Group. The development of their course was funded through the EPSRC Doctoral Landscape Award EP/Z534894/1 2025 additional skills funding underpinning the pipeline for AI skills.
- Tim Dennis - UCLA Library Data Science Center. Course: Agentic Research Workflows: AI and Validation
- The course Responsible Use of Generative AI in Assisted Coding from the CodeRefinery training activities. The initial draft of that lesson came from the workshop “AI and Research Work” (Glerean & Silva, 2024). The materials were originally written by Enrico Glerean, and further expanded and discussed by Bjørn Lindi, Ina Pöhner, Jarno Rantaharju, Simon Christ, Ashwin V. Mohanan, Michele Mesiti, Frankie Robertson.
The data is based on free material from GAPMINDER.ORG, CC-BY LICENSE.
| Setup Instructions | Download files required for the lesson | |
| Duration: 00h 00m | 1. Prompting effectively | How do you write a lesson using Markdown and sandpaper? |
| Duration: 00h 39m | 2. Explain and clean scripts | How do you write a lesson using Markdown and sandpaper? |
| Duration: 01h 12m | 3. Write and validate scripts | How do you write a lesson using Markdown and sandpaper? |
| Duration: 01h 46m | 4. Testing and refactoring scripts |
How to safely extend the functionality of a working script? How do I make sure that my code is still working when its size grows? How do I restructure my code so that it is readable, modular and reusable? |
| Duration: 02h 30m | 5. Guiding agents from script to codebase | How do you write a lesson using Markdown and sandpaper? |
| Duration: 03h 22m | 6. Reflecting and contributing | How do you write a lesson using Markdown and sandpaper? |
| Duration: 03h 34m | 7. Resources and next steps | What other tools are available? |
| Duration: 03h 51m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
FIXME: Setup instructions live in this document. Please specify the tools and the data sets the Learner needs to have installed.
Data Sets
Download the data zip file and unzip it to your Desktop
Software Setup
Details
Setup for different systems can be presented in dropdown menus via a
spoiler tag. They will join to this discussion block, so
you can give a general overview of the software used in this lesson here
and fill out the individual operating systems (and potentially add more,
e.g. online setup) in the solutions blocks.
Use PuTTY
Use Terminal.app
Use Terminal