# BioPyAssistant: a chatbot to support learning of Python programming

Samuel Bottani, David Janiszek, Pierre Poulain

<figure><img src="image_1.png" /></figure>

## To cite this version:

Samuel Bottani, David Janiszek, Pierre Poulain. BioPyAssistant: a chatbot to support learning of Python programming. Université Paris Cité. 2025. [hal-05340526v2](https://hal.science/hal-05340526v2)

HAL Id: hal-05340526

https://hal.science/hal-05340526v2

Submitted on 9 Nov 2025

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# BioPyAssistant: a chatbot to support learning of Python programming

Samuel Bottani, David Janiszek, Pierre Poulain

As part of an educational innovation project named LLM@UPCité, developed at Université Paris Cité, we created a conversational assistant (chatbot) to support the learning of Python programming. Students' feedback on this experiment was very positive, improving understanding of key programming concepts.

The chatbot, called BioPyAssistant, was designed primarily to support students on a master's-level Python programming course, ensuring that it could answer their questions. It was also essential that the assistant's responses were based on existing teaching material, available both online (https://python.sdv.u-paris.fr/) and as an extensive PDF document (currently 27 chapters and more than 400 pages). We also wanted the assistant to cite its sources when responding to students, to be available 24/7, and to adapt to students' needs. BioPyAssistant was developed by Essmay Touami during her first-year master's internship in bioinformatics.

The chatbot employs a well-established methodology for this type of system, namely a Retrieval-Augmented Generation (RAG) approach, which relies on a knowledge base to enrich the answers of the language model. In this case, the knowledge base is the existing Python course, available in Markdown format, which is easier to process and extract content than PDF. We developed a web interface through which the assistant is accessible: students can ask questions, and the assistant provides concise answers, including examples if necessary (Figure 1). Most importantly, at the end of each response, it suggests links to the online course. Students can click these links and go directly to the relevant parts of the course material (Figure 2). This precise referencing of specific sections from the course textbook is a key distinction from common RAG-based systems available online.

Between October and December 2024, BioPyAssistant was tested by 70 master's students enrolled in a bioinformatics curriculum, some of whom had little or no prior experience in programming, while others already had previous programming experience. At the end of the three-month trial, we conducted a survey. 66% of respondents said they used BioPyAssistant to clarify parts of the course. Interestingly, 27% reported asking questions on topics not covered in the course, showing that the assistant also helped them go beyond what was taught in class. Moreover, 71% of students reported that they clicked on the links provided in the assistant's responses to explore the online course further, and 100% considered the assistant suitable for beginners in programming.

Given these results, we plan to continue and expand the experiment by offering BioPyAssistant to 250 second-year undergraduates and 150 third-year undergraduates in a bachelor's degree program in
biology during spring 2026. These students will be beginners in programming, particularly in Python.
Until now, we have been using large language models provided by OpenAI (the company that developed
ChatGPT). We now want to switch to the [PLEIADE](https://pleiade.com/) AI platform, hosted at our university. PLEIADE is a
sovereign platform designed to respect the privacy of its users and based on open-source software and
open models.

Beyond Python programming, we are also considering making this type of assistant widely available to other teachers. The aim is to offer chatbots that can mediate the educational material provided by instructors and thus better support students in their learning. This perspective is strongly supported by the students, with 100% of them endorsing the experiment. Their main uses of the assistant focused on clarifying specific points of the course, deepening their understanding of certain notions, and exploring related topics, in contrast to the potential misuse of such tools for cheating.

The source code of BioPyAssistant is open-source and available on GitHub
([https://github.com/pierrepo/biopyassistant](https://github.com/pierrepo/biopyassistant)). BioPyAssistant can also be tested here:
[https://biopyassistant.sdv.u-paris.fr/](https://biopyassistant.sdv.u-paris.fr/)

<figure><img src="image_3.png" /><figcaption>**Figure 1.** BioPyAssistant main interface. BioPyAssistant is a web-based chatbot designed to answer students' questions about Python programming. It is heavily based on existing course material.</figcaption></figure>
<figure><img src="image_4.png" /><figcaption>**Figure 2.** BioPyAssistant's answers are based on an existing course material available online. It also suggests links to the course (Left panel), allowing students to click and access the relevant sections directly (Right panel).</figcaption></figure>