Fachhochschule Burgenland GmbH
Campus 1, 7000 Eisenstadt
Weitere Beispiele der Hochschule

Rescue The Kitten - spielend Netzwerkprogrammierung lernen

Ziele/Motive/Ausgangslage/Problemstellung

Der Bachelorstudiengang Software Engineering und vernetzte Systeme startete im Wintersemester 2020/21 an der Fachhochschule Burgenland. Im zweiten Semester ist die Lehrveranstaltung Grundlagen der Netzwerktechnologien. Sie wurde daher von Grund auf neu konzipiert. Die Beschreibung der Lehrveranstaltung enthält die Vorgabe: „Mithilfe praktischer Übungen […] lernen [die Studierenden] netzwerkrelevante APIs kennen.“ (API = Application Programming Interface, Programmierschnittstelle)

 

Der Studiengang ist berufsbegleitend organisiert. Entsprechend breit ist die Vorerfahrung der Studierenden, die facheinschlägig berufstätige HTL-Absolvent*innen bis zu Quereinsteiger*innen umfasst. Diese Diversität gilt es in der Lehre zu adressieren. Zusätzlich ist es auch bei erfahrenen Softwareentwickler*innen sehr unterschiedlich, wie lange für die Umsetzung einer Aufgabe gebraucht wird.

 

Unter Berücksichtigung dieser Punkte ist es zielführend, Programmieraufgaben als Hausübungen anzulegen, um jeder Teilnehmer*in die Erarbeitung in ihrem eigenen Tempo zur ermöglichen.

 

Beim Erlernen neuer Techniken wird zumeist auf einfache, fiktive Beispiele zurückgegriffen, die zwar die zu erlernende Technik veranschaulichen, aber wenig Nutzwirkung entfalten. Das Arbeiten mit diesen Beispielen wird daher als langweilig empfunden.

 

Um dieses Gefühl zu unterbinden, wird in Rescue The Kitten das Erlernen der netzwerkrelevanten APIs in ein Spiel eingebettet, bei dem Level für Level schwierigere Aufgabenstellungen auf die Studierenden warten. Das Computerprogramm erzählt dabei die Geschichte einer rätselhaften Box, in der ein Tier versteckt ist. Zum Lösen eines Levels müssen die Studierende mit der entsprechenden API ein Programm entwickeln.

 

Um die eigenständige Erarbeitung der Lösung zu forcieren, sind die Rätsel, die in den einzelnen Aufgaben integriert sind, für jeden Studierenden anderes. Aus der persönlichen Kennzahl (PKZ, ähnlich wie eine Matrikelnummer) wird ein individuelles Profil erstellt, welches die zu lösenden Rätsel festlegt. Die Rätsel bestehen aus unterschiedlichen Rechen- und Logikaufgaben, die aufgrund der hohen Anzahl im Programm des Studierenden automatisiert gelöst werden müssen.

 

Die Personalisierung anhand der PKZ erlaubt weiters die Generierung eines individuellen Passworts, welches nach dem Lösen aller Rätsel erzeugt wird und die einfache Erfolgskontrolle durch die Lehrenden erlaubt, indem es mit einer vorab erzeugten Liste verglichen wird. Somit kann eine Beurteilung erfolgen, ohne dass die Notwendigkeit besteht, den Programmcode der Studierenden selbst zu lesen oder zur Ausführung zu bringen.

 

Zusammengefasst sind daher die Ziele des Projekts:

+ Berücksichtigung der Diversität der Studierenden

+ Motivation durch Gamification und begleitende Geschichte

+ Sicherstellung der eigenständigen Erarbeitung der Abgaben

+ Einfache Erfolgskontrolle durch die Lehrenden

Kurzzusammenfassung des Projekts

Für zukünftige Softwareentwickler*innen ist das Erstellen von Programmen das wichtigste Werkzeug zum Lösen von Problemen. In der vernetzten Welt, in der wir heute leben, ist die Kommunikation über Rechnernetzen hinweg selbstverständlich geworden. Das Erlernen der Netzwerkprogrammierung ist daher integraler Bestandteil des Studiengangs für Software Engineering und vernetzte Systeme.

 

