EuroSciPy 2026

Teaching scientific programming in the age of agentic coding
2026-07-21 , Room 2.41 (First Floor, Turing)

Learning to code has seldom received the due attention it needs in the history of computing. From undergraduate students to the software engineers, programming is picked up either as a self-taught skill in their own time or, more effectively, by participating in bootcamps or workshops organized by volunteers, research software engineers (RSEs), librarians, and so on. Agentic coding is replacing or could potentially replace as the first choice tool in several programming tasks, and this combines LLMs with tools to ground it such as MCPs and tool-calling. This thought provoking talk, questions whether should we continue teaching programming as we do today or adapt it to today's reality.


In the past decades, the methods for teaching programming were revamped from classroom- and examination-oriented teaching into a learning experience filled with live demos and type-along sessions in workshops. This process, which involved interleaving exercises with lectures and using literate programming tools such as Jupyter, was championed by The Carpentries. Today this practice has influenced CodeRefinery, EuroCC2 and several local and non-profit organizations in making learning technology truly a rewarding experience. However, this approach still relies on teaching certain topics, which should be questioned and revisited in today's age of agentic coding:

  • Discoverability of libraries - Knowledge of which libraries to use and in which context were one of experience and recommendations. Such advice usually spreads organically, through word of mouth, blogs by seasoned developers, or forums such as StackOverflow.
  • Good practices - From writing good, professional-looking code to using design patterns were achievable using a spectrum of tools. This ranges from using formatters and linters to organically developing a coding style through experience and by reading code written by others.
  • Memorizing syntax - Traditionally this is done by following tutorials and reading documentation.
  • Performance optimization - This is considered an advanced art, which requires combining multiple profiling tools to analyze hotspots. The process often entails writing foreign function interfaces and extensions using source-to-source compilers to optimize and parallelize slow code.
  • Exploratory programming and problem solving - Going from a problem statement or a list of specifications, paired with a dataset, towards the goal of working code involves the choice between paradigms such as functional programming versus object-oriented programming, along with techniques such as test-driven development (TDD), debugging and visualization.

If the current and future generations of learners are using LLMs as the first choice to guide them, instead of rigorously learning the above, are we teaching programming incorrectly? This is not a comprehensive list and there are potentially many such topics which need to be taught with an agentic coding perspective. LLMs could be part of the solution but still suffers from many drawbacks. The open question is how do we teach this and use this reliably?


Expected audience expertise: Domain: some Expected audience expertise: Python: some Your relationship with the presented work/project: Original author or co-author

Ashwin is a training coordinator for Mimer (https://mimer-ai.eu/), the AI Factory located in Sweden, which is part of the EuroHPC Joint Undertaking initiative. Ashwin has a background in Mechanical and Aerospace Engineering and during his Ph.D, he delved deep in to the ecosystem, by contributing to several active scientific Python projects such as FluidDyn, Transonic and Pythran. He has also participated as a speaker in PyCon Sweden and enjoys engaging with Python community through workshops, courses, conferences and meetups.