Modul Wahlpflichtfächer 1, Informatik (Bachelor) (SPO 7)

Englische Sprache
Kompakte Schrift

Farbschema

Modulübersicht

Wahlpflichtfächer 1

INFB5607

Prof. Dr.-Ing. Holger Vogelsang

/

5. Semester

keine

keine

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.

Einzelprüfungen
Lehrveranstaltung App-Programmierung

I W912

Vorlesung

M.Sc. Adrian Wörle

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Klausur 90 Min. (benotet)

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.

  • Vorlesungsfolien

Seminaristischer Unterricht mit Übungsaufgaben und Bonusaufgabe

Lehrveranstaltung Bildverarbeitung Labor

I W773

Labor

Prof. Dr.-Ing. Astrid Laubenheimer

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Laborarbeit 1 Semester (benotet)

Im Bildverarbeitungslabor werden die Inhalte der Vorlesung Computer Vision in praktischen Übungen angewandt und vertieft.

Vorherige Anmeldung oder Absprache mit einem Dozenten erforderlich

  • Für das Labor stehen neben den Aufgabenbeschreibungen Frameworks und Beispielbilder zur Verfügung, die jeweils unter ILIAS abrufbar sind.
  • D. L. Baggio, S. Emami, D. M. Escriva, K. Ievgen, N. Mahmood, J. Saragih, R. Shilkrot, "Mastering OpenCV with Practical Computer Vision Projects", 2012.

Für das Labor besteht zu allen Terminen Anwesenheitspflicht.

Lehrveranstaltung Cloud Computing

I W913

Vorlesung

Dipl. Inform. (FH) Michael Fischer
Dipl. Inform. (FH) Georg Magschok

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Klausur 90 Min. (benotet)

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.

  • Powerpoint-Folien
  • Tafelmitschrift

Vorlesung

Lehrveranstaltung Computer Vision

I W772

Vorlesung

Prof. Dr.-Ing. Astrid Laubenheimer

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Klausur 60 Min. (benotet)

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.

  • Skripte in Folienform
  • R. C. Gonzalez, R. E. Woods, "Digital Image Processing", Prentice Hall International. 2008
  • Wilhelm Burger, Mark J. Burge, "Principles of Digital Image Processing: Fundamental Techniques", Springer-Verlag London, 2009

Vorlesung mit integrierten Einheiten der Gruppenarbeit.

Lehrveranstaltung Einführung in die Angewandte Kryptographie

I W505

Vorlesung

Dr. Carmen Kempka

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Klausur 90 Min. (benotet)

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:

  • Claudia Eckert: IT-Sicherheit. Konzepte - Verfahren - Protokolle, München, Oldenbourg Wissenschaftsverlag, 2013, 8. Auflage, ISBN 978-3-486-58270-3.

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.

Lehrveranstaltung Game Programming

I W620

Vorlesung

M.Sc. Raphael Hettich

englisch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Klausur 90 Min. (benotet)

  • Warum spielen wir?
  • Spielen als Kompetenzerwerb
  • gestalterische Aspekte, "Lenses" zur Beurteilung der Qualität von Spielen
  • Ethik in Computerspielen, Belohnungsmechanismen und psychologische Wirkungsweisen
  • Architektur von Computerspielen: Game View, Game Logik und Spielschleife
  • Aufbau von Gaming Engines, Beispiele dazu. Event Management in Games. Physics Engines und ihre Programmierung. Modellierungssprachen X3D, COLLADA.

  • Lehrbücher nach aktueller Vorstellung zu Veranstaltungsbeginn.

Vorlesungsteilnahme, ggf. Bonusaufgaben (Entwurf und Programmierung eigener Spiele).

Lehrveranstaltung IT-Sicherheitsmanagement

I W394

Vorlesung

Prof. Dr. rer. pol. Mathias Philipp

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Klausur 90 Min. (benotet)

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

Lehrveranstaltung Mathematik für Maschinelles Lernen

I W610

Vorlesung

Prof. Dr.-Ing. Astrid Laubenheimer
M.Sc. Ahmad Assani

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Klausur/mündl. Prüfung 90/20 Min. (benotet)

Lehrveranstaltung Parallele Systeme

I W391

Vorlesung

Prof. Dr. Christian Langen

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Mündliche Prüfung 20 Min. (benotet)

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

  • können die Studierenden Parallelrechner unter Verwendung einer Entwicklungsumgebung programmieren und testen.
  • können die Studierenden im Team Problemlösungen erstellen, implementieren und testen.

Vorlesung Parallele Systeme:

  • Einführung in Parallelrechner am Beispiel der CUDA-Architektur
  • Speicheranbindung, Speichermanagement
  • Programmierung: Parallelisierung von Schleifen, Kernels
  • Thread-Programmierung
  • Grid-Programmierung
  • 2D-Grids
  • Synchronisation
  • Atomare Funktionen
  • Optimierungsstrategien
  • Anwendungen im Bereich "Scientific Computing", z.B.:
  1. Differenzengleichungen,
  2. Lineare Algebra,
  3. 2D-Wärmeleitungsproblem
  4. Chiffrierung
  5. Mehrkörperproblem
  6. Monte-Carlo-Verfahren

Medienformen:

  • Hand-Outs (Powerpoint-Folien als PDF-Dokumente)
  • Lehrvideos
  • Beispielprogramme
  • Unterlagen zum Workshop

Spezifische Literatur in Hand-Out

Weitere Literatur:

  • Cheng, John; Grossman, Max, McKercher, Ty: Professional CUDA C Programming (NVIDIA). Wrox, 2014
  • Cook, Shane: CUDA Programming. A Developer's Guide to Parallel Programming. Morgan Kaufmann, 2013
  • Farber, Rob: CUDA Application Design and Development, Morgan Kaufman, 2011
  • Han, Jaegeun; Sharma, Bharatkumar: Learn CUDA Programming, Packt, 2019
  • Kirk, David B., Hwu, Wen-mei W.: Programming Massively Parallel Processors: A Hands-on Approach (NVIDIA). Morgan Kaufmann, 2016.
  • Sanders, Jason; Kandrot, Edward: CUDA by Example. An Introduction to General-Purpose GPU Programing, NVIDIA, Addison Wesley, 2012
  • Storty, Duane; Yurtoglu, Mete: CUDA for Engineers. An Introduction to High-Performance Parallel Computing, Addison Wesley, 2016
  • Tuomanen, Brian: Hands-On GPU Programming with Python and CUDA, Packt, 2018
  • Vaidya, Bhaumik: Hands-on GPU-Accelerated Computer Vision with OpenCV and CUDA, Packt, 2018
  • Wilt, Nicolas: The CUDA Handbook. A Comprehensive Guide to GPU Programming. Addyson Wesley 2013.

Die theoretischen Kenntnisse und praktischen Fähigkeiten der Studierenden werden anhand einer Projektpräsentation (Dauer 20 min mit Diskussion 10 min) bewertet.

Lehrveranstaltung Praxiskurs Empirische Softwaretechnik

I Wxyz

Projektvorlesung

Prof. Dr. Zoltán Nochta
Prof. Dr. Christian Zirpins
Prof. Dr. Oliver Waldhorst

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Praktische Arbeit 1 Semester (benotet)

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.

  1. Vorlesungsfolien und Dokumentation in ILIAS
  2. Wohlin, Claes, et al. Experimentation in Software Engineering. Springer Nature, 2024.
  3. Weitere Literatur wird in der Veranstaltung bekanntgegeben

Seminaristische Arbeit mit praktischen Anteilen, Praktische Gruppenarbeit + Abschlusspräsentation