Rescue The Kitten ermöglicht das Erlernen der Netzwerkprogrammierung durch die Studierenden in Form von Rätseln, die es zu lösen gilt. Eingebettet in eine Geschichte von einem Kätzchen, das aus einer Kiste zu befreien ist, werden Level für Level durch die Studierenden komplexere Netzwerkanwendungen entwickelt. Dabei können sich die Studierenden einer beliebigen Programmiersprache bedienen.

 

Das Programm erklärt sich von selbst, gibt Anweisungen über den Bildschirm aus, hilft mit Feedback weiter, wenn die Lösung der Studierenden noch nicht passt. Das ermöglicht die Beschäftigung mit dem Thema und die Entwicklung der erforderlichen Kompetenzen in einem individuellen Lerntempo, ohne dass die Interaktion mit dem Lehrenden erforderlich ist.

 

Jede*r Student*in erhält dabei einen anderen Satz von Rätsel, sodass eine eigenständige Lösungsfindung erforderlich ist. Zur Erleichterung der Kontrolle durch die Lehrenden gibt Rescue The Kitten beim erfolgreichen Abschluss ein Lösungswort aus, das nur für diese eine Person gültig ist.

Kurzzusammenfassung des Projekts in englischer Sprache

For future software developers, creating programs is the most important tool for solving problems. In the networked world we live in today, communication across computer networks has become a matter of course. Learning network programming is therefore an integral part of the Software Engineering and Connected Systems program.

 

Rescue The Kitten allows students to learn network programming in the form of puzzles to solve. Embedded in a story of a kitten that needs to be rescued from a box, level by level students develop more complex network applications. In the process, students can use any programming language they choose.

 

The program explains itself, issues instructions via the screen, helps with feedback if the students' solution does not yet fit. This allows students to engage with the subject and develop the necessary skills at an individual learning pace, without the need for interaction with the teacher.

 

Each student receives a different set of puzzles, so independent solution finding is required. To facilitate instructor control, Rescue The Kitten issues a solution word upon successful completion that is valid only for that one person.

Nähere Beschreibung des Projekts

Rescue The Kitten ist ein Computerprogramm, das die Studierenden vom Lernmanagementsystem herunterladen und auf ihrem Computer installieren. Es steht für die Betriebssysteme Windows, MacOS und Linux zur Verfügung. Diese Betriebssysteme werden von den Studierenden des Studiengangs genutzt.

 

Nach dem Start des Programms unter Angabe der PKZ des Studierenden erfolgt die Einleitung der Geschichte: Es wurde ein seltsames Paket ohne Absender zugestellt, aus dem Tiergeräusche dringen. Eingebettet ist ein Prüfcode, mit dem der Studierende kontrollieren kann, ob die eigenen PKZ korrekt angegeben wurde.

 

In der Geschichte sind Aufgabenstellungen eingebettet. Um diese zu lösen, müssen die Studierenden kleine Programme schreiben, die über das Netzwerk mit Rescue The Kitten kommunizieren, um Rechen- und Logikrätsel zu lösen.

 

Rescue The Kitten gibt dabei unmittelbar Feedback an die Studierenden, damit diese ihre Programme im Bedarfsfall ausbessern können.

 

Falls die Aufgabenstellung erfolgreich gelöst wurde, startet der nächste Level mit der Fortsetzung der Geschichte und einer neuen Aufgabenstellung. Jeder Level setzt die Verwendung einer anderen netzwerkrelevanten API voraus, sodass unterschiedliche Netzwerkprotokolle (HTTP, TCP, UDP) und Rollen einer Anwendung (Client, Server) zum Einsatz kommen.

 

Zusätzlich wird beim Lösen eines Levels ein Level Code ausgegeben, mit dem die Studierenden an dieser Stelle fortsetzen können.

 

Wurden alle fünf Levels erfolgreich gelöst, endet die Geschichte mit einem Happy End: Die in der Kiste versteckte Katze ist befreit. Der Name auf dem Halsband ist das Lösungswort, das die Studierenden abgeben und die Erfolgskontrolle durch Lehrende ermöglicht.

 

Die Level Codes und das Lösungswort sind wie auch die Rätsel in den einzelnen Levels über die PKZ individuell festgelegt und über kryptographische Methoden abgesichert.

 

Rescue The Kitten wurde vom Nominierten zur Durchführung der Lehrveranstaltung Grundlagen der Netzwerktechnologien implementiert. Es ist ein Beispiel, wie Softwareentwicklung in einem Studiengang zum Thema Software Engineering angewandt werden kann.

 

Das Feedback an die Studierenden geschieht durch das Programm selbst, sodass aufwändige, manuelle Überprüfungen entfallen können. Der Einsatz lässt sich so beliebig skalieren. Es gibt keine Vorgaben, welche Programmiersprache seitens der Studierenden verwendet wird, sodass es auch in anderen Curricula Anwendung finden kann.

 

Um Rescue The Kitten auch in international besuchten Lehrveranstaltungen einzusetzen, sind alle Textausgaben in englischer Sprache.

Nutzen und Mehrwert

Anpassung an das Lerntempo der Studierenden: Gerade im Bereich der Programmierung sind große Unterschiede zwischen den Geschwindigkeiten der Studierenden feststellbar.

 

Motivation der Studierenden über einen längeren Zeitraum: Der Schwierigkeitsgrad der Aufgaben ist ansteigend. Durch das unmittelbare Feedback bleibt die Motivation erhalten, alle Aufgaben bis zum Schluss zu lösen.

 

Die Erfolgskontrolle wird vereinfacht: Das Spiel erzeugt je nach Level einen kryptographisch abgesicherten Code, über den der Lehrende den Fortschritt ohne Notwendigkeit der Überprüfung des vom Studierenden erstellten Programmcode sicherstellen kann, dass das Lernziel erreicht wurde.

Nachhaltigkeit

Die Übertragbarkeit auf andere Lehrveranstaltungen ist in zweierlei Richtung möglich: Der Blackbox-Ansatz erlaubt den Einsatz bei Übungen, wo ein Programm erforscht werden soll, z. B. im Bereich von Netzwerksecurity-Labors. Außerdem kann es für alle Programmierübungen eingesetzt werden, wo eine automatisierte Kommunikation mit dem Programm des Studierenden erfolgen soll.

 

Das Programm ist in mehrere Komponenten gegliedert, sodass auch Einzelteile, z. B. die Spielmechanik oder die enthaltenen Rätsel, weiterverwendet werden können.

 

Rescue The Kitten wird in der dafür vorgesehenen Lehrveranstaltung weiterhin eingesetzt.

 

Es gibt noch keine Nachfolgeprojekte.

 

Die Verwendung in anderen Studiengängen und an anderen Bildungseinrichtungen ist möglich. Bei Interesse kann der Zugang zum Quellcode an andere Lehrende freigeschaltet werden.

Aufwand

Die Implementierung erfolgte durch Franz Knipp und dauerte in Summe 5 Arbeitstage.

 

Für den Betrieb fallen keine zusätzlichen Kosten an. Die Software wird auf den Rechnern der Studierenden ausgeführt.

Positionierung des Lehrangebots

Bachelorstudiengang Software Engineering und vernetzte Systeme

2. Semester

Modul: Grundlagen der Netzwerktechnologien

Das Beispiel wurde für den Ars Docendi Staatspreis für exzellente Lehre 2022 nominiert.
Ars Docendi
2022
Kategorie: Lernergebnisorientierte Lehr- und Prüfungskultur
Ansprechperson
Franz Knipp, DI
Department für Informationstechnologie
+43 5 7705-4341
Nominierte Person(en)
Franz Knipp, DI
Department für Informationstechnologie
Themenfelder
  • Flexibel Studieren
  • Lehr- und Lernkonzepte
  • Digitalisierung
  • Rund ums Prüfen
Fachbereiche
  • Mathematik, Informatik, Naturwissenschaften, Technik/Ingenieurwissenschaften