Die Wahlpflichtfächer versetzen die Studierenden in die Lage, nach eigenem Interesse Schwerpunkte zu setzen und damit weitere Fachgebiete der Informatik oder Medieninformatik anzuwenden. Die zum Modul gehörenden Lehrveranstaltungen werden jeweils zu Semesterbeginn im Intranet bekannt gegeben.
Die Vorlesung vermittelt die Grundlagen der mobilen Anwendungsentwicklung anhand der Android-Plattform. Hierfür werden verschiedene Konzepte behandelt, die für die Erstellung einer Android-App von Bedeutung sind. Dazu zählen allgemeine Elemente, wie das Android Studio, Gradle, Activity, LifeCycle und Kotlin sowie die Verwendung des neuen UI-Frameworks Compose und weitere essenzielle Komponenten wie Architektur, ViewModel, Datenbank, Netzwerk und Coroutines. Ziel der Vorlesung ist es, den Studierenden das eigenständige Entwickeln einer einfachen Android-App zu ermöglichen. Begleitend dazu wird auch der unterstützende Einsatz von KI-Assistenten wie Github Copilot beleuchtet, bspw. für die Codevervollständigung und -generierung oder das Erklären von Codeabschnitten und Logik. Darüber hinaus werden Themen wie Tools, Profiling und Testing angesprochen.
Seminaristischer Unterricht mit Übungsaufgaben und Bonusaufgabe
Im Bildverarbeitungslabor werden die Inhalte der Vorlesung Computer Vision in praktischen Übungen angewandt und vertieft.
Für das Labor besteht zu allen Terminen Anwesenheitspflicht.
Das Modewort "Cloud" vertritt eine Reihe interessanter Technologien, die aus dem Arbeiten eines Informatikers kaum noch wegzudenken sind. Diese werden umfassend gesammelt, ergründet, erklärt und verstanden. Dabei steht der Nutzen für die Studierenden im Vordergrund, egal ob sie in die Rolle des Anwenders, des Entwicklers, des Administrators oder des Entrepreneurs schlüpfen. Ziele der Veranstaltung sind das Verstehen der Hintergründe des weiten Begriffs "Cloud Computing" unter vielen Blickwinkeln: Definition, Use Cases, Technologische Grundlagen, Anbieter, APIs, Skalierung, Redundanz uvm.
Vorlesung
Im ersten Teil der Vorlesung werden elementare Grundlagen der Bildverarbeitung von lokalen Punktoperationen bis zu Filtertechniken und geometrischen Operationen behandelt. Im zweiten Teil werden vermehrt Techniken des maschinellen Sehens, wie z.B. 3D-Techniken und die Hinführung zu Situationsbeschreibungen besprochen.
Vorlesung mit integrierten Einheiten der Gruppenarbeit.
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.
Vorlesungsteilnahme, ggf. Bonusaufgaben (Entwurf und Programmierung eigener Spiele).
Der IT-Grundschutz des BSI bietet eine gute Grundlage dafür, den Herausforderungen des IT-Sicherheitsmanagements auf professionelle
Weise gerecht zu werden.
Die Studierenden lernen Informationssicherheit zu strukturieren, systematisch nach Schwachstellen zu suchen, die Angemessenheit umgesetzter
Schutzmaßnahmen zu prüfen und Sicherheitskonzepte zu entwickeln und fortzuschreiben, die zu
den Geschäftsprozessen, Aufgaben und Organisationsstrukturen eines Unternehmen Institution passen und allgemein
anerkannten Standards genügen.
Vorlesungsfolien
MC/MR-Übungsfragen in ILIAS
BSI-Standards zum IT-Grundschutz
BSI IT-Grundschutz-Kompendium
ISO/IEC 27000 Normenreihe
BSI: Online-Kurs IT-Grundschutz
Thomas W. Harich: IT-Sicherheitsmanagement - Praxiswissen für IT Security Manager, mitp Verlag
Jacqueline Naumann (Autor): ISO/IEC 27001 ISO/IEC 27002 und IT-Grundschutz: Schnelleinstieg Informationssicherheit
Allgemein:
Die Studierenden kennen den Aufbau und die Leistungsmerkmale von Parallelrechnern und können deren Eignung zur Lösung gegebener Problemstellungen im Bereich der Informatik beurteilen und sowie diese Problemstellungen durch eigene Programme in C/C++ oder Python lösen. Dazu werden Konzepte und Möglichkeiten zur Lösung der Grenzen und Defiziten klassischer Rechnerarchitekturen hinsichtlich Rechenleistung und Speicherorganisation gezeigt und studentische Seminarprojekte umgesetzt. Dadurch werden Lösungen komplexer Aufgabenstellungen möglich, die beispielsweise die Bereiche "High Performance Computing" sowie "Künstliche Intelligenz" bestimmen.
Zusammenhänge/Abgrenzung zu anderen Modulen:
Aus dem Modul "Technische Informatik 2" kennen die Studierenden Rechnerarchitekturen und -strukturen, deren Konzepte mit Hilfe von Assemblerprogrammierung erläutert und im "Digitallabor" zur Vertiefung und Festigung des Verständnisses in sechs Versuchen eingeübt wurden. Dies dient dem Verständnis und der Kenntnis klassischer Rechnerarchitekturen und vor allem deren Grenzen und Defiziten hinsichtlich Rechenleistung und Speicherorganisation.
Weitere Zusammenhänge bestehen zum Software-Projekt (INFB2217, INFBINFB2227), in dem Grundkenntnisse der Programmiersprache C vermittelt werden.
Grundkenntnisse der Digitaltechnik werden bereits durch das Modul Technischen Informatik 1 (INFB1217, INFB1227) abgedeckt und bei entsprechenden Themenblöcken (Computerarithmetik, Peripherieschnittstellen) weiterreichend vermittelt.
Zusammenhänge/Abgrenzung zu anderen Modulen:
Das Modul behandelt die speziellen Anforderungen an die Programmierung von Paralellerechnern.
Zusammenhänge bestehen zum Software-Projekt (INFB2217), in dem Grundkenntnisse der Programmiersprache C sowie der Einführung in das Maschinelle Lernen (INFB3317), in der Grundkenntnisse der Programmiersprache Python vermittelt werden .
Fachliche, methodische, fachübergreifende Kompetenzen, Schlüsselqualifikationen:
Nach Abschluss des Moduls
Vorlesung Parallele Systeme:
Medienformen:
Spezifische Literatur in Hand-Out
Weitere Literatur:
Die theoretischen Kenntnisse und praktischen Fähigkeiten der Studierenden werden anhand einer Projektpräsentation (Dauer 20 min mit Diskussion 10 min) bewertet.
Die Lehrveranstaltung vermittelt praxisnahe Methoden der empirischen Softwaretechnik und legt den Schwerpunkt auf die Analyse und Bewertung von Softwaresystemen im realen Einsatz. Im Mittelpunkt stehen Feld- und Fallstudien, die sich mit dem Verhalten von Nutzern, der Interaktion mit Software sowie deren technischen und funktionalen Eigenschaften befassen. Durch die Untersuchung in authentischen Nutzungskontexten werden realitätsnahe Erkenntnisse gewonnen, die sowohl für die Wissenschaft als auch für die Industrie von Bedeutung sind.
Studierende nehmen aktiv an der Planung, Durchführung und Auswertung einer realen Feldstudie teil, die in Kooperation mit dem Forschungsinstitut IDSS der Hochschule und Partnern aus der Industrie durchgeführt wird. Dabei arbeiten sie als Teil eines laufenden Forschungsprojekts und erproben wissenschaftliche Methoden in einem anwendungsnahen Umfeld. Die Aufgaben umfassen sowohl die systematische Erhebung und Auswertung von Nutzungsdaten als auch die organisatorische Begleitung der Studie und die technische Validierung der untersuchten Software.
Durch die praktische Erfahrung entwickeln die Teilnehmenden ein tiefgehendes Verständnis für die empirische Untersuchung von Softwaresystemen und deren Nutzung. Sie erwerben Kompetenzen im Projektmanagement, in der Anwendung empirischer Forschungsmethoden und in der softwaregestützten Datenanalyse. Zudem lernen sie, wissenschaftliche Erkenntnisse systematisch zu gewinnen und deren Relevanz für die Weiterentwicklung und Optimierung von Softwaresystemen kritisch einzuschätzen.
Seminaristische Arbeit mit praktischen Anteilen, Praktische Gruppenarbeit + Abschlusspräsentation