SC2.9 | Efficient Programming for Research: Essential Rules for Writing Clean Code in the AI Era
Efficient Programming for Research: Essential Rules for Writing Clean Code in the AI Era
Convener: Karolina Stanisławska | Co-convener: Jack AtkinsonECSECS

In 2027, machines are supporting us in the coding process. Still, they remain helpers, not a replacement for ourselves, and it is our responsibility to ensure that the code we deliver and use as a basis for our research is clean, maintainable, and bug-free.
It is often said that code is read more often than it is written, and in the era of generative AI we spend more time than ever reading and reviewing. When doing so we must strive to follow best practices and ensure that we produce clean code to improve maintainability and reusability. Regardless of the author, the principles behind clean, maintainable, reusable code remain the same, and we need to understand them in order to ensure the code we produce is correct and easy to understand -- for us now, in the future, and for our colleagues.

Many researchers want to deliver better software, but aren't sure what is important and what tools and skills they need to learn. This short course introduces essential software engineering practices that are crucial for both AI-supported and individual development and discusses practical aspects of writing clean code while interacting with AI.

The topics covered:
- Code structure (naming, dividing code into smaller units)
- Environments and dependency management
- Code style, standards and IDE integration
- Unit testing
- Code documentation essentials
- The code-review process
- AI agent interaction (spec-driven development, agent instructions, AI work optimisation, sensible agent tasks)

The short course will combine lecture and discussion, giving participants the opportunity to share their own challenges and experiences, exchanging insights with fellow researchers.

The short course will be led by senior software engineering and research professionals with experience in a variety of commercial R&D and science projects. We welcome engaged participants of all backgrounds and levels of experience who want to improve their software skills in research and discuss with others how to apply them in their work.