ABSTRACT VIEW
FOSTERING COMPUTATIONAL THINKING THROUGH AI-ASSISTED TEACHING OF MULTIPLE PROGRAMMING LANGUAGES
C. Heinisch
IU International University of Applied Sciences (GERMANY)
To teach fundamental procedural and object-oriented programming concepts in computer science curricula, programming languages such as C, C++, Java, C#, and Python have been and continue to be widely used. In the future, languages such as Go, Rust, or Kotlin could also play a more significant role. To make study programs attractive and relevant to practical applications, a popular and industry-standard programming language is often integrated into the curriculum. However, this leads to continuous pressure for adaptation, along with considerable costs for developing new modules based on a different programming language.

When teaching fundamental programming skills, the specific programming language is less important than understanding core concepts such as control structures, data types, and variables. This paper presents an innovative approach that conveys these fundamental programming concepts in multiple languages – using at least two different programming languages (e.g., Java and Python). The goal is to leverage the similarities and differences between languages to foster a deeper understanding and strengthen learners' ability to transfer programming knowledge between languages. Such competencies are highly relevant in practice and specifically promote computational thinking by abstracting away from a specific programming language and deliberately training pattern recognition in transferable concepts.

This paper presents the results of an initial feasibility analysis with concrete programming code examples. Artificial intelligence is used to translate code examples between different programming languages, explain syntax differences, and provide personalized feedback. This AI-supported approach enhances individual learning processes and trains students in AI-assisted software development. The approach is validated using the Eclipse software development environment and the Copilot4Eclipse plug-in. Programming examples for the concepts of data types and control structures are created and translated into various languages with AI support.

The concept has the potential to advance computer science education both didactically and technologically. The approach not only offers the opportunity to enhance technical competence in using industry-relevant AI-supported development environments but also demonstrates how AI can be profitably integrated into teaching from the very first semester. At the same time, the approach has the potential to significantly reduce future complex adaptations in computer science curricula. With this approach, programming language instruction can take place at a higher level of abstraction, thereby enhancing abstraction skills and pattern recognition in computational thinking.

Keywords: Computational Thinking, AI-Assisted Learning, Multiple Programming Languages.

Event: EDULEARN25
Session: Computational Thinking
Session time: Monday, 30th of June from 11:00 to 12:15
Session type: ORAL