Wer programmieren lernen will, denkt oft, man müsse in erster Linie ein Mathe-Ass sein. Dass eine ganz andere Fähigkeit viel wichtiger ist, das hat jetzt eine neue Studie der Universität Washington ergeben: Demnach ist unser Vermögen, Sprachen zu lernen, viel elementarer für das Erlernen von Programmiersprachen als mathematische Kenntnisse. Das liege daran, dass das Schreiben von Code ähnlich wie das Erlernen einer Sprache funktioniert: wir brauchen einen Wortschatz und eine Grammatik und müssen verstehen, wie beides zusammenspielt, um etwas Bestimmtes auszudrücken. Auch die Fähigkeit zur Problemlösung und die Nutzung des Arbeitsgedächtnisses spielen laut den Forscher_innen eine Schlüsselrolle.
"Programmieren zu lernen ist schwer, aber es wird immer wichtiger bei qualifizierten Positionen in der Arbeitswelt. In einem Bereich, in dem die Geschlechterkluft bekanntermaßen nur langsam geschlossen wird, fehlt es an Informationen darüber, was man braucht, um gut programmieren zu können", erklärt Hauptautor Chantel Prat, ein außerordentlicher Professor für Psychologie an der UW und am Institut für Lernen und Gehirnwissenschaften.
*Sinn erzeugen durch das Aneinanderreihen von Symbolen*
Gerade in unserer heutigen Zeit, in der MINT-Fähigkeiten zu fast jedem Beruf gehören, sei diese Erkenntnis wichtig. Programmierung wird häufig mit Mathematik und Ingenieurwesen assoziiert; Programmierkurse auf Uni-Niveau erfordern in der Regel fortgeschrittene Mathematikkenntnisse, um sich überhaupt einschreiben zu können, und sie werden in der Regel in Informatik- und Ingenieurabteilungen gelehrt. Andere Forschungen, insbesondere von der UW-Psychologieprofessorin Sapna Cheryan, haben aber gezeigt, dass solche Anforderungen und Bilder über das Programmieren Geschlechter-Stereotypen verstärken und Frauen möglicherweise davon abhalten, sich diesem Bereich zuzuwenden. Dabei habe das Coden auch eine Grundlage in der menschlichen Sprache: Programmieren hieße, einen Sinn zu erzeugen, indem Symbole regelbasiert aneinander gereiht werden.
Es gab zwar schon vorher einige wenige Studien, die einen Zusammenhang zwischen Sprachenlernen und Computerprogrammierung sichtbar gemacht haben, aber die Daten sind inzwischen Jahrzehnte alt, und auch manche Programmiersprachen sind heute veraltet. Außerdem habe keine Studie natürliche Sprachfähigkeiten genutzt, um individuelle Unterschiede beim Erlernen des Programmierens vorherzusagen. Also machte sich Prat, der sich auf das Lernen menschlicher Sprachen spezialisiert hat, daran, die individuellen Unterschiede beim Lernen der Programmiersprache Python zu untersuchen, die er deshalb auswählte, weil sie englischen Strukturen wie z.B. Absatzeinrückungen ähnelt und viele echte Wörter statt Symbole für Funktionen verwendet. Seine Testgruppe bestand aus einer Gruppe englischer Muttersprachler_innen zwischen 18 und 35 Jahren, die vorher noch nie programmiert hatten.
Bevor sie das Coden lernten, wurde mittels Elektroenzephalogramm die elektrische Aktivität ihres Gehirns aufgezeichnet, während sie sich mit geschlossenen Augen entspannten. In früheren Untersuchungen war herausgekommen, dass die neuronalen Aktivitäten während der Ruhephase des Gehirns sehr gut vorhersagen können, wie schnell jemand eine zweite Sprache lernen kann.
Dann nahmen die Testpersonen an acht verschiedenen Tests teil: einer, der sich speziell mit dem Rechnen befasste, einer, der die sprachliche Begabung maß und andere, die Aufmerksamkeit, Problemlösung und Gedächtnis beurteilten.
Um Python zu lernen, wurden den Teilnehmer_innen zehn 45-minütige Online-Unterrichtseinheiten zugewiesen. Jede Sitzung konzentrierte sich auf ein Programmierkonzept, wie z.B. Listen oder Wenn/Dann-Bedingungen, und schloss mit einem Quiz ab, das die Benutzer_innen bestehen mussten, um zur nächsten Sitzung zu gelangen. Hilfe bekamn die Testpersonen, wenn sie auf einen "Hinweis"-Button, einen Informations-Blog von früheren Benutzer_innen und einen "Lösungs"-Button zurückgriffen, und zwar in dieser Reihenfolge.
Die Forscher_innen erfassten dann die jeweilige "Lernrate", die Geschwindigkeit, mit der die Lektionen bewältigt wurden, sowie die Lösungen bei den Quizfragen und die Anzahl der Male, in denen Hilfe nötig war. Nach Abschluss der Sitzungen absolvierten die Teilnehmer einen Multiple-Choice-Test und programmierten ein Spiel, das ihnen dabei helfen sollte, ihre Programmierfähigkeit zu beurteilen.
Das Ergebnis der Tests war verblüffend: Tatsächlich stimmten die Spracheignungstests mehr mit der vorhergesagten Lernrate der Teilnehmer_innen in Python überein als die Testergebnisse im Bereich Rechnen. Über alle Lernergebnisse hinweg waren die sprachliche Eignung, das logische Denken und das Arbeitsgedächtnis der Testpersonen sowie die Hirnaktivität im Ruhezustand allesamt größere Vorraussagefaktoren für das erfolgreiche Python-Lernen als das Rechnen. Weitere Forschungen könnten die Verbindungen zwischen der Sprachfähigkeit und dem Programmierunterricht im Klassenzimmer, mit komplexeren Sprachen wie Java oder mit komplizierteren Aufgaben zum Nachweis von Programmierkenntnissen untersuchen, so Prat.
Sollte es euch also leicht fallen, Fremdsprachen zu lernen, dann scheut euch nicht, es mal mit dem Programmieren zu versuchen!