6 Semester
Oktober
210 ECTS-Punkte
Im Studiengang Informatik werden die vielfältigen Erkenntnisse aus den Vorlesungen in unterschiedlich gearteten Studierendenprojekten vertieft. Hier können Studierende ihrer Kreativität freien Lauf lassen und erfahren Möglichkeiten und Grenzen der IT.
Vor 30 Jahren – damals war die DHBW Mannheim noch Berufsakademie – schlossen sie ihr duales Informationstechnik-Studium ab. Am 01.10.2022 trafen sich die Absolvent*innen von 1992 an der DHBW Mannheim und haben eine klare Message für Informatik-Studierende: "Ihr habt das richtige Studium gewählt."
Für das Treffen wurde ein buntes Programm auf die Beine gestellt: Prof. Dr. Holger Gerhards präsentierte, wie die DHBW Mannheim und das Informatik-Studium heute funktionieren. Prof. Joachim Schmidt – Studiengangsleiter des Abschlussjahrgangs `92 – gab einen Rückblick und Wassilij Kaiser eine Laborführung, die auch einen Besuch bei der Roboterfußball-Mannschaft TIGERs beinhaltete. Selbstverständlich blieb auch genug Zeit für einen Erfahrungsaustausch der Teilnehmenden, deren Karriere mit einem dualen Studium startete. Einer davon ist Norbert Armbruster, der – bestätigt durch seinen beruflichen Werdegang – begeistert vom dualen Studienmodell und überzeugt von dessen Vorteilen ist:
"Mich persönlich hat die Weiterentwicklung der BA / DHBW sehr gefreut. Die Entscheidung, ein duales Studium an der BA zu beginnen, würde ich – auch jetzt nach 30 Jahren – jederzeit wieder treffen. Die theoretischen Grundlagen zusammen mit den Praxisphasen haben mir einen schnellen Übergang in den Beruf ermöglicht. Das gilt sowohl für den Beginn als Software Entwickler, als auch später als Projektleiter internationaler Projekte oder jetzt noch in meiner Rolle als Geschäftsführer unseres Professional Services. Neben dem technischen Handwerkszeug tragen hierzu auch die in den BA-Projekten und Praxisphasen erlernten 'Softskills' für zielorientiertes Arbeiten in kleinen und großen Teams bei. Die entstandenen Freundschaften – wie wir gestern an der großen Teilnehmerzahl gesehen haben – scheinen bis heute zu tragen. Danke auch für die Führung durch die Labore. Moderne Technik zum Anfassen haben mir immer dabei geholfen, die Funktionsweisen zu begreifen und anzuwenden. Als ein einfaches Beispiel sind mir die Nachrichtentechnik-Vorlesungen in Erinnerung. Sequenz- und Statusdiagramme verwenden wir auch heute, wenn auch artfremd, bei der Systemintegration/ Business-Prozessmodellierung. Wie wir an den unterschiedlichen Lebensläufen gestern hören könnten, scheint das auch bei meinen Kommiliton*innen zu gelten. An Ihre Studierenden gerichtet bleibt mir nur zu sagen: Ihr habt das Richtige gewählt! Das duale Studium bereitet Euch optimal für das Berufsleben vor. Genau diese Kenntnisse benötigen wir in der Wirtschaft, um weiter wachsen und uns im internationalen Wettbewerb behaupten zu können."
Ausgerichtet wurde das Alumni-Treffen von Prof. Joachim Schmidt, Wassilij Kaiser, Prof. Dr. Holger Gerhards.
Studierende im Studiengang Informatik - Informationstechnik stellen ihre Studienarbeiten vor, an denen sie im 5. und 6. Semester gearbeitet und für die sie die Themen selbst gewählt haben.
50 Jahre alten Hauptprozessor auf neuer Hardware zum Leben erweckt: In ihrer Studienarbeit "Automatisierte Generierung von CPU Emulatoren" befassten sich Niklas Frondorf und Tobias Winkler damit, wie die Virtualisierung von "Central Processing Units" umgesetzt werden und wie sie einen Beitrag zur Plattformunabhängigkeit sowie Langlebigkeit von Software und für die Lehre leisten kann. Entstanden ist die Idee in der Vorlesung "Systemnahe Programmierung" (4. Semester). Warum? "Wir wollten gern noch tiefer in das Thema einsteigen. CPUs sind etwas sehr Praktisches – wir haben ein theoretisches Gerüst draufgebaut", berichten die beiden Studierenden.
IT-Studierende unterschiedlicher Jahrgänge lernen voneinander
Welche Schritte sie dafür gehen mussten, haben sie nicht nur in ihrer Studienarbeit formuliert, sondern berichteten auch dem Nachfolgekurs davon: Um ein Beschreibungsformat zum Emulieren und Programmieren von CPUs zu entwickeln, betrachteten sie die Funktionsweise von CPUs, wobei die Intel 4004 – der erste Mikroprozessor (4 Bit) aus dem Jahr 1971, die ursprünglich für den Einsatz in Taschenrechnern konzipiert worden war – im Detail vorgestellt und emuliert wurde. Die beiden Studierenden beschrieben die Intel 4004 mit dem Format und entwickelten zwei Programme, die dieses Format zur Übersetzung von Assemblercode in Bytecode oder zur Generierung von Emulatoren nutzen. Des Weiteren emulierten sie auch die MOS Technology 6502 und designten, testeten und programmierten hierfür eine eigene CPU.
"Die heutigen CPUs sind zu komplex und zu kostspielig, um sie für Lehrzwecke zu nutzen. Die Intel 4004 war dafür genau richtig. Die schnelle und leichte Beschreibung von CPUs mit der Möglichkeit, diese anschließend emulieren zu können, kann Studierenden ein nachhaltiges Verständnis für hardwarenahe Programmierung und Computersysteme bieten. Um zu zeigen, zu was die Emulatoren fähig sind, haben wir das Retro-Spiel 'Pong' auf der Intel 4004 implementiert und auf einen modernen Mikroprozessor (Arduino Due) emuliert. Es war ein toller Moment, als es funktioniert hat!", so Niklas Frondorf und Tobias Winkler.
Ein Spiel als Lerngelegenheit:
Im Modul "Java-Programmierung" (2. Semester) geht es um die Prinzipien der objektorientierten Modellierung und Programmierung (OOM und OOP). Dafür eignen sich z. B. Mehrpersonenspiele. Im Jahr 2022 verwendeten wir dazu das taktische Mehrpersonen-Würfelspiel: Ziel 22.
Spielregeln:
Jeder Spieler würfelt mit einem üblichen W6-Würfel. Ziel ist es, die Augensumme 22 zu erreichen bzw. möglichst nahe an dieses Ziel 22 zu kommen. Es müssen genau 8 Würfe gewertet werden und es darf höchstens 13 Mal gewürfelt werden. Die gewerteten Augenzahlen werden addiert. Bei jedem Wurf entscheidet der Spieler sofort und endgültig, ob er diesen Wurf wertet oder nicht. Sieger ist bzw. sind, wer am nächsten am Ziel 22 ist.
Einstieg und Aufgabenstellung:
Das Spiel dient als Einstieg und wird anfangs direkt durch Benutzereingaben gespielt. Durch die verwendete IDE ist dies möglich ohne irgendeine Art von I/O-Programmierung. In der Problemanalyse werden die beteiligten Objekte identifiziert, geeignet in Klassen zusammen gefasst, diese Klassen erstellt und in Java implementiert. Nach Erarbeitung der Grundlagen von Objekten soll mit der Zeit das Spiel so auf dem Rechner implementiert werden, dass es ohne Benutzereingaben ablaufen kann. Das Rahmenprogramm wird im Kurs gemeinsam entwickelt. Jeder Kursteilnehmer kann dann seine eigene 'Spieler'-Klasse erstellen. Diese 'Spieler' treten in einer WM gegeneinander an. Das bringt einen Wettbewerbscharakter in die Vorlesung. Jeder entwirft eine oder zwei verschiedene Spielstrategien, natürlich ohne seine Ideen zu verraten, und implementiert sie jeweils in einer 'Spieler'-Klasse. Jede der Spielerklassen ist eine sog. Unterklasse der abstrakten, allgemeinen Oberklasse Spieler, die im Kurs bis dahin entwickelt wurde. So muss in der eigenen 'Spieler'-Klasse nur die Strategie selbst abgebildet werden, sonst nichts. Alles Sonstige ist bereits durch die Oberklasse Spieler gegeben; einer der großen Vorteile der Objektorientierung.
Eine einfache Strategie:
Das Spiel erlaubt sehr unterschiedliche Ansätze und Strategien. Manche sind einfach in Worten beschreibbar wie z.B.: "Wenn du noch entscheiden kannst, dann akzeptiere jeden Wurf, der keine 6 ist." Diese einfache Strategie wird im folgenden "Kl6Spieler" implementiert.
Ergebnis der Weltmeisterschaft:
Diese einfache Strategie Kl6Spieler ist weit schwächer als die von den Student*innen entwickelten Strategien, also Spielerklassen. Im Kurs wurde ein Rahmenprogramm mit Spielleiter und Spielern erstellt, das die verscheidenen Spielerklassen einbinden und den Wettkampf nach den im Kurs festgelegten Regeln durchführen konnte: In insgesamt 69420 Spielen wurde protokolliert, wer wie oft unter den Siegern war. In der kursinternen WM (Weltmeisterschaft) stellten sich vier von insgesamt ca. 30 am Endkampf teilnehmenden Strategien als sehr stark heraus.
Siegreiche Strategien:
Kurswettbewerb als Lehrmethode:
Aus dem Mehrpersonenspiel heraus ergeben sich auf natürliche Weise Unterklassen und eine abstrakte Oberklasse sowie ein Wettbewerb. Der Wunsch, seine eigenen Ideen umzusetzen, führt dazu, dass man mit mehr Interresse arbeitet und mit mehr Ausdauer auch kleinere Hürden überwindet. Im Anschluss an die "Weltmeisterschaft" ist es sehr interessant, verschiedene Ideen auszutauschen und deren Implementierung zumindest teilweise nachzuvollziehen. Daran wird auch deutlich, welche Detailarbeit in der Umsetzung der Idee in eine lauffähige Implementierung steckt. Ebenso zeigt dies viele Grundlagen der objektorientierten Programmierung und erlaubt auch eine Differenzierung im Kurs.
Dozent: Theo Heußer; Vorlesung: Java-Programmierung