Die Studierenden erlernen die theoretischen Kenntnisse der Gestaltung von interaktiven Systemen und setzen sie bei der Entwicklung von Prototypen praktisch um.
Die Studierenden sind kompetent, Designprinzipen und Designkonzepte zur Lösung von Gestaltungsproblemen bei der Entwicklung dieser Systeme anzuwenden. Sie beherrschen innovative Benutzungsschnittstellen und sind in der Lage, neue Formen der Interaktion zwischen Mensch und Maschine zu gestalten.
Die Studierenden erlernen unterschiedliche Methoden und Strategien beim Entwerfen von interaktiven Systemen und können sie anwenden. Sie erkennen und lösen Designprobleme bei der Gestaltung dieser Systeme. Sie beschäftigen sich mit dem kulturellen Kontext von Interaktionen und setzen sich kritisch mit der Geschichte des Interaktionssdesigns auseinander.
Vorlesung, Teilnahme am seminaristischen Unterricht.
Maschinen können heute bereits auf "natürliche" Art und Weise mit Menschen kommunizieren, indem sie Sprache verstehen, Schrift erkennen oder Gesten interpretieren können. Sie können aber auch die Wahrnehmung der Menschen erweitern, indem sie die Darstellung von Situationen mit zusätzlichem Wissen anreichern ("Augmented reality"), d.h., die Darstellung von Information erfolgt im Kontext der von der Maschine wahrgenommenen Situation, in der sich der Mensch befindet. Beispiele finden sich in Smartphones und Tablets (Sprachsteuerung, Gesichtserkennung, "Goggle", Musikerkennung) in Fahrzeugen in Form von Fahrerassistenzsystemen, in Spieleboxen zur Bewegungsinterpretation, aber auch in der Arbeitswelt wie z.B. der Chirurgie oder Mensch-Roboter-Kooperation).
In der Vorlesung werden die Grundlagen von Sprach- und Gestenerkennung, die Erfassung und Erkennung von Umgebungsobjekten und deren Nutzung in der Interaktion und Informationspräsentation behandelt. Anwendungsbeispiele (z.B. mit dem Kinect Sensor) vertiefen das Verständnis des Stoffes. Die Themen im Einzelnen:
Vorlesung, Teilnahme am seminaristischen Unterricht.
Die TeilnehmerInnen setzen die theoretischen Kenntnisse der Konzeption und Gestaltung interaktiver Systeme praktisch um. Sie designen und entwickeln Prototypen für interaktive Systeme. Die Studierenden experimentieren mit innovativen Formen der Mensch-Maschine-Schnittstelle und den Möglichkeiten der Interaktion im öffentlich genutzten Raum.
Das Modul behandelt den Entwurf effizienter Algorithmen in Theorie und Praxis. Die Studierenden erlernen dazu Beweistechniken für graphentheoretische Probleme, um die Korrektheit von Algorithmen mit exakten logischen Schlüssen nachzuweisen. Sie analysieren Laufzeiten von Verfahren und setzen passende Analysetechniken ein. Am Beispiel numerischer Probleme wie z.B. die Interpolation und Approximation mathematischer Modelle konzipieren die Studierenden zudem selbstständig Lösungsverfahren und implementieren diese anschließend. Die Iterationsverfahren werden von den Studierenden für konkrete technische Probleme umgesetzt und exemplarisch zur Nutzung auf modernen Hochleistungsrechnern parallelisiert.
Die Studierenden sind nach Abschluss des Moduls in der Lage, Algorithmen theoretisch zu analysieren und zu bewerten, aber auch Modellierungs- und Simulationsverfahren für die computergestützte Auslegung von Prozessabläufen in der Praxis anzuwenden.
Ziel der Lehrveranstaltung ist die Vermittlung einiger grundlegender Algorithmen auf Graphen. Die Vorlesung soll Teilnehmer dazu befähigen, auch weiterführende Algorithmen zu erarbeiten, sicher anzuwenden sowie deren Korrektheit und Komplexität zu verstehen.
Nach einer kurzen theoretischen Einführung in die Graphentheorie werden zunächst Durchmusterungsmethoden wie die Breiten- und Tiefensuche vorgestellt. Weitere Algorithmen befassen sich mit der Erkennung von starken Zusammenhangskomponenten, topologischen Sortierungen sowie der Berechnung von kürzesten Wegen. Effiziente Tests auf die Kreisfreiheit von Graphen werden ebenfalls besprochen.
Für diese Lehrveranstaltung sind grundlegende Kenntnisse einer Programmiersprache sowie der sichere Umgang mit dem O-Kalkül notwendig. Die Kenntnis von Induktionsbeweisen ist von Vorteil. (Beide Themengebiete werden zum Selbststudium im Anhang des Skriptes angeboten.)
Der Stoff der Vorlesung wird an der Tafel besprochen und ist zusätzlich in einem vorab erhältlichen Skript verfügbar. Skript, Übungsaufgaben und Musterlösungen werden auch online angeboten.
Die Lehrveranstaltung findet als Vorlesung statt. Begleitende Übungen vertiefen die vermittelten Gebiete. Musterlösungen werden zur Verfügung gestellt und bei Bedarf auch im Unterricht diskutiert.
Die Vorlesung gibt eine Einführung in Modellierungs- und Simulationsmethoden. Themen der Vorlesung und Übungen sind:
Die Inhalte der Vorlesung werden über Latex-Folien vermittelt. Die Folien werden den Studierenden vorlesungsbegleitend als PDF ins ILIAS hochgeladen. Ergänzend werden regelmäßig Beispiele und Anwendungen in vorlesungsintegrierten Rechenübungen besprochen. Die Aufgaben und Lösungen werden ebenfalls elektronisch bereitgestellt. Während der Veranstaltung werden ca. 6 Übungsblätter ausgeteilt, deren Lösung in darauffolgenden Terminen ausführlich vorgestellt wird. Zu der Veranstaltung gehört ein begleitendes Computerpraktikum, in dem numerische Algorithmen zu Interpolations- und Approximationsverfahren in kleinen Beispielprogrammen umgesetzt und am Rechner auf konkrete Probleme angewendet wird. Zum weiteren Selbststudium werden folgende Lehrbücher empfohlen:
Seminaristischer Unterricht und Übungen
In dem begleitenden Rechnerpraktikum werden die Inhalte der Vorlesung "Modellierung und Simulation" vertieft, indem numerische Algorithmen zur Interpolation diskreter Datenmengen und zur Approximation von Lösungen für kontinuierliche Probleme in der Programmiersprache C/C++ implementiert werden. Zunächst werden die Iterationsverfahren in kleinen Beispielprogrammen umgesetzt. Diese werden auf konkrete Fragestellungen angewendet und die Lösungen diskutiert bzw. graphisch dargestellt. Im Anschluss werden ausgewählte numerische Methoden hinsichtlich Laufzeit analysiert und Konzepte der Parallelisierung eingesetzt, um die Iterationen parallel auszuführen oder durch Gebietszerlegung auf mehrere Prozessoren zu verteilen.
Themen der Rechnerübung zur Vorlesung "Modellierung und Simulation" sind:
Für die praktischen Übungen am Rechner werden Aufgabenblätter erstellt und als PDF im ILIAS System bereitgestellt. Die Aufgaben werden zu Beginn der Veranstaltung besprochen, die Ziele erklärt und Lösungswege skizziert. Als Unterstützung werden den Studierenden Programmrümpfe zur Verfügung gestellt, in die die jeweiligen Algorithmen in C/C++ umgesetzt werden sollten. Nach Fertigstellung und Anwenden der Programme erfolgt eine Abnahme und eine ausführliche Besprechung der implementierten Lösung. Zum Vertiefen der in der Vorlesung erarbeiteten numerischen Verfahren wird auf das Lehrbuch:
verwiesen. Als Unterstützung bei der Implementierung der Verfahren in C/C++ wird der Klassiker für Beispielprogramme in C empfohlen:
Praktische Übungen am Rechner
Für intelligente Systeme ist die Gewinnung von Informationen aus Daten Voraussetzung für eine optimale Zielerreichung. Diese Fähigkeiten besitzen kognitive und lernende Systeme.
Studierende beherrschen sowohl die theoretischen Grundlagen der Gestaltung solcher Systeme, sind aber auch kompetent, diese Theorien in praktischen Anwendungen aktueller Themengebiete wie Data Mining, Interaktive Systeme etc. anzuwenden.
Methoden zur automatischen Erkennung von Objekten, Vorgängen, Ereignissen und Zuständen (z.B. Personen, Gesten, Dokumententhemen, Interessensgruppen, Emotionen, Bilder/Musik/Video, ...).
Der Stoff wird mit PowerPoint-Folien und umfangreichen Entwicklungen an der Tafel präsentiert.
Vorlesungsteilnahme, selbstständige Übung, Optionale Übung: Anwendung der Methoden auf konkrete Beispiele.
Anwendungen
Verarbeitungsprozesse
Daten
Algorithmen des unüberwachten Lernens, eine Auswahl aus
Die Übung setzt sich aus einem Theorie- und einem Praxisübungsteil zusammen.
Theorieteil in Form von Inverted Classroom ca. 30%, praktischer Teil ca. 70%
aaaa
Studierende dieses Kurses
Auswahl von behandelten Themen:
Historischer Überblick
Prozedurale Sprachen
Blockstruktur
Parameterübergabe
Objekt-orientierte Sprachen
Subtyping
Vererbung
Überladung
Seminaristischer Unterricht mit theoretischen und praktischen Übungen.
Die Studierenden lernen, komplexe Algorithmen mit einer systemnahen prozeduralen oder objekt-orientierten Programmiersprache wie C oder C++ korrekt zu implementieren.
Sie optimieren diese Algorithmen hinsichtlich der Ausführungsgeschwindigkeit mit verschiedenen Paradigmen wie Hybridisierung oder Techniken zur Cache-Optimierung.
Die Teilnehmer der Veranstaltung messen die Ausführungszeiten und überprüfen empirisch die asymptotische Laufzeit der implementierten Verfahren. Dazu erstellen sie verschiedener Testszenarien, um die Algorithmen darauf basierend zu vergleichen und zu beurteilen.
Die Studierenden dokumentieren und diskutieren die Ergebnisse. Sie analysieren ihre Optimierungen und erklären die Resultate.
Die zu behandelnden Informatikprobleme variieren. Typische Inhalte sind:
Die Übungsaufgaben und Zusatzmaterialien werden elektronisch (HTML, PDF, Programmgerüste) zur Verfügung gestellt.
Vorkenntnisse:
Vertiefte praktische Kenntnisse einer prozeduralen oder objekt-orientierten Programmiersprache wie C, C++, C# oder Java. Implementierung und Testen grundlegender Algorithmen aus dem Bereich der Such-, Graphen- und Sortierprobleme.
Format: Praktische Arbeit, Übungen im Labor mit geringem Vorlesunganteil. Die Ergebnisse werden in den praktischen Übungen von den Studenten vorgestellt und mit dem Dozenten diskutiert. Die Ergebnisse sind von den Studenten in einem Bericht zu dokumentieren.
Betreuung:
Individuelle Betreuung durch den Dozenten während der Präsenzzeit im Rechnerlabor. Außerhalb der Präsenzzeit via E-Mail oder während der Sprechzeiten des Dozenten.
In a globalized information society, data semantics is of increasing importance. XML techniques, Ontologies and reasoning concepts are at the core of semantic technology.
Students acquire abstract and concrete competencies to use basic and advanced XML techniques (XML DTD and Schema, XLink/XPointer), and have dealt with various XSLT applications in the functional programming paradigm.
Students have abstract and concrete knowledge about the Resource Description Framework RDF, its extension into RDFS and OWL; they know how to write and visualize simple ontologies and how these are used in software applications
Students know machine based reasoning tools and principles of knowledge description, they have performed several reasoning tasks.
Students know different models of thinking and reasoning (deduction and induction), fundamentals of science theory and paradigms of learning and teaching. Students are competent to use and evaluate different scientific methodologies also in socio-political and societal situations
The course therefore contributes to the two dimensions technical knowledge and leadership skills. Since it is held in English, participants improve their key skills. The course also serves as enabler for students' own activities in a globalized information society.
Prerequisites: Participants should have basic knowledge of descriptive languages (XML applications), at least should have practical knowledge of Web programming.
Participants should have sufficient knowledge of technical English.
Format: Participation necessary in two classroom hours per week, electronic tests and essay writing on selected topics, theoretical self-study on semantic technologies.
Counseling Questions during course hours, electronic learning management system ILIAS, weekly online chat in ILIAS, 24 x 7 offline discussion in ILIAS Forum, eMail
Topics covered by practical lab problems include:
Prerequisites: Students should be participants of the "Semantic Web Technologies" course, at least should have theoretical knowledge of the topics covered.
Format: Participation in 2 lab hours per week in small groups of 2-3 students, practical self-study and XML programming.
Deliverables: Successful completion (upload to ILIAS in time) of 80% of the lab problems.
Counseling: Personal counseling during lab hours, electronic learning managment system ILIAS, weekly online chat in ILIAS, 24 x 7 offline discussion in ILIAS forum, eMail
Das Modul Managementkompetenzen setzt sich aus den drei Teilen "IT-Projektmanagement", "IT Management" und "Führungskräftetraining" zusammen.
Die Studierenden lernen im IT-Projektmanagement verschiedene branchenspezifische Anforderungen, Methoden und Werkzeuge kennen. Die Studierenden sind danach kompetent, unterschiedliche Situationen im IT-Projektmanagement erkennen, analysieren und beurteilen zu können und beherrschen die Anwendung der relevanten Methoden und Werkzeuge.
Die Studierenden erlangen im IT-Management die Kompetenz für die Führungsaufgaben im IT-Bereich. Anhand eines Lebenszyklusmodells von der Unternehmensgründung (IT‑Entrepreneurship) bis zum Management eines IT-Unternehmens werden die jeweiligen Methoden und Werkzeuge erlernt und an Fallbeispielen von dem Studierenden selbstständig angewendet. Sie erhalten damit die notwendigen Grundlagen, als eigenständiger IT-Unternehmer sowie auch als Führungskraft im IT-Bereich tätig zu sein.
Im Führungskräftetraining erwerben die Studierenden die Kompetenz, kommunikative Rahmenbedingungen und Erwartungen herauszuarbeiten. Sie beherrschen Strategien und Taktiken für die Gesprächs- und Verhandlungsführung sowie die Bewältigung von Krisensituationen.
Die Studierenden erwerben die praktische Kompetenz zum IT-Projektmanagement sowie der Planung und Durchführung von IT-Projekten.
Insbesondere werden die nachfolgenden Anforderungen an das Management von IT-Projekten beherrscht:
Vorlesung 50%, Übungen 20%, Gruppenarbeit 30%
Die Studierenden erwerben in dieser Veranstaltung die Kompetenz, als eigenständiger IT-Unternehmer als auch als Führungskraft im IT-Bereich tätig zu sein. Anhand eines Lebenszyklusmodells (von der Unternehmensgründung (IT‑Entrepreneurship) bis zum Management eines IT-Unternehmens werden die jeweiligen Methoden und Werkzeuge erlernt und an Fallbeispielen von dem Studierenden selbstständig angewendet.
Folgende Lebenszyklusphasen werden behandelt:
A. Freiberuflicher Softwareentwickler
B. Wir werden IT-Unternehmer (IT-Entrepreneur)
C: Wie manage ich ein IT-Unternehmen? (IT Management)
Teilnahme am seminaristischen Unterricht.
In intensiver fachlicher Diskussion werden kommunikative Rahmenbedingungen und Erwartungen herausgearbeitet, Strategien und Taktiken für die Gesprächsführung sowie die Bewältigung von Krisensituationen geübt.
Seminaristischer Unterricht als Blockkurs nach Semesterende.
Dieses Modul dient dem wissenschaftlichen oder projektbasierten Arbeiten unter intensiver Betreuung eines Hochschullehrers. Dabei arbeiten Studierende kontinuierlich während des gesamten Semesters an einem wissenschaftlichen Thema oder einem anwendungsnahen Projekt.
Studierende erwerben dadurch die Kompetenz, fortgeschrittene industrielle und wissenschaftliche Projekte im IT-Bereich selbständig zu planen, durchzuführen und im Team abzuschließen.
Arbeitsgebiete können durch jeden Professor der Fakultät eröffnet werden, dies erfolgt durch Aushang zu Semesterbeginn.
Forschungsprojekte bewegen sich an der vorderen Front der aktuellen Informatikforschung und können in Zusammenarbeit mit Forschungsinstitutionen durchgeführt werden.
Anwendungsprojekte sind von besonderer Relevanz für die industrielle Praxis und können in Zusammenarbeit mit Industrieunternehmen durchgeführt werden.
Studierende können Grundlagen der HCI methodisch anwenden, um insbesondere neue Entwicklungen in der Mensch-Maschine-Kommunikation (MMK) rasch bewerten und diese in effektive, effiziente und zufriedenstellende Produkte transformieren zu können. Sie erlangen dadurch eine hohe Projektleitungskompetenz, die sich in MMK-Projekten oft als schwierig erweist. Daher liegt eine besondere Betonung auf teilweise modulübergreifender Arbeit an MMK-Projekten. Auch die HCI-Forschungsmethodik und die HCI-relevanten Methoden und Werkzeuge der Statistik sind den Studierenden bekannt und können durch diese aktiv zur Evaluation in HCI-Projekten eingesetzt werden.
Durch Exkursionen und regelmäßige Abendveranstaltungen erhalten sie einen vertieften Einblick in die Verbandsarbeit, konkret die Arbeit der Usability Professionals' Association (UPA).
Im begleitenden Labor wenden die Studierenden das Erlernte in Gruppenarbeit an einem konkreten Projekt an.
Die Unterrichts- und Prüfungssprache ist Englisch.
Teilnahme am Unterricht, selbstständiges Arbeiten (Labor-Tests für Benutzermodellierung und die Auswertung der Rückmeldungen mit Hilfe von Fitts 'Law, Präsentation der Ergebnisse).
Im Labor wenden die Teilnehmer aktuelle Frameworks wie Angular2 oder Ionic 2 an, um mobile und web-basierte Client-Serveranwendung in einer interdisziplinären Teamarbeit und mit modernen Entwicklungsparadigmen zu erstellen. Sie lernen dabei, wie sich Web-Anwendungen automatisch für unterschiedliche Gerätetypen anpassen können und welche Einschränkungen mobile Geräte dabei aufweisen.
Unterstützte Gruppenarbeit im Labor, selbständige Arbeit. Mündliche Prüfung durch Präsentation und Verteidigung der Lösung.
Nach erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, die Architektur großer Software-Systeme selbstständig zu entwerfen, zu gestalten und kritisch zu bewerten. Sie können Software in Komponenten und Konnektoren zerlegen, geeignete Frameworks auswählen, deren Einsatz bewerten und Funktionalitäten sowie Abläufe logisch organisieren. Dabei planen und gestalten sie auch parallele und nebenläufige Abläufe und integrieren diese in Architekturen für verschiedene Anwendungsfelder. Darüber hinaus haben die Studierenden ihre technischen, sozialen und persönlichen Kompetenzen sowie ihre Kommunikationsfähigkeit und ihr Selbstmanagement gezielt weiterentwickelt und gelernt, diese Fähigkeiten im Kontext großer Softwareprojekte effektiv einzusetzen.
Die Lehrveranstaltung "Software-Architekturen" vermittelt vertiefte Kenntnisse und Fähigkeiten zur Entwicklung und Analyse moderner Software-Architekturen.
Im ersten Teil der Vorlesung werden relevante Prozessmodelle wiederholt und darauf aufbauend Ansätze für eine agile Architekturentwicklung erarbeitet. Studierende lernen verschiedene View-Modelle kennen, vergleichen diese und vertiefen ihre Kenntnisse in Modellierungstechniken für Komponenten und Konnektoren. Bereits erlernte Entwurfsmethoden werden erweitert, insbesondere im Hinblick auf die Nutzung von Szenarien zur Beschreibung und Bewertung nicht-funktionaler Anforderungen.
Im zweiten Teil der Vorlesung stehen elementare Architekturmuster im Fokus, darunter Schichten-Architektur, hexagonale Architektur, Onion-Architektur, Blackboard, Pipes-and-Filters und Event-Driven Architecture. Studierende erlernen die Strukturen, Eigenschaften und Anwendungsmöglichkeiten dieser Muster und verstehen ihre Rolle in typischen Middleware-Konzepten. Die Vorlesung zeigt, wie solche Architekturvorlagen Ansatzpunkte für die Organisation flexibler und evolutionärer Systeme bieten.
Der dritte Teil der Vorlesung widmet sich der Architektur auf Modulebene. Anhand praxisnaher Szenarien und Beispiele wird der Einsatz von Patterns für den Business Layer thematisiert und im jeweiligen Kontext analysiert. Ziel ist es, den Studierenden ein fundiertes Verständnis für die Gestaltung und Bewertung modularer Software-Architekturen zu vermitteln.
Seminaristischer Unterricht, Übungsblätter und Präsentationen
Im ersten Teil der Vorlesung werden die Konzepte der nebenläufigen Programmierung vorgestellt, aufgefrischt, vertieft und mit Hilfe der Möglichkeiten der Programmiersprache Java und des JDK praktisch in Übungen erprobt und angewendet. Der zweite Teil der Vorlesung bespricht verschiedene aktuelle praktische Anwendungsfelder der nebenläufigen Programmierung in Form kurzer, kompakter Einführungen. Darunter befinden sich Themen wie Betriebssysteme und Nebenläufigkeit am Beispiel Linux, mobile Plattformen und Nebenläufigkeit am Beispiel Android, Map/Reduce und das Hadoop Ökosystem, Web und Nebenläufigkeit, Nebenläufigkeit in Go und Rust, Reactive Extensions (Rx), Cloud, Cluster und verteilte Systeme, Microservice Architekturen, Deep Learning,
Die erfolgreiche Teilnahme an der Vorlesung wird durch die eigenständige Bearbeitung der Übungen dokumentiert und begutachtet. Im zweiten Teil der Vorlesung werden diverse aktuelle Quellen und Präsentationen vorgestellt und diskutiert.
Im Labor wenden die Teilnehmer aktuelle Frameworks wie Angular2 oder Ionic 2 an, um mobile und web-basierte Client-Serveranwendung in einer interdisziplinären Teamarbeit und mit modernen Entwicklungsparadigmen zu erstellen. Sie lernen dabei, wie sich Web-Anwendungen automatisch für unterschiedliche Gerätetypen anpassen können und welche Einschränkungen mobile Geräte dabei aufweisen.
Aufgabenstellung online, basierend auf einer Auswahl industrieller Frameworks und Bibliotheken. Die Literatur wird in jedem Semester passend zur Aufgabenstellung vorgestellt.
Unterstützte Gruppenarbeit im Labor, selbständige Arbeit. Mündliche Prüfung durch Präsentation und Verteidigung der Lösung.
Dieses Modul besteht aus den beiden Lehrveranstaltungen Codierungstheorie und angewandte Kryptographie. Im Rahmen dieses Moduls soll ein Verständnis sowohl für die Zielsetzung, als auch für die Methoden dieser beiden Gebiete erreicht werden. Die Teilnehmer sollen durch den Kurs in der Lage sein, die Methoden der beiden Gebiete zu verstehen und anwenden und die Sicherheit von Systemen einschätzen zu können. Insbesondere sollen Sie eine Beurteilungsgrundlage bekommen, um die Bedeutung von aktuellen Informationen/Nachrichten über die Sicherheit von Systemen richtig einschätzen zu können.
In der Codierungstheorie wird die Fragestellung behandelt, wie trotz fehlerhafter Übertragung korrekte Ergebnisse erzielt werden können. Dabei sind die zugrundeliegenden Fehler bzw. Fehlermodelle von der Übertragungstechnik abhängig. In der Kryptographie versucht man die Sicherheitsziele trotz bewusster Manipulationen durch einen Angreifer zu erreichen. Im einen Fall hat man es also mit gezielten Manipulationen, im anderen Fall mit mehr zufällig verteilten Fehlern zu tun. Diese zwei Gebiete haben also unterschiedliche, aber doch verwandte Zielrichtungen. Es kommen teilweise die gleichen Methoden zum Einsatz. Ein typisches Beispiel für den engen Zusammenhang stellt das moderne Verschlüsselungsverfahren AES dar. Bei einer der Teilfunktionen wird ein Code aus der Codierungstheorie verwendet um eine Funktion mit hoher Durchmischung (Diffusion) für den Einsatz in der Kryptographie zu bekommen.
In dieser Vorlesung werden die grundlegenden Methoden der Kryptographie vorgestellt. Dabei wird nach den einführenden Grundlagen der Schwerpunkt auf die Mechanismen gelegt, die typischerweise bei modernen Anwendungen zum Einsatz kommen.
Wesentliche Themen sind symmetrische Verschlüsselungsverfahren, insbesondere Blockchiffren (DES, AES), Modes of Operation (z.B. EBC, CBC), Hash-Funktionen, Message-Authentication-Codes, Public-Key-Verfahren (z.B. RSA, Diffie-Helman, ElGamal), Key-Management und elektronische Unterschriften.
Im weiteren Verlauf werden verschiedene, aktuelle Anwendungen der IT-Sicherheit, die auf dem Einsatz kryptographischer Verfahren beruhen, behandelt: E/Mail-Sicherheit (z.B. PGP, S-MIME), WWW-Sicherheit (SSL), Netzwerksicherheit (IP-SEC), Sicherheit von Web-Servern (Authentifikations-Mechanismen). Anhand dieser Beispiele werden wesentliche Grundprinzipien der IT-Sicherheit erläutert.
Ausführliche Folien werden im Intranet angeboten. Die Foliensätze der einzelnen Themen enthalten jeweils gesondert Literaturhinweise.
Einen Überblick bietet:
Die Lehrveranstaltung wird zu ca. 2/3 als Vorlesung durchgeführt. In der übrigen Zeit werden betreute Übungen durchgeführt, um die Techniken an praktischen Rechenbeispielen zu vertiefen.
Diese Vorlesung vermittelt das Grundwissen über Codes und Codierungen und die gängigen Algorithmen aus dem Gebiet der Quellen-, Kanal- und Leitungscodierung. Im Einzelnen werden Themen aus den folgenden Bereichen behandelt: Informations- und Codierungstheorie, Datenkompression, Fehlererkennende und -korrigierende Codes, Grenzen der Datenübertragung.
Vorlesungsteilnahme
Studierende erlernen das Verständnis und die Konzeption von mobilen und verteilten System-Architekturen. Sie verwenden und verstehen die Begrifflichkeiten von Komponenten, Schichten, Schnittstellen und Standards. Funktionale und nichtfunktionale Anforderungen an die System- und Software-Architektur werden beherrscht, die Verteilbarkeit, Integration und das Zusammenspiel unterschiedlicher Technologien verstanden.
Aufbauend auf einem vorausgesetzten Verständnis grundlegender Prinzipien und Paradigmen verteilter Systeme behandelt die Master-Vorlesung Fallstudien aktueller Anwendungsgebiete. Die Auswahl behandelter Inhalte variiert. Es werden zum einen praktisch bedeutsame (industrierelevante) Bereiche berücksichtigt. Zum anderen werden aktuelle Trends aus Forschung und Entwicklung aufgegriffen.
Einen wesentlichen Themenkomplex der aktuellen Vorlesung stellen dienstbasierte Informationssysteme dar. Deren Strukturen und Konstruktionsprinzipien werden in Hinsicht auf serviceorientierte Systemtechniken, Software Architekturen und Organisationsstrukturen dargestellt. Serviceorientierte Konzepte werden am Beispiel von Web Service Technologien veranschaulicht und anhand konkreter Werkzeuge, Frameworks und Plattformen untermauert.
Eigenständige Arbeitsanteile betreffen Vor- und Nacharbeit der Vorlesungsinhalte und Klausurvorbereitung.
In der Vorlesung „Mobile Systeme“ erwerben die Studierenden ein grundlegendes Verständnis der Herausforderungen und Technologien im Bereich mobiler Kommunikationssysteme. Nach Abschluss der Vorlesung können sie grundlegende Prinzipien drahtloser und mobiler Kommunikation erläutern und spezifische Technologien wie Mobilitätsmodelle, mobile Ad-hoc-Netze (MANETs), verzögerungstolerante Netze (DTNs) und mobiles TCP analysieren und bewerten. Darüber hinaus sind sie in der Lage, Problemstellungen im Bereich mobiler Systeme zu identifizieren und geeignete Lösungsansätze in praktischen Szenarien anzuwenden.
Die Vorlesung behandelt die folgenden Inhalte:
• Grundlagen mobiler Systeme: Herausforderungen durch Mobilität, drahtlose Kommunikation und Netzwerke.
• Mobilitätsmodelle: Simulation und Analyse individueller und gruppenbasierter Mobilität.
• Mobile Ad-Hoc-Netze (MANETs): Selbstorganisierende Netzwerke, Routing-Protokolle und Anwendungsfälle.
• Verzögerungstolerante Netze (DTNs): Kommunikation bei intermittierender Konnektivität und „Store-Carry-Forward“-Mechanismen.
• Mobiles TCP: Anpassung und Optimierung des Transmission Control Protocols für mobile und drahtlose Netzwerke.
Die Vorlesung wird im Flipped Classroom-Format unterrichtet. Die Studierenden bereiten sich eigenständig mithilfe von Vorlesungsfolien und Erklärvideos auf die Live-Termine vor. In den Präsenzveranstaltungen werden Inhalte durch Fallstudien und Übungen vertieft. Zur Selbstüberprüfung stehen Online-Tests zur Verfügung, die den Studierenden Feedback und die Möglichkeit zur Vertiefung des Gelernten bieten. Die Prüfungsleistung besteht aus einer 60-minütigen Klausur, die Teil der Modulklausur „Mobile und Verteilte Systeme“ ist. Der Arbeitsaufwand beträgt insgesamt 60 Stunden, die sich auf 20 Stunden Präsenzzeit in den Live-Terminen, 20 Stunden asynchrones Lernen mit Vorlesungsfolien und Videos sowie 20 Stunden für Prüfungsvorbereitung und Nachbereitung verteilen.
Seminaristischer Unterricht, Übungsblätter
Das Labor vermittelt praktische Einblicke in die Konstruktion verteilter Informationssysteme. Dabei werden aktuelle Paradigmen aufgegriffen und erweiterte Prinzipien im Kontext realitätsnaher Anwendungsfälle behandelt. Die konkrete Aufgabenstellung orientiert sich an aktuellen Themenstellungen industrieller Forschung und Entwicklung. Sie variiert daher von Semester zu Semester. Die praktische Umsetzung erfolgt unter Verwendung moderner industrierelevanter Plattformen und Frameworks.
Die Literatur wird in jedem Semester passend zur Aufgabenstellung vorgestellt. Hierzu zählen auch Online Tutorials basierend auf einer Auswahl aktueller Frameworks und Bibliotheken.
Es werden Grundkenntnisse in den Bereichen web- und komponentenbasierter verteilter Systeme sowie Web- und Datenbankprogrammierung in Java vorausgesetzt. Die Veranstaltung beinhaltet 50 % betreute Präsenszeit (2 SWS) im Labor sowie 50% selbständige Arbeit. Der Leistungsnachweis erfolgt durch Präsentation und Verteidigung der Lösung.
Dieses Modul ist die Fortsetzung der Veranstaltung "Wissenschaftliches oder projektbasiertes Arbeiten unter Anleitung I". In diesem Modul sollen Studierende kontinuierlich während des gesamten Semesters an einem wissenschaftlichen Thema oder einem anwendungsnahen Projekt arbeiten. Es kann, muss sich aber nicht um dasselbe Projekt wie im ersten Veranstaltungsteil handeln.
Studierende erwerben dadurch die Kompetenz, fortgeschrittene industrielle und wissenschaftliche Projekte im IT-Bereich selbständig zu planen, durchzuführen und im Team abzuschließen.
Parallel dazu wird ein fakultätsöffentlicher Seminarvortrag vorbereitet.
Arbeitsgebiete können durch jeden Professor der Fakultät eröffnet werden, dies erfolgt durch Aushang zu Semesterbeginn.
Forschungsprojekte bewegen sich an der vorderen Front der aktuellen Informatikforschung und können in Zusammenarbeit mit Forschungsinstitutionen durchgeführt werden.
Anwendungsprojekte sind von besonderer Relevanz für die industrielle Praxis und können in Zusammenarbeit mit Industrieunternehmen durchgeführt werden.
Nach Maßgabe der Arbeitsgruppe
Vorkenntnisse: Nach Maßgabe der Arbeitsgruppe
Format: Präsenzzeit mit Gruppendiskussion 30 %, selbständige Arbeit 70 %.
Mündliche Prüfung 30 Minuten
Betreuung: In der Regel wird wöchentlich zu einem festen Termin eine Sitzung der Arbeitsgruppe stattfinden, der Betreuungsumfang umfasst mindestens 1 SWS je Teilnehmer
Die Teilnehmenden des Seminars erstellen unter Anleitung eines betreuenden Dozenten zu einem Thema eine schriftliche Ausarbeitung in Hausarbeit. Die Seminarthemen sind in Themengruppen klassifiziert und orientieren sich in der Regel an aktuellen Informatik-Problemen. Neben der fachlichen Problemstellung steht in dieser Lehrveranstaltung auch die Selbstdarstellung des Studierenden im Vordergrund. Die Arbeit wird durch eine Präsentation abgeschlossen.
Besprechungen mit dem betreuenden Dozenten; ev. experimentelle Untersuchungen; Literatur-Aufarbeitung; Berichterstellung; Teilnahme an den Seminarvorträgen der Kommilitonen; Diskussion der Präsentationen der Kommilitonen.
Die Master Thesis ist die Abschlussarbeit des Informatikstudiums.
Sie dient dem Nachweis der erworbenen Fähigkeiten, indem ein wissenschaftliches oder anwendungsnahes Thema mit großer Selbständigkeit bearbeitet wird. Dies geschieht im Regelfall in Zusammenarbeit mit einem Industrieunternehmen oder einer Forschungsinstitution nach Maßgabe der Studien- und Prüfungsordnung.
In einer Master Thesis soll insbesondere die Fähigkeit bewiesen werden, fachlich sowohl tiefer als auch umfassender als im grundlegenden Bachelor-Studium in das bearbeitete Gebiet hineinzureichen; ferner soll als Ergebnis der Master Thesis eine abstrahierende Zusammenfassung des bearbeiteten Themas stehen, die einem wissenschaftlichen Anspruch genügt.
In der Abschlussarbeit bearbeiten die Studierenden in einem vorgegebenen Zeitraum eine praxisnahe Problemstellung oder eine Forschungsaufgabe selbstständig mit wissenschaftlichen Methoden und Erkenntnissen des Fachs. Sie strukturieren dazu die Aufgabenstellung, prüfen Abhängigkeiten, stellen die erforderlichen Ressourcen zusammen und bearbeiten das Problem an Hand eines Zeitplans. Die schriftliche Thesis fasst die Ergebnisse didaktisch sinnvoll aufbereitet zusammen und genügt wissenschaftlichen Standards.
Passend zur Aufgabenstellung nach Absprache