Zur Vermittlung prozeduraler und objektorientierter Programmierkonzepte in Informatik-Curricula werden häufig Sprachen wie C, C++, Java, C# oder Python eingesetzt. Zukünftig könnten auch Go, Rust oder Kotlin eine stärkere Rolle spielen. Die Integration populärer Programmiersprachen macht Studiengänge praxisnah, erfordert jedoch fortlaufende Anpassungen und verursacht hohe Kosten für die Entwicklung neuer Module. Wichtiger als die konkrete Programmiersprache ist jedoch das Verständnis fundamentaler Konzepte wie Kontrollstrukturen, Datentypen und Variablen. 

Dieser Beitrag zeigt auf, wie der Programmiersprachenunterricht der Zukunft stärker auf diese Konzepte fokussiert werden kann. Die grundlegenden Konzepte werden in mehreren Programmiersprachen simultan unterrichtet. Die Syntaxunterschiede der Sprachen werden dabei gezielt genutzt, um ein tieferes Verständnis zu fördern. Dadurch erlangen die Studierenden die Fähigkeit, erlernte Konzepte auf andere Programmiersprachen zu übertragen.

Dies ist nicht nur für die Praxis relevant, sondern fördert auch das Computational Thinking, indem von einzelnen Programmiersprachen abstrahiert und die Mustererkennung in übertragbaren Konzepten geschult wird. Zur Übersetzung von Codebeispielen in andere Programmiersprachen, zur Erklärung von Syntaxunterschieden und zur Bereitstellung personalisierten Feedbacks wird eine in die Entwicklungsumgebung integrierte KI verwendet.

Die Studierenden lernen damit vom ersten Semester an, wie KI für die Programmentwicklung zielführend eingesetzt werden kann.