ABSTRACT VIEW
Abstract NUM 2105

NEW TEACHING APPROACHES FOR COMPLEX SOFTWARE BECAUSE TRADITIONAL APPROACHES FAIL BOTH FOR STUDENTS AND CHATGPT
B. Doersam
Stuttgart Media University (GERMANY)
Modern AI tools such as ChatGPT, Copilot, and similar systems are now capable of generating functioning software code. For students, this opens up a seemingly simple way to solve programming tasks quickly and without requiring in-depth knowledge of their own.

In practice, however, some problems arise when using these technologies. Students tend to question the need to learn programming themselves, believing they can rely on AI tools. They also believe their knowledge will no longer be needed later on, since everything will be taken care of by AI anyway.

Also, to save time or out of insecurity, they increasingly rely on AI-generated code for programming exercises. In the long term, this leads to a decline in the willingness to actively acquire new knowledge and engage with the fundamental concepts of software development.

However, a deep understanding of software development topics is essential, especially when developing complex applications. Without solid programming skills, challenging projects are impossible to complete, either at university or in professional practice.

The author gained relevant experience last semester as part of a student project. In the "Roborista" project, a system was developed in which a robotic arm prepares and dispenses espresso on demand. The system's architecture required the communication and coordination of four independent software applications. The basic architectural framework was predefined due to complexity. However, the students had to independently fill it in with functioning code.

Where the students were stuck, they attempted to generate solutions using AI tools. However, this often led to unusable results:
- The originally clean software design was no longer adhered to.
- Naming conventions and file structure were ignored and the software became very difficult to understand.
- Already functioning code was overwritten by generated code, which disrupted communication between the applications.
- Solutions emerged that ran exclusively on the students' computers and were no longer system-wide.

Based on these experiences, it was decided to adapt programming training and explicitly integrate the use of AI tools such as Copilot into the curriculum.
Instead of a strong focus on the pure syntax of a programming language, the emphasis is now on:
- understanding code,
- testing code,
- and developing good software design.

The goal is to enable students to critically question generated code, use it sensibly, and, if necessary, extend or correct it themselves.
This paper will describe the practical experiences from two perspectives:
- From the aforementioned project, in which numerous problems arose due to the unreflective use of AI solutions.
- From the new form of programming courses, in which students specifically learn how to use AI tools without neglecting the basic skills of software development.

Keywords: AI based learning, software development, practical experiences.

Event: ICERI2025
Track: Innovative Educational Technologies
Session: Generative AI in Education
Session type: VIRTUAL