Studienbereich Informatik
Lehrkraft für besondere Aufgaben (Programmierung und Softwareentwicklung)
Programmierung 2 (Pflichtfach im Studiengang Kommunikationsinformatik)
Nachdem Sie die Programmiersprache C kennengelernt haben, setzen wir in diesem Semester noch das ++ drauf, also C + 1 und wir landen bei C++. C++ ist kompatibel zu C, erweitert C aber um eine ganze Menge an Kozepten. Vor allem ist da die Objektorientierung zu nennen. Sie wird auch das wichtigste Thema in diesem Smester sein. Die Objektorientierung versucht, die Programmierung näher ans normale Leben zu bringen, indem wir mit Klassen und Objekten arbeiten - das sind Konzepte, die wir aus dem täglichen Leben auch kennen. Allerdings gehören da noch sehr viele weitere Konzepte dazu und gerade C++ ist stellenweise äußerst kompliziert. Es ist keine einfache Sprache, aber eine weit verbreitete und wichtige Sprache, vor allem wenn es um Geschwindigkeit und Hardwarenähe geht.
Prüfungsleistung: Klausur
Inhalte:
Programmierung 3 (Pflichtfach im Studiengang Kommunikationsinformatik)
In diesem Kurs geht es weiter mit der Programmierspache Java. Java gilt als einfacher als C++, weil Sie sich um vieles nicht mehr zu kümmern brauchen (Stichwort Speicherverwaltung als Beispiel). Java ist im Gegensatz zu C++ voll objektorientiert, d.h. Sie können keine Funktionen mehr außerhalb einer Klasse schreiben. Sonst sind die Konzepte stellenweise sehr ähnlich, aber der Teufel liegt wie so oft im Detail. Wir werden uns in diesem Kurs die Objektorientierung natürlich nicht mehr ansehen, da Sie diese bereits aus Programmierung 2 kennen, sondern wir konzentrieren uns auf die Unterschiede zwischen C++ und Java.
Prüfungsleistung: Klausur
Inhalte:
Programmierung mit C++ (Wahlpflichtfach im Studiengang Praktische Informatik)
In dieser Vorlesung beschäftigen wir uns intensiv mit der Programmiersprache C++. Dabei werden wir nicht mehr die Grundlagen besprechen, sondern ich gehe davon aus, dass Sie bereits die objektorientierte Programmierung mit Java kennen, d.h. wir werden uns mit intensiv mit den Unterschieden zwischen Java und C++ beschäftigen. Ihnen wird auffallen, dass C++ eine vergleichsweise komplizierte Programmiersprache ist, da SIe sich z.B. selbstständig um die Speicherverwaltung kümmern müssen, während das in Java der Garbage Collector automatisch übernimmt. Dennoch werden Sie auch Vorteile an C++ gegenüber Java erkenenn können.
Prüfungsleistung: Klausur oder Projekt (wird noch entschieden)
Inhalte:
Programmierung 4 (Arbeitstitel)
Diese Vorlesung ist noch in Planung. Es steht noch nicht fest, ob sie bereits im Sommersemester 2025 angeboten werden kann.
Geplante Inhalte:
Softwareentwicklung mit Spring (Wahlpflicht in den Studiengängen Praktische Informatik und Kommunikationsinformatik)
Das Spring-Framework ist eines der wichtigsten Frameworks in der Java-Welt. Zusammen mit dem SpringBoot-Projekt ermöglicht es eine schnelle Softwareentwicklung, weil es dem Programmierer viel Standard-Arbeit abnimmt. Aber gerade weil das Framework viele Aufgaben selbstständig erledigt, ist es recht kompliziert und die Einarbeitung ist nicht trivial. Es gibt eine ganze Menge Konzepte, die Sie verstehen müssen, um effizient mit Spring arbeiten zu können. Wir werden letztendlich professionelle Webanwendungen auf Basis von Spring und SpringBoot bauen.
Voraussetzungen: Bitte besuchen Sie dieses Fach nur, wenn Sie wirklich fit in der Arbeit mit Java ist. Dieses Modul ist explizit als schwierig konzipiert und hauptsächlich gedacht für gute Java-Programmierer, die Herausforderungen suchen.Sie müssen sich sehr gut mit Java auskennen, also Programmierung 1 und 2 in PI sollten bestanden sein. Für KI-Studenten dürfte dieses Modul allgemein eher schwierig sein. Sie sollten unbedingt Programmierung 3 gut bestanden haben.
Prüfungsleistung: Projekt mit mündlicher Prüfung
Themen
Entwurfsmuster (Wahlpflicht in den Studiengängen Praktische Informatik und Kommunikationsinformatik)
In diesem Modul beschäftigen wir uns mit Entwurfsmustern. Entwurfsmuster sind standardisierte Lösungen für häufig in der Programmierung auftretende Probleme. Wir beschäftigen uns hauptsächlich mit den Entwurfsmustern der Gang of Four (GoF). Die GoF hat eine Menge an Entwurfsmustern definiert, die heute als klassische Entwurfsmuster gelten. Aber es haben sich auch noch weitere moderne Muster etabliert für verschiedene Themenbereiche wie z.B. grafische Oberflächen, verteilte Systeme, Datenbanken usw. Wir werden uns auch noch das ein oder andere moderne Muster exemplarisch ansehen.
Voraussetzungen: Da Entwurfsmuster erst einmal eher theoretische Konstrukte sind, benötigen Sie im Grunde keine Programmiersprache, aber besser vorstellen kann man sich die Muster natürlich an praktischen Beispielen. Die in der Vorlesung vorgstellten Beispiele sind alle in Java geschrieben, d.h. Sie sollten als PI-Student zumindest Programmierung 1 und 2 bestanden haben und als KI-Student Programmierung 2 und 3, denn die Entwurfsmuster arbeiten mit Tricks aus der Objektorientierung. Die OOP sollten Sie also wirklich verstanden haben. Außerdem werden Entwurfsmuster als UML-Klassendiagramme beschrieben. Deswegen sollten Sie auch schon das Modul Softwaretechnik gehört haben.
Prüfungsleistung: Mündliche Prüfung.
Themen:
Nr | Stg | Jahr | Name | Thema | Firma |
1 | PI | 2017 | Angelika Wegel | Webbasierte Wahllokalsuche für die Bürger der Landeshauptstadt Saarbrücken mit Standortanzeige des Wahllokals | Informations- und Kommunikationsinstitut der Landeshauptstadt Saarbrücken |
2 | PI | 2017 | Sascha Schuhmacher | Konzeption und Entwicklung einer Cross-Plattform-App zur Leergut-Retoure von Kabeltrommeln | Faber Kabel |
3 | KI | 2017 | Steven Bauer | Webbasierte Verwaltung von Übungsaufgaben mit Punkteabfrage auf Basis von JSF, Hibernate und Springboot | SystemTechnikLabor |
4 | KI | 2017 | Benedikt Lilienthal | Webservice API für das E-Commerce System PepperShop | |
5 | PI | 2018 | Florian Hennrich | Entwicklung von automatisierten Lasttests für eine Rest-Schnittstelle und Evaluation des Antwortverhaltens | N4-Group |
6 | PI | 2018 | Basit Rehman | Analyse und Entwicklung von Lösungen zur Optimierung und Automatisierung firmeninterner Prozesse | BrainTower |
7 | PI | 2018 | Mathias Wittling | Entwicklung von automatisierten Testverfahren für eine Android-Anwendung mittels Appium | N4-Group |
8 | DFHI | 2018 | Alexis Klein | Analyse von Steuerungsmöglichkeiten des Monitoring und praktische Umsetzung mit Nagios | TÜV Nord Bildung GmbH |
9 | DFHI | 2018 | Christian Giangreco | Entwicklung einer auf PHP, Javascript und UIKIT 3 basierenden Reisetagebuch-Plattform samt sicherer Authentifizierungsmöglichkeiten mit PHP-AUTH | Euresa Consulting GmbH |
10 | PI | 2018 | Joshua Zabel | Simulation verschiedener Algorithmen zur Pickwalk-Bestimmung für ein parametrisierbares Lagerhaus | |
11 | PI | 2018 | Cedric Altmaier | Konzeption und Entwicklung einer Cross-Plattform-App zur Visualisierung von KPIs | Mercedes Benz Bank |
12 | PI | 2018 | Somar Hasan | Entwurf und Implementierung eines Reportingsystems für die Fertigungssteuerung | ZF Friedrichshafen |
13 | KI | 2018 | Marc Otting | Testgetriebene Entwicklung einer Cross-Plattform-Client-Anwendung unter Verwendung des Clean-Architecture-Patterns | HiOrg-Server GmbH |
14 | KI | 2018 | Tim Meyer | Entwicklung und Durchführung von Modultests in der E-Commerce-Plattform SAP Hybris am Beispiel der Erweiterung des Zahlungsvorgangs um PayPal | ComSol AG |