Die Lehrveranstaltungen dieses Moduls vermitteln fachlichen Grundlagen der Softwareentwicklung und der Informatik. Die Studierenden lernen, kleine Probleme zu analysieren und sie mit Hilfe von Programmen zu lösen. Sie wenden bestehende Lösungskonzepte an, um komplexere Probleme in kleinere aufzuteilen. Darüberhinaus lernen Sie existierende Algorithmen zu bewerten und anzuwenden.
Die Studierenden werden befähigt, die grundlegenden Java-Programmiersprachenkonstrukte, wie Variablen, Kontrollstrukturen, Methoden, Klassen, Objekte und Felder zum Lösen einfacher Probleme anzuwenden.
Die Hörer der Vorlesung erlernen Programmier- und Dokumentationskonventionen, um Java-Programme lesbar zu schreiben.
Die Studierenden erkennen rekursive Problemstrukturen und lösen Sie mit rekursiven Algorithmen.
Das Zusammenspiel von Compiler und Virtual-Machine wird von den Hörenden verstanden, Anbindungsmöglichkeiten an das Betriebssystem sind ihnen bekannt.
Die Strukturierung von Java-Projekten in Module, Pakete, Dateien und Klassen ist den Studierenden geläufig und wird von der Paket- bis zu Klassenebene selbstständig eingesetzt.
Sie sind zum Einsatz von Vererbung, Information-Hiding und Polymorphie befähigt.
Die Teilnehmer der Vorlesung wenden ihre Kenntnisse anhand von Übungsaufgaben an.
Lösen einfacher Aufgaben während der Vorlesung.
Die Lehrveranstaltung führt in die Theorie der formalen Sprachen ein und legt den Schwerpunkt auf reguläre und kontextfreie Sprachen.
Die Lehrveranstaltung festigt zunächst Grundlagen im Bereich der Aussagenlogik, der Mengenlehre, des O-Kalküls und elementarer Beweistechniken. Danach werden die klassische Gebiete der theoretischen Informatik wie z.B. endliche Automaten und deren Minimierung, reguläre Ausdrücke, die Chomsky-Hierarchie, das Pumping-Lemma für reguläre und kontextfreie Sprachen sowie zugehörige Entscheidungsalgorithmen behandelt. Weiterhin werden Kellerautomaten, Normalformen sowie Abgeschlossenheitseigenschaften besprochen.
Ziel ist der Aufbau des Verständnisses für die prinzipielle Berechnungskraft klassischer Computermodelle mit begrenzter Speicherkapazität.
Die Lehrveranstaltung findet als reine Vorlesung statt. Zahlreiche Übungsaufgaben vertiefen die vermittelten Gebiete und werden in evtl. zusätzlich angebotenen Tutorien diskutiert.
Mit wöchentlichen Übungsaufgaben vertiefen die Studierenden am Rechner die praktischen Inhalte der Vorlesung.
Sie benutzen eine integrierte Java-Entwicklungsumgebung, um damit Programme zu erstellen, zu testen und zu ändern. In den darauf folgenden Übungen programmieren die Studierenden einfache Berechnungen mit Java unter Verwendung von Variablen, Ausdrücke und Kontrollstrukturen. Dabei werden auch Aufgabenstellungen der grafischen Datenverarbeitung bearbeitet. Später entwickeln die Studenten objektorientierte Programme am Rechner. Am Ende lösen Sie rekursive Probleme und implementieren beispielsweise Lösungsstrategien mit Hilfe von Backtracking.
Praktische Übungen
Die Studierenden erlernen die grundlegenden Begriffe der technischen Informatik. Sie eignen sich die mathematischen Konzepte der Zahlendarstellung und der booleschen Algebra an, die für die Analyse und den Entwurf von Hardware-Schaltungen erforderlich sind. Sie erlernen, wie die gängigen Grundelemente der Digitaltechnik aufgebaut sind und wie sich diese zu komplexen Schaltnetzen und Schaltwerken kombinieren lassen. Ferner werden die Studierenden dazu befähigt, den Aufbau und die Funktionsweise gängiger Standardschaltungen, wie zum Beispiel Addierer oder Schieberegister, zu erklären. Sie verstehen die Grundkonzepte der Instruction-Set-Architektur eines Prozessors und können einfache Assembler-Programme für einen rudimentären Modellprozessor erstellen.
Die Lehrveranstaltung vermittelt Grundlagenwissen im Bereich der Logik und des Schaltungsentwurfs. Es wird gezeigt, wie die Funktionalität eines Rechners in elementare Operationen zerlegt werden kann, die in Form von Logikgattern dann eine physikalische Realisierung erfahren. Es wird erlernt, wie daraus gewünschte Funktionskomponenten entworfen werden, welche mit einem Minimum an Gattern auskommen. Damit wird die Grundlage entsprechender CAE-Systeme gelegt. Im Einzelnen werden folgende Themen behandelt: Grundlegende Funktionsweise eines Computers; Kenntnis der grundlegenden logischen Schaltungsblöcke; Technologien zur Realisierung der Grundkomponenten; Kenntnis der wichtigsten elektrischen Kenngrößen; Zahlen- und Zeichendarstellung in verschiedenen Codes; Grundlagen der Schaltalgebra; Methoden der Vereinfachung Boolescher Ausdrücke; Einsatz von CAE Software; Entwerfen kombinatorischer Schaltungen; Entwurf von zweistufigen Schaltnetzen; Entwurf von synchronen Schalt werken; Flipflops; Zähler und Register.
Vorlesungsteilnahme
Begleitend zur Vorlesung werden jede Woche mehrere Übungsaufgaben bearbeitet. Die Aufgaben stammen aus den Bereichen Zahlendarstellung, Boolesche Algebra, Schaltungsaufbau und -minimierung, Standardschaltungen und Mikrorechner-Architektur.
Praktische Übungen
Die Studierenden lernen die mathematischen Grundlagen der linearen Algebra, die innerhalb von Informatikanwendungen benötigt werden, kennen. Diese Grundlagen werden insbesondere in der Computergrafik, Robotik, Bildverarbeitung, Kryptographie, Digitaltechnik und auch in vielen weiteren Gebieten der Informatik benötigt. Weiterhin werden die Teilnehmerinnen und Teilnehmer befähigt, einfache mathematische Fragestellungen selbständig zu bearbeiten.
Die Teilnehmerinnen und Teilnehmer eignen sich Grundkenntnisse der Mathematik, insbesondere der linearen Algebra, an. Sie können die Methoden selbständig auf kleinere, mathematische Aufgabenstellungen anwenden. Der Schwerpunkt der linearen Algebra liegt dabei auf anwendungsorientierten Aspekten, wie sie in der Computergraphik und bei 3D Simulationen eingesetzt werden.
Die behandelten Themen umfassen: Indirekter Beweis, Lösungsmengen, Zweistellige Relationen, Ordnungsrelationen, Äquivalenzrelationen, Modulo-Rechnen, Euklidscher Algorithmus, Funktionen, Operationen, Gruppen, Ringe, Körper, Polynomringe, Endliche Körper, Horner-Schema, Interpolationspolynome, Vollständige Induktion, Kombinatorik, Vektorräume, Basis, Dimension, Lineare Gleichungssysteme, Rang, Gauß-Jordan-Algorithmus, Determinanten, Matrizen, Lineare Abbildungen, Invertieren von Matrizen, Rotationsmatrizen, Translationen, Skalierungen, Spiegelungen, Skalarprodukt, Norm, Vektorprodukt, Orthogonale Matrizen, Eigenwerte, Eigenvektoren, homogene Koordinaten.
Die Lehrveranstaltung wird als Vorlesung durchgeführt. Begleitend werden Übungsblätter selbständig bearbeitet. Ferner sollte der Stoff der Vorlesung selbständig nachgearbeitet werden. Es werden Tutorien zur weiteren Unterstützung der Teilnehmer angeboten. In den Tutorien wird insbesondere eine Unterstützung beim Bearbeiten der Übungsaufgaben angeboten.
Das Labor vertieft die Kenntnisse der zugehörigen Vorlesung, vermittelt Grundkenntnisse im Umgang mit Computer-Algebra-Systemen und zeigt das selbständige Lösen mathematischer Aufgabenstellung mit Rechnerunterstützung.
Mit Hilfe des Computer-Algebra-System Maple werden verschiedene, angewandte, mathematische Fragestellungen aus den Bereichen Geometrie, Kurven, Interpolation und Gleichungssysteme gelöst. Einen weiteren Schwerpunkt bilden die durch Matrizen darstellbaren Abbildungen und homogene Koordinaten, wie sie für die Computergrafik grundlegend sind.
Betreute Laborübungen und eigenständiges Arbeiten.
Im Rahmen der Veranstaltungen werden drei Übungsblätter bearbeitet, die in der Lehrveranstaltung verteilt werden. Die Blätter können auch im Intranet abgerufen werden.
Nach erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage,
Nach einem Einstufungstest können Studierende ihre Englischkenntnisse auf drei Niveaustufen vertiefen. Das Eingangsniveau setzt die Kompetenzstufe A2 (Basic User) im sechsstufigen Gemeinsamen Europäischen Referenzrahmen voraus. Die ersten zwei Niveaustufen (Englisch für Fortgeschrittene 1 und 2) beschäftigen sich neben einer Wiederholung der Grammatik vorwiegend mit Themen aus der berufsorientierten Allgemeinsprache und der Landeskunde, z. B. Bewerbungsschreiben, Beschreibung von Produkten und Dienstleistungen, Geschäftstelefonate, Ablauf von formellen und informellen Besprechungen, Präsentationen usw. Das damit erreichte Niveau entspricht einer Punktzahl im TOEFL von 173 (computer-based) bzw. der Kompetenzstufe B2 (Independent User) des Europäischen Referenzrahmens. Auf der anschließenden Niveaustufe werden fachsprachliche Kenntnisse (Englisch für Wirtschaft und Technik) erworben: In Business English liegt das Hauptgewicht auf gesprochener Sprache und Arbeit in kleinen Gruppen. Am Anfang des Semesters gründet jede Gruppe ein eigenes Unternehmen, das sich dann im Laufe des Semesters dynamisch weiterentwickelt. Parallel dazu werden systematisch Wortschatz und sprachliche Formulierungen zu solchen Themen wie Firmenstrukturen, Meetings, Verhandlungen, Marketing, Produktion und Verkauf, Finanzen, Erfassen von Berichten sowie Präsentationen kennengelernt, damit die Teilnehmer die sprachlichen Mittel beherrschen, jeden Schritt der Simulation auf Englisch zu bewältigen. Zu den Höhepunkten des Kurses gehören eine simulierte Messe, ein Einstellungsverfahren und die Gruppenpräsentation. In Technical English werden ein technischer Grundwortschatz und typische Ausdrucksformen technischer Kommunikation erworben und praktisch angewandt.
Vorlesungsteilnahme, Kurzvorträge fachlichen Inhalts sowie die Moderation der anschließenden Diskussion, Erstellung von Zusammenfassungen gehörter Fachvorträge und Gruppenarbeiten.
Die Studenten lernen grundlegende Algorithmen und Datenstrukturen kennen. Sie sollen abschätzen, in welcher Situation spezifische und komplexe Datentypen eingesetzt werden, wie diese funktionieren und welchen Zeitaufwand sie besitzen. Sie können die Korrektheit von Algorithmen beweisen. In der Übung müssen Sie Ihre erlangten Kenntnisse anhand verschiedener Aufgaben anwenden. Sie erlernen theoretische Berechenbarkeitsmodelle und deren Grenzen.
Die Vorlesung gliedert sich in mehrere Teile, die inhaltlich aufeinander aufbauen:
Zusätzliche wöchentliche Übungsaufgaben für die Vor- und Nacharbeit der Vorlesungsinhalte und zur Prüfungsvorbereitung.
Einfache Aufgaben in der Vorlesung.
Die Vorlesung vermittelt die Grenzen der Berechnungskraft heutiger Computer, die selbst bei potentiell unendlich viel vorhandenem Speicherplatz auftreten. Themen sind vor allem die Berechen- und Unentscheidbarkeit diverser Probleme. Ebenso wird eine Einführung in die Theorie hartnäckiger Probleme gegeben.
Den Studierenden werden dazu die folgenden Gebiete der theoretischen Informatik vermittelt: elementare Berechnungsmodelle wie Turingmaschinen und WHILE-Programme, die Church-Turing-These, Unentscheidbarkeit sowie eine Einführung in die Komplexitätstheorie. Die P=NP Frage sowie die Ausnutzung hartnäckiger Probleme für sogenannte Zero-Knowledge-Beweise werden ebenfalls besprochen.
Mit dieser Lehrveranstaltung erhalten die Studierenden eine Vorstellung von prinzipiell schwer oder sogar vollständig unlösbaren Aufgabenstellungen. Sie verstehen, dass folglich Kompromisse bei der Qualität der gewünschten Ergebnisse oder der Laufzeit eingegangen werden müssen.
Die Lehrveranstaltung findet als reine Vorlesung statt. Zahlreiche Übungsaufgaben vertiefen die vermittelten Gebiete und werden in evtl. zusätzlich angebotenen Tutorien diskutiert.
Die Studierenden vertiefen das in der Vorlesung erworbene Wissen, indem sie ausgewählte Algorithmen in Java implementieren und testen. Dazu verwenden sie jeweils Standard-Entwicklungsumgebungen.
Die zu implementierenden Algorithmen und Datenstrukturen werden in einer abschliessenden Aufgabe kulminiert eingesetzt.
Vorführen und Diskussioin der Lösungen in den Übungen.
Dieser Kurs behandelt Programmiersprachen, die zur C/C++-Sprachfamilie gehören, einschließlich neuer Formen wie Go und Rust. Nach diesem Kurs sind die Studierenden in der Lage, in C/C++ zu programmieren, sind in der Lage, die Gemeinsamkeiten und Unterschiede zu Java zu verstehen und Verständnis für die neuesten Entwicklungen wie C++20 sowie neue Formen wie Go und Rust haben. In den Vorlesungen werden Konzepte durch Live-Programmierung vorgestellt, gefolgt von einigen Laborsitzungen, in denen die Studierenden an kleineren praktischen Übungen arbeiten. Mehrere (Online-)Quizzes ermöglichen den Studierenden, ihr Wissen zu testen.
Inhalt.
C/C++-Grundlagen.
C++11-Copy/Move Semantik
Aktuelle Erweiterungen und neue Richtungen.
Abschlussprüfung schriftlich ohne Hilfsmikttel. Prüfungsfragen beziehen sich auf praktische Übungen, die im Labor behandelt werden.
Gegenstand der Vorlesung ist die Einführung in die Programmiersprachen C/C++. Folgende Themen werden betrachtet.
Diese Übung ergänzt die Vorlesung und ermöglicht den Studierenden, das theoretisch erlangte Wissen in kleinen Aufgaben zu C und C++ anzuwenden.
Die Studierenden erwerben Wissen über Techniken und Konzepte verteilter Systeme am Beispiel von Web Anwendungen. Insbesondere erlangen sie Fähigkeiten, die allgemeine Architektur des Internets und des Web zu erklären, Anforderungen einer Web-Anwendung zu analysieren, eine interaktive Web-Anwendung mit HTML, CSS und clientseitigem JavaScript zu erstellen, Sicherheitsprobleme in einer Web-Anwendung zu identifizieren und serverseitigen Code für Anwendungsdienste mit Authentifizierung, Cookies und Sessions zu entwickeln.
Die Vorlesung bietet eine praktische Einführung in die Konzepte und Paradigmen verteilter Systeme am Beispiel von Web Technologien und der Anwendungsentwicklung im Web. Dies beinhaltet zunächst eine Vorstellung des World Wide Web mit Basisprotokollen wie HTTP und weiteren Standards im Kontext des Internets. Es folgt eine Einführung in den Entwurf und die Konstruktion von Web Anwendungen. Dazu gehört zum einen die Frontend-Entwicklung mit HTML5, CSS3 und clientseitigem JavaScript und zum anderen die Backend-Entwicklung mit serverseitigem JavaScript auf der Node.js Plattform. Zur Interaktion zwischen Frontend und Backend werden moderne REST/HTTP und AJAX Techniken behandelt. Zudem werden auch Mechanismen zur Personalisierung mit Cookies und Sessions sowie zur Authentifizierung von Nutzern vorgestellt. Schließlich erfolgt eine eingehende Diskussion von Sicherheitsaspekten.
In dieser Vorlesung erwerben die Studierenden praktische Fähigkeiten in der Entwicklung und Bereitstellung von Webanwendungen, die auf einem Verständnis verteilter Systeme und Webtechnologien basieren. Sie lernen den kompetenten Einsatz von HTML5, CSS3 und JavaScript für die Frontend-Entwicklung, sowie die serverseitige Entwicklung mit Node.js und verbessern so ihre Fähigkeit, dynamische Full-Stack-Webanwendungen zu erstellen. Darüber hinaus erwerben die Studierenden Kenntnisse in der Implementierung moderner REST/HTTP- und AJAX-Techniken für eine effiziente Frontend-Backend-Kommunikation sowie in der Anwendung von Cookies, Sessions und Authentifizierungsstrategien zur Personalisierung und zur Gewährleistung der Anwendungssicherheit. Diese umfassenden Fähigkeiten bereiten die Studierenden auf eine breite Palette von Aufgaben in der Webentwicklung und im Anwendungsdesign vor und rüsten sie mit den notwendigen Werkzeugen aus, um aktuelle und zukünftige Herausforderungen in diesem Bereich zu bewältigen.
Als Vorbereitung auf einzelne Vorlesungseinheiten wird das Selbststudium grundlegender Inhalte mittels der Begleitliteratur vorausgesetzt (relevante Kapitel werden in der Veranstaltung angekündigt). Weitere eigenständige Arbeitsanteile betreffen die Nachbereitung der Vorlesungsinhalte und die Klausurvorbereitung.
Im VS1-Labor erfolgt die praktische Anwendung verschiedener grundlegender Web Technologien. Die Auswahl folgt den Themen der VS1-Vorlesung. Im Labor wird in mehreren Schritten eine komplette Web Anwendung erstellt. In jedem Schritt wird jeweils ein Bereich von Web Technologien genauer betrachtet. Dadurch werden gezielt Kompetenzen bezüglich Verständnis und Anwendung von Web Technologien gefördert, u.a. in den Bereichen deklarativer Sprachen wie HTML, CSS, und JSON, der Programmierung mit JavaScript auf Client- und Serverseite sowie spezieller Technologien für Single-Page-Anwendungen und REST-Architekturen.
Durch Teilnahme an diesem Labor entwickeln Studierende ein solides Verständnis und praktische Fähigkeiten in der Anwendung grundlegender Webtechnologien zur Erstellung umfassender Webanwendungen. Sie werden geübt im Umgang mit deklarativen Sprachen wie HTML, CSS und JSON zur Strukturierung und Gestaltung von Inhalten sowie in der Implementierung von clientseitigem und serverseitigem JavaScript. Darüber hinaus verbessert das Labor ihre Fähigkeiten bei der Entwicklung von Single-Page-Anwendungen und der Nutzung von REST-Architekturen. Es stattet Studierende mit den notwendigen Werkzeugen aus, um moderne, effiziente Webanwendungen zu entwerfen und zu entwickeln, die den aktuellen technologischen Standards und den Erwartungen der Benutzer entsprechen.
Es werden Grundkenntnisse in den Bereichen allgemeiner Programmierung sowie deklarativer Web Sprachen vorausgesetzt (letztere können durch ein begrenztes Selbststudium der Begleitliteratur erlangt werden). Die Veranstaltung beinhaltet 50 % betreute Präsenszeit (1 SWS) im LKIT Labor sowie 50% selbständige Arbeit. Der Leistungsnachweis erfolgt durch Präsentation und Verteidigung der Lösung.
Allgemein:
Die Studierenden kennen den Aufbau und die Leistungsmerkmale von Rechnerarchitekturen und -systemen und können deren Eignung zur Lösung gegebener Problemstellungen im Bereich der Informatik beurteilen.
Im Modul "Technische Informatik 2" werden Rechnerarchitekturen und -strukturen behandelt, die Konzepte mit Hilfe von Assemblerprogrammierung erläutert und im "Digitallabor" zur Vertiefung und Festigung des Verständnisses in sechs Versuchen eingeübt. Dies dient dem Verständnis und der Kenntnis klassischer Rechnerarchitekturen und vor allem deren Grenzen und Defiziten hinsichtlich Rechenleistung und Speicherorganisation.
Zusammenhänge/Abgrenzung zu anderen Modulen:
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.
Im Rahmen der als Wahlfach angebotenen Seminarveranstaltung "Parallel Computing" werden Konzepte und Möglichkeiten zur Lösung der oben genannten Grenzen und Defiziten klassischer rechnerarchitekturen hinsichtlich Rechenleistung und Speicherorganisation gezeigt und durch Seminarprojekte umgesetzt.
Fachliche, methodische, fachübergreifende Kompetenzen, Schlüsselqualifikationen:
Nach Abschluss des Moduls
Studien- und Prüfungsleistungen
Die theoretischen Kenntnisse der Studierenden werden anhand einer schriftlichen Klausur (Dauer 90 min) bewertet.
Die praktischen Fähigkeiten im Umgang mit dem Entwicklungssystem und die Ergebnisse der Laborversuche werden durch Kolloquien zu jedem Laborversuch bewertet.
Medienformen
Vorlesung Technische Informatik 2:
Vorlesungsteilnahme, Vor- und Nachbereitung anhand der Vorlesungsfolien und des Vorlesungsprotokolls, Eigenständige Bearbeitung von Laboraufgaben.
Die in der Vorlesung "Technische Informatik 2" behandelten Konzepte werden im "Digitallabor" begleitend mit Hilfe von Hardware mit passender Rechnerarchitektur und -struktur eingeübt. Dies dient zur Konkretisierung und Vertiefung des Stoffes sowie zur persönlichen Erfolgskontrolle. Die Studierenden verstehen dadurch die verschiedenen grundlegenden arithmetischen Operationen und die damit verbundene Zahlendarstellung in verschiedenen Zahlensystemen.
Die Teilnehmenden beherrschen den Umgang mit einem Mikrocontroller-Entwicklungssystem und verstehen den Aufbau und die Bedienung typischer Peripherieschaltungen.
Das Digitallabor umfasst Versuche zu:
Praktische Gruppenarbeit im Labor, Durchführung der gestellten Aufgaben mit Nachweis der Funktionsfähigkeit und Beantworten von Fragen. Selbständige Arbeit zur Vorbereitung der Versuche.
Im Modul Mathematik 2 werden Grundlagen der Statistik und der Analysis vermittelt und vertieft. Eine wichtige Kompetenz hierbei ist sicheres symbolisches Rechnen und Begreifen der Mathematik als formale und eindeutige Sprache. Die Fähigkeit zur Übertragung der mathematischen Formulierungen auf informatische Anwendungen wird erlernt. Studierende erwerben und vertiefen den Umgang mit elementaren Beweistechniken, wie z.B. die der vollständigen Induktion, des direkten oder auch des Widerspruchsbeweises.
Elementare Funktionen, Folgen und Reihen, Grenzwerte und Stetigkeit, Differential- und Integralrechnung in einer und in mehreren Veränderlichen.
Vorlesung. Bearbeitung der Übungsblätter, die in den Tutorien besprochen werden.
Die Statistik-Vorlesung vermittelt Kompetenzen im Umgang und der Analyse von emprischen Daten, sowie eine Einführung in die Wahrscheinlichkeitstheorie.
Die Studierenden lernen Daten zu analysieren und zu modellieren, indem Sie die gängigen statistischen Verfahren und Modelle beispielhaft in Aktion sehen, womit Sie dann selbst in der Lage sind statische Methoden zur Datenauswertung anzuwenden.
Die Inhalte der Vorlesung umfassen:
Teschl G. und Teschl S. Mathematik für Informatiker. Band 1 und Band 2. Springer Verlag. Zum Beispiel 3. Auflage 2010.
Vorlesung. Bearbeitung der Übungsblätter, die in den Tutorien besprochen werden.
Nach erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, die Funktionsweisen und Strukturen moderner Betriebssysteme sowie deren Einbettung in verschiedene Rechnerarchitekturen zu verstehen und verständlich zu erklären. Sie können systemnahes Wissen gezielt einsetzen, um performante Software zu entwerfen, zu entwickeln und zu implementieren. Darüber hinaus sind sie in der Lage, komplexe Programmieraufgaben im Team zu organisieren, gemeinsam zu bearbeiten und erfolgreich abzuschließen. Sie haben ihre technischen, sozialen und persönlichen Kompetenzen sowie ihre Kommunikationsfähigkeit und ihr Selbstmanagement weiterentwickelt.
Die Lehrveranstaltung Betriebssysteme vermittelt die grundlegenden Aufgaben und Funktionsweisen moderner Betriebssysteme und befähigt die Studierenden, diese Techniken strukturiert und eigenständig im Team auf systemnahe Entwicklungsaufgaben anzuwenden. Die Veranstaltung gliedert sich in vier zentrale Themenbereiche:
Grundlagen, Prozessmanagement und Scheduling:
Dateisysteme und Persistenz:
Speichervirtualisierung:
Concurrency: Prozesse und Threads:
Zusätzlich werden die spezifischen Herausforderungen der jeweiligen Bereiche sowie die typischen Lösungsansätze vorgestellt und in einem praxisnahen Kontext angewendet. Praktische Übungen begleiten die Veranstaltung, um den Transfer der theoretischen Inhalte auf realistische Szenarien zu fördern.
Die in Gruppen durchzuführende Aufgabe kommt aus dem Themenkomplex Dateisysteme. Im ersten Teil wird den Studierenden vermittelt, wie sich Dateisysteme mit Hilfe von FUSE (Filesystem in User SpacE) implementieren und in das Linux-Dateisystem einhängen lassen. Dazu wird die Struktur des Dateisystems entwickelt und Dateisystem-Abbilder generiert, auf die zunächst nur lesend zugegriffen werden kann. Im zweiten Teil werden Verwaltungsroutinen für das Dateisystem entwickelt, die es ermöglichen, Dateien dynamisch anzulegen und zu löschen. Dabei muss der verfügbare Speicherplatz effizient verwaltet werden. Die durchzuführende Implementierung in C++ vertieft die Fähigkeiten im Umgang mit Systembibliotheken, dynamischen Datenstrukturen, Speicherverwaltung und Zeigern.
Seminaristischer Unterricht; betreutes Labor
Das Modul vermittelt Grundlagen und praktische Kompetenzen in Datenbanksystemen und Kommunikationsnetzen.
Kompetenzziele im Bereich Datenbanken:
Kompetenzziele im Bereich Kommunikationsnetze:
Das Modul fördert analytisches Denken, praktische Problemlösungsfähigkeit und Teamarbeit und bildet eine Grundlage für Themen wie Netzwerksicherheit und verteilte Systeme.
Die Vorlesung behandelt die folgenden Themen:
Seminaristischer Unterricht, Übungen teils mit direkter Erfolgskontrolle.
In der Vorlesung „Kommunikationsnetze 1“ erwerben die Studierenden ein grundlegendes Verständnis der Architektur und Funktionalität von Kommunikationsnetzen. Nach Abschluss der Vorlesung können sie die Protokollschichten des Internet-Protokollstapels (Anwendungsschicht, Transportschicht, Vermittlungsschicht und Sicherungsschicht) erklären und spezifische Protokolle wie HTTP, TCP, UDP und IP analysieren und bewerten. Darüber hinaus sind sie in der Lage, Herausforderungen wie Flusskontrolle, Staukontrolle und Fehlerbehandlung zu beschreiben und in praktischen Szenarien anzuwenden.
Die Vorlesung behandelt die folgenden Inhalte:
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. Online-Tests bieten den Studierenden die Möglichkeit zur Selbstüberprüfung und zur Sammlung von Bonuspunkten für die Klausur. Die Prüfungsleistung besteht aus einer 60-minütigen Klausur, die Teil der Modulklausur „Datenbanken und Kommunikationsnetze 1“ ist.
Der Arbeitsaufwand beträgt insgesamt 75 Stunden, aufgeteilt in 25 Stunden Präsenzzeit, 25 Stunden asynchrones Lernen und 25 Stunden für Prüfungsvorbereitung und Nachbereitung.
Die in "Datenbanken 1" erlernten Kenntnisse werden in Gruppenarbeit vertieft und praktisch geübt. Das Zusammenspiel einer Datenbank mit einer höheren Programmiersprache (Java) wird verstanden. Der Einsatz von SQL (DCL; DML; DDL), Transaktionen und Isolationsebenen und die Vermeidung von Deadlocks wird beherrscht.
Es wird eine Datenbankanwendung für eine Lagerverwaltung entworfen und prototypisch realisiert. Dies umfasst das Aufsetzen eines DB-Schemas, den Entwurf und das Testen von SQL-Abfragen, den Einsatz von Transaktionen und Transaktionsebenen sowie die Programmierung von Abfragen und Transaktionen mit Java unter Verwendung von JDBC auf Basis von PostgreSQL oder Oracle.
Schließlich werden mehrere gegebene verbale Sachverhalte analysiert, in ein Entity-Relationship-Modell übertragen, normalisiert, in ein physikalisches Schema transferiert und zuletzt in SQL angelegt. Abschließend wird der Umgang mit dem OR-Mapper Hibernate geübt.
Betreutes Labor mit Abschlusspräsentation am Rechner, selbstständige Arbeit, Vor- Nachbereitung
Im Labor „Kommunikationsnetze 1“ wenden die Studierenden praktische Kenntnisse und Fähigkeiten zur Vertiefung der Inhalte der Vorlesung „Kommunikationsnetze 1“ an. Nach Abschluss des Labors können sie Netzwerkprotokolle in verschiedenen Schichten analysieren, konfigurieren und programmatisch umsetzen sowie die Leistungsfähigkeit von Netzwerkanwendungen messen und bewerten.
Nach erfolgreicher Teilnahme sind die Studierenden in der Lage:
Das Labor umfasst folgende Experimente, die in Teams von 2–4 Personen durchgeführt werden:
Die Experimente werden in einer virtuellen Umgebung als Gruppenarbeit durchgeführt. Dabei dokumentieren die Studierenden ihre Ergebnisse und präsentieren sie abschließend. Die Prüfungsleistung besteht aus der erfolgreichen Bearbeitung der vier Laborversuche sowie der Präsentation der Ergebnisse. Der Arbeitsaufwand beträgt 30 Stunden, davon 15 Stunden Präsenzzeit und 15 Stunden eigenständige Vor- und Nachbereitung.
Die Studierenden lernen die Grundlagen des Maschinellen Lernens ("Machine Learning") in Theorie und Praxis kennen, indem Sie alle nötigen Schritte im Bereich des Maschinellen Lernens erlernen, um eigene Anwendungen umzusetzen zu können und die dafür benötigen Daten entsprechend zu analysieren und aufzubereiten. Das Modul lehrt zudem die nötigen Grundlagen für weiterführende Veranstaltungen im Bereich Maschinelles Lernen und Künstliche Intelligenz.
Die Vorlesung gibt den Studierenden eine allgemeine Einführung in das Themengebiet des Maschinellen Lernens als Teilgebiet der Künstlichen Intelligenz. Dabei wird, beginnend mit klassischen Methoden, ein Überblick über die wichtigsten Themengebiete in diesem Bereich gegeben, der mit einem kurzen Einblick in die aktuellen Entwicklungen rund um "Deep Learning" endet.
Neben den theoretischen Grundlagen wird der praktische Einsatz der gelernten Methoden mit Hilfe der Programmiersprache Python und dem Einsatz von Jupyter Notebooks gezeigt.
Die Inhalte der Vorlesung umfassen:
Die in der Vorlesung "Maschinelles Lernen" erlernten Kenntnisse werden in der Übung vertieft und praktisch geübt.
Die Studierenden lernen die theoretischen ML-Algorithmen auf konkreten Daten anzuwenden, indem Sie diese mit Hilfe der Programmiersprache Python in Programmcode übersetzten.
Dadurch lernen die Studierenden auch eigene Vorhersagemodelle anhand gegebener Daten zu trainieren und in unterschiedlichsten Anwendungen einzusetzen.
Die Programmiersprache Python wird zu Anfang des Semesters im Rahmen der Übung eingeführt wird.
Die Übung findet in zwei Gruppen statt. Gruppenanmeldung über Ilias.
Die Studierenden können effektive, effiziente und den Endbenutzer zufriedenstellende Benutzungsoberflächen erstellen. Dazu kennen Sie die Anforderungen der Software-Ergonomie und der Gebrauchstauglichkeit (Usability in Context). Einen Entwurfsprozess, der dies sicherstellt, ist ihnen bekannt, und sie haben mit diesem Prozess im Rahmen der Hausarbeit praktische Erfahrungen gewonnen. Insbesondere sind sie in der Lage, die Gebrauchstauglichhkeit eines Produktes durch Tests und Befragungstechniken zu bewerten und Folgerungen aus den gewonnenen Erkenntnissen zu ziehen und umzusetzen. Die hohe Bedeutung und die Inhalte von Style-Guides und der Typographie sind bekannt und werden beim Entwurf beachtet. Bei der Umsetzung der Entwurfsaufgaben im Team haben die Studierenden diskursive Kompetenzen erworben.
Software Ergonomie, Regeln für benutzergerechtes Design (Style-Guides, Typographie), Methodischer Entwurf von Benutzungsschnittstellen: Analyse, Design, Implementierung, Testen der Brauchbarkeit, Befragungstechniken.
Seminaristischer Unterricht, Übungen.
Die in der Vorlesung Mensch-Maschine-Kommunikation erlernten Kenntnisse werden in Gruppenarbeit vertieft und praktisch geübt. Insbesondere der soziale Prozess des benutzerzentrierten Entwurfes sollen erfahren und dessen Probleme verstanden werden. Die Konfliktlösungskompetenz zur Lösung sich widersprechender Meinungen und Zielvorgaben wird eingeübt.
Die hohen Qualitätsanforderungen seitens der Benutzer werden anerkannt und in der praktischen Arbeit erfolgreich umgesetzt.
Es wird eine - der Praxis entstammende - Aufgabe der MMK analysiert und bis einschließlich zum Papierprototyp auch entworfen. Dieser Prototyp wird, gegebenenfalls mehrfach, einem Test der Brauchbarkeit unterworfen bis die vorgegebenen Qualitätsziele erreicht sind.
Betreute Gruppenarbeit mit Präsentation und Diskussion; Test der Gebrauchstauglichkeit des Prototyps, Aufbereiten eines Testberichts mit Verbesserungsvorschlägen.
Die Teilnehmer der Übung lernen deklarative Elemente des Word Wide Webs auf Basis von XML Standards kennen.
Nach Vermittlung der XML Grundlagen, schreiben die Studierenden syntaktisch wohlgeformte und gültige XML Dokumente. Sie erzeugen eigene XML-Modelle anhand von Document Type Definitions und der W3C Schema Language.
Nachdem die Teilnehmer mit dem XPath-Standard Informationen in XML Dokumenten abfragen, eignen sie sich die Grundlagen XSLT-Programmiersprache an und wenden diese auf typische Integrationsszenarien an.
Praktische Rechnerübung im Labor.
Seminaristischer Unterrichtstil im Stil eines Flipped-Classrooms.
Die Studierenden werden in die Grundbegriffe der Allgemeinen Betriebswirtschaftslehre sowie des Service Managements eingeführt. Sie lernen wirtschaftliche Abläufe und Zusammenhänge kennen. Sie sind in der Lage, die verschiedenen Bereiche der BWL und des Service Managements zu benennen und zu skizzieren.
Mithilfe verschiedener Werkzeuge und Konzepte können die Studierenden die Situation eines Unternehmens beschreiben und einordnen.
Darüber hinaus werden die Studierenden in die Lage versetzt, unterschiedliche Kennzahlen, die Aufschluss über die Leistungsfähigkeit eines Unternehmens geben, selbständig zu berechnen und zu analysieren.
Das Modul dient als Grundlage für die Fächer ERP-Systeme, Projektmanagement, Geschäftsprozessmanagement und Business Intelligence.
Die Studierenden werden in die Grundbegriffe der Allgemeinen Betriebswirtschaftslehre eingeführt. Sie lernen wirtschaftliche Abläufe und Zusammenhänge kennen und werden mit den typischen Prozessen und Anforderungen im Unternehmen bekannt gemacht. Sie sind in der Lage, die verschiedenen Bereiche der BWL zu benennen und zu skizzieren.
Mithilfe verschiedener Werkzeuge und Konzepte können die Studierenden die Situation eines Unternehmens beschreiben und einordnen.
Darüber hinaus werden die Studierenden in die Lage versetzt, unterschiedliche Kennzahlen, die Aufschluss über die Leistungsfähigkeit eines Unternehmens geben, selbständig zu berechnen und zu analysieren.
Im Rahmen der Vorlesung Betriebswirtschaftslehre werden die Bereiche Wirtschaftliches Umfeld (VWL), Unternehmensformen, Organisation, Investition und Finanzierung, Marketing sowie Rechnungswesen vertieft behandelt, damit die Studierenden einen ganzheitlichen Überblick über die Funktionsweise eines Unternehmens und die daraus resultierenden Anforderungen erhalten.
Seminaristischer Unterricht: Vorlesung 80%, Übungen 20%
Die Vorlesung behandelt die Kernprozesse des IT-Service Management sowie Methoden zur systematischen Planung, Erbringung und Unterstützung von IT-Dienstleistungen. Für jeden Prozess werden Zielsetzung, Aufgaben, Abgrenzung, Wirkungsweise und die Abhängigkeiten zu den jeweils anderen Prozessen erarbeitet. Die Studierenden erlangen damit die Kompetenz, die einschlägigen Fachbegriffe zu kennen und in in praktischen Situationen anzuwenden.
Die erforderlichen Rollen und Verantwortlichkeiten werden erlernt. Die Studierenden verstehen, wie IT-Prozesse in Referenzmodellen dargestellt werden. In der Vorlesung erfolgt eine Orientierung an der IT Infrastructure Library (ITIL), dabei handelt es sich um einen allgemein anerkannten Standard für den Aufbau und Betrieb von IT-Organisationen.
Teilnahme am seminaristischen Unterricht.
Im Anschluss an die Veranstaltung besteht die optionale Möglichkeit zur Teilnahme an der herstellerunabhängigen, international anerkannten Zertifizierung "Foundation Certificate in IT Service Management". Die Zertifizierung erfolgt in Kooperation mit der itSMF Deutschland eV,
Nach dem Besuch dieses Moduls können die Studierenden mit wichtigen berufsbezogenen Fähigkeiten umgehen, die auch für das Praxissemester relevant sind. Sie können mit dem Vorgehensmodell Scrum Projekte steuern und in entsprechenden Scrum-Teams mitarbeiten. Sie beherrschen Techniken zur professionellen Erstellung von wissenschaftlichen Dokumenten, können Daten gezielt aufbereiten und ihre Erkenntnisse mit modernen Präsentationstools ansprechend visualisieren.
Der Prozess wissenschaftlichen Schreibens wird in seiner Gesamtheit vorgestellt. Einzelne Phasen werden schrittweise beleuchtet sowie Richtlinien zu einer gelingenden Umsetzung erarbeitet. Einen weiteren Schwerpunkt der Veranstaltung bildet die gründliche Einführung in den Umgang mit dem im wissenschaftlichen Umfeld verbreiteten Textsatzsystem LaTeX. Die Studierenden erstellten dabei Dokumente unter Beachtung einer korrekten Zitierweise.
Der zweite Veranstaltungsblock führt in das Vorgehensmodell Scrum anhand praxisnaher Beispiele ein. Alternativ dürfen internationale und geflüchtete Studierende diesen zweiten Block durch das Seminar Beruflich erfolgreich in der neuen Heimat - Einstieg in Praktikum und Beruf in Deutschland im Studium Generale ersetzen.
Die Vorlesung behandelt den allgemeinen Umgang mit MS-Office-Produkten und gibt speziell eine Einführung in die wichtigsten Funktionalitäten von MS-Excel. Die Studierenden erlernen z.B. den Umgang mit Eingabemethoden, Formeln, Diagrammdarstellungen und Suchfunktionen. Grundlegende Kenntnisse bzgl. der Programmierung unter VBA werden ebenfalls vermittelt. Diese werden abschließend auch zur Erstellung von Makroskripten in MS-Word eingesetzt.
Der Fokus liegt auf dem effizienten Einsatz der MS-Office-Produkte. Teilnehmende Studierende sind anschließend in der Lage, typische Aufgaben zügig zu lösen.
Vorlesungsskript
Die Lehrveranstaltung setzt sich aus einer Vorlesung (50%) und betreuten, praktischen Übungen (50%) zusammen.
Die Praxistätigkeit dient der Vertiefung der während des Studiums erworbenen Kenntnisse und Fähigkeiten durch qualifizierte Mitarbeit in einem größeren Projekt. Neben der Verbesserung der fachlichen Kompetenz steht vor allen die Entwicklung der Sozial- und Selbstkompetenz im Fokus. Als Teammitglied muss sich der Studierende im realen Projekt behaupten, sich in neue Aufgabengebiete einarbeiten und mit neuen Werkzeugen zurechtkommen. Er lernt sich weiterzuentwickeln und seine tatsächlichen Fähigkeiten einzuschätzen. Die Praxistätigkeit kann in einer Firma, in einer Forschungseinrichtung oder einer Behörde durchgeführt werden.
Gegenstand des Praxissemesters ist die qualifizierte Mitarbeit in typischen, dem Berufsbild eines Informatikers entsprechenden, Projekten. Hierbei werden aktuelle, in der Industrie zum Einsatz kommende Technologien im täglichen Arbeitsalltag erfahren und erlernt und durch die Erstellung eines begleitenden Berichts sowohl theoretisch als auch beschreibend aufgearbeitet. Seitens der Hochschule wird jedem Studierenden ein Mentor zugeordnet, der ihn betreut und gegenüber der Praxisstelle als erster Ansprechpartner fungiert. Ihm obliegt die Überwachung der Ausbildungsqualität.
Das Material hängt von der Aufgabenstellung ab und wird von dem betreuenden Betrieb zur Verfügung gestellt.
Mitarbeit in einem größeren Projekt
Nach erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, produktiv und selbstständig in Softwareprojekten unterschiedlicher Größenordnung mitzuwirken. Sie können anfallende Aufgaben analysieren, strukturieren sowie eigenständig Lösungen erarbeiten, ihre Entscheidungen begründen und nachvollziehbar dokumentieren. Zudem erklären sie allgemeine Konzepte von Architekturen, insbesondere für verteilte Software-Systeme, und wenden diese konstruktiv an. Die Studierenden erkennen zentrale Anforderungen und Herausforderungen solcher Systeme und entwickeln geeignete Lösungsansätze. Sie sind in der Lage, Konzepte wie Modularität, Kommunikation, Fehlertoleranz und Sicherheit zu erklären und konstruktiv in die Entwicklung umfassender Software-Systeme einzubringen.
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 neuen Fähigkeiten im Kontext größerer Softwareprojekte effektiv einzusetzen.
Die Lehrveranstaltung „Software-Engineering“ baut auf den praktischen Erfahrungen der Studierenden aus ihrer Praxistätigkeit auf und vermittelt Techniken sowie Methoden für die strukturierte Entwicklung von groß angelegten Softwaresystemen. Zu Beginn der Veranstaltung werden elementare Konzepte wie Objekt, Klasse, Assoziation, Methode, Vererbung und Polymorphie wiederholt und gefestigt, um ein gemeinsames Verständnis der Grundlagen sicherzustellen. Anschließend liegt der Fokus auf den Herausforderungen moderner Softwareentwicklungsprozesse und deren strukturierter Bewältigung.
Die Studierenden lernen, wie agile Methoden wie Scrum mit etablierten Prozessmodellen, beispielsweise dem Unified Software Development Process, kombiniert werden können, um anspruchsvolle Entwicklungsprojekte erfolgreich umzusetzen. Dabei wird UML als zentrale Beschreibungssprache eingeführt, um Entwicklungsentscheidungen zu dokumentieren und klar zu kommunizieren. Ein besonderer Schwerpunkt liegt darauf, die Komplexität großer Softwareprojekte zu verstehen und durch die Anwendung strukturierter Methoden und Prozesse zu bewältigen.
Im Rahmen der Veranstaltung erwerben die Studierenden die Fähigkeit, selbstständig in agilen Umfeldern zu agieren, fundierte Entwicklungsentscheidungen zu treffen und diese methodisch zu dokumentieren. Die theoretischen Inhalte werden durch praxisorientierte Beispiele ergänzt, die den Transfer der vermittelten Methoden in reale Anwendungsfälle erleichtern.
Im zugehörigen Labor wenden die Studierenden das erlernte Wissen an wechselnden Beispielprojekten an, indem sie die erste Iteration eines Softwareentwicklungsprozesses durchführen. Dabei üben sie sowohl die Arbeit im Team als auch die Nutzung agiler Methoden und die professionelle Dokumentation mithilfe von UML.
Seminaristischer Unterricht; Übungsblätter
Die Vorlesung vermittelt sowohl grundlegende als auch erweiterte Prinzipien verteilter Systeme und veranschaulichen diese in praktischer Form anhand konkreter Paradigmen und Technologien. Das Spektrum behandelter Prinzipien umfasst grundlegende Aspekte der Zielsetzungen und Klassen verteilter Systeme sowie deren Architekturen, Prozesse, Kommunikation und Namenssysteme. Erweiterte Prinzipien beinhalten Koordination, Konsistenz und Replikation, Fehlertoleranz sowie Sicherheit. Die behandelten Prinzipien werden anhand verschiedener Paradigmen exemplarisch vertieft. Dabei werden beispielhafte Umsetzungen einzelner Prinzipien vorgestellt. Zudem erfolgt eine Einführung in die Entwicklung entsprechender Systeme anhand konkreter Technologien.
Nach Abschluss der Vorlesung werden die Studierenden ein umfassendes Verständnis der Prinzipien verteilter Systeme erlangen, die von ihren grundlegenden Zielen und Architekturen bis zu fortgeschrittenen Konzepten wie Koordination, Konsistenz, Replikation, Fehlertoleranz und Sicherheit reichen. Sie erhalten Einblicke in die praktische Anwendung dieser Prinzipien durch die Untersuchung spezifischer Paradigmen und Technologien und verbessern so ihre Fähigkeit, verteilte Systeme zu analysieren und zu entwerfen. Darüber hinaus wird die Einführung in die Entwicklung dieser Systeme unter Verwendung konkreter Softwaretechnologien die Studierenden mit den praktischen Fähigkeiten ausstatten, die für die Implementierung robuster, effizienter und sicherer verteilter Systeme in verschiedenen Computerumgebungen erforderlich sind.
Eigenständige Arbeitsanteile betreffen Vor- und Nacharbeit der Vorlesungsinhalte, Laborarbeit und Klausurvorbereitung.
Im Software-Engineering Labor durchlaufen die Studierenden einen vollständigen iterativen Softwareentwicklungsprozess in einem Team. Sie beginnen mit der Anforderungsanalyse, entwickeln darauf basierend ein Analyse- und Designmodell und setzen dieses schließlich in Java um. Dabei setzen sie sich aktiv mit Konzepten wie use-case-driven Entwicklung, Architekturorientierung, iterativen und inkrementellen Vorgehensweisen sowie komponentenbasierter Softwareentwicklung auseinander.
Anhand eines konkreten Beispielprojekts erleben die Studierenden die praktische Anwendung dieser Methoden und erlernen, wie sie eigenständig Entwurfsentscheidungen treffen und diese im Einklang mit vorgegebenen Anforderungen umsetzen können. Das Labor legt besonderen Wert auf die Förderung von Teamarbeit und Selbstständigkeit, sodass die Teilnehmenden befähigt werden, effektiv in einem agilen Entwicklungsteam mitzuwirken und die Herausforderungen komplexer Softwareentwicklungsprojekte zu meistern.
Betreutes Labor, Gruppenarbeit
Das Labor vermittelt praktische Einblicke in die Funktionsweise und Konstruktion verteilter Informationssysteme. Dabei werden aktuelle Paradigmen aufgegriffen und fundamentale Prinzipien im Kontext exemplarischer Realisierungen untersucht. Die Aufgabenstellungen orientieren sich an den Inhalten der Vorlesung, greift aber auch aktuelle Themenstellungen industrieller Forschung und Entwicklung auf. Die praktische Umsetzung erfolgt unter Verwendung moderner industrierelevanter Plattformen und Frameworks.
In diesem Labor sammeln die Studierenden praktische Erfahrungen in der Entwicklung und dem Betrieb von verteilten Informationssystemen, indem sie grundlegende Prinzipien und aktuelle Paradigmen auf reale Szenarien anwenden. Sie lernen den effektiven Einsatz moderner, industrierelevanter Plattformen und Frameworks und verbessern so ihre Fähigkeit, komplexe Systeme zu implementieren und zu verwalten. Diese praktische Anwendung, die sich auf die neuesten industriellen Forschungs- und Entwicklungsthemen stützt, bereitet die Studierenden auf die beruflichen Herausforderungen vor und stattet sie mit Fähigkeiten zum Aufbau und zur Optimierung von verteilten Informationssystemen aus.
Es werden Grundkenntnisse in den Bereichen Programmierung, Betriebssysteme und Datenbanken vorausgesetzt. Die Veranstaltung beinhaltet 50 % betreute Präsenszeit (1 SWS) im LKIT Labor sowie 50% selbständige Arbeit. Der Leistungsnachweis erfolgt durch Präsentation und Verteidigung der Lösung.
Studierenden wird fortgeschrittenes Wissen über die Funktionsweise von Rechnernetzen und Datenbanksystemen vermittelt. Sie lernen die systematische Vorgehensweise zur Planung und Realisierung von komplexen Informationssystemen und Kommunikationsstrukturen insbesondere für verteilte Systeme. Neben der Betrachtung des Aufbaus und der Funktionsweise moderner Datenbanksysteme werden grundsätzliche Probleme bei der Kommunikation über paketbasierte Netze identifiziert, allgemeine Lösungsansätze für diese Probleme vorgestellt und deren Einsatz anhand von aktuellen Netzprotokollen, -komponenten und -diensten veranschaulicht.
Im Fokus der Vorlesung stehen Aufbau und Funktionsweise moderner relationaler und nicht-relationaler Datenbanksysteme sowie das Transaktionsmanagement:
Teil I behandelt insbesondere relationale Datenbankmanagementsysteme (RDBMS): Grundlagen, Architektur, Komponenten, interne Datenorganisation, Verarbeitung von SQL-Anfragen, Erzeugung optimierter Ausführungspläne, Besonderheiten der Pufferverwaltung, Einsatz von Indexstrukturen, Performanz.
Teil II ist dem Transaktionsmanagements in Datenbanksystemen gewidmet: Definitionen, wesentliche Komponenten in gängigen DBMS, Zustandsdiagramm, ACID-Kriterien, Isolation und Fehlerphänomene, Synchronisationsverfahren (2PL, S2PL, SS2PL, Snapshot Isolation), Serialisierbarkeit, Umsetzung in SQL, Grundlagen Logging und Recovery.
Teil III betrachtet Mechanismen und Datenstrukturen in verteilten relationalen und nicht-relationalen Datenbanksystemen: Aufbau von Multi-RDBMS, Fragmentierung von Datenbanktabellen, Stufen der Datentransparenz und Auswirkungen auf Anwendungen, Techniken der verteilten Verbundberechnung, verteilte ACID-Transaktionen, Einordung nicht-relationaler (NoSQL-) Datenmanagementsysteme, Techniken der Datenpartitionierung, Replikation, BASE, Map-Reduce, Consistent Hashing.
Powerpoint-Folien, Tafelmitschrift, Übungsblätter, empfohlene Lehrbücher:
Özsu, Valduriez: "Principles of Distributed Database Systems", 3rd Edition
Seminaristischer Unterricht mit insg. drei Übungseinheiten á 90 Min.
In der Vorlesung „Kommunikationsnetze 2“ erweitern die Studierenden ihre Kenntnisse über Kommunikationsnetze, insbesondere durch eine tiefgehende Betrachtung der Funktionalitäten und Herausforderungen der Schichten des Internet-Protokollstapels. Nach Abschluss der Vorlesung sind sie in der Lage, fortgeschrittene Mechanismen und Protokolle in der Anwendungsschicht, Transportschicht, Vermittlungsschicht und Sicherungsschicht zu analysieren, zu bewerten und praktisch anzuwenden. Sie können komplexe Netzwerkprobleme identifizieren, spezifische Lösungsbausteine kombinieren und innovative Lösungen entwickeln.
Die Vorlesung behandelt die folgenden Inhalte:
Die Vorlesung wird im Flipped Classroom-Format unterrichtet. Die Studierenden bereiten sich eigenständig mit Vorlesungsfolien und Erklärvideos auf die Präsenzveranstaltungen vor. In diesen Terminen werden die Themen durch Fallstudien und Übungen vertieft. Online-Tests bieten den Studierenden die Möglichkeit zur Selbstüberprüfung und zur Sammlung von Bonuspunkten für die Klausur. Die Prüfungsleistung besteht aus einer 60-minütigen Klausur, die Teil der Modulklausur „Datenbanken und Kommunikationsnetze 2“ ist.
Der Arbeitsaufwand beträgt insgesamt 75 Stunden, aufgeteilt in 25 Stunden Präsenzzeit, 25 Stunden asynchrones Lernen und 25 Stunden für Prüfungsvorbereitung und Nachbereitung.
Visuelle Wahrnehmungen und ihre Erzeugung durch die Mittel der modernen Computergrafik werden in grundlegenden theoretischen Details ebenso wie in der praktischen Anwendung verstanden. Die 3D-Programmierung virtueller Welten sowie der Umgang mit Farbmodellen, Texturen und grafischen Effekten werden in Theorie und Praxis beherrscht.
Die Studenten lernen exemplarisch Speicherung, Codierung und Darstellung zwei-dimensionaler Grafiken im Computer und externen Speichermedien kennen und anzuwenden.
Sie werden in die Lage versetzt ihre mathematischen Fähigkeiten auf einfache Bereiche der Computergrafik anzuwenden, wie
die Verwendung von Koordinatensystemen, die Modellierung drei-dimensionaler Objekte mit Polygonen, den Entwurf von Algorithmen, um zum Beispiel Schnitte geometrischer Objekte zu berechnen.
Die Studenten lernen Verfahren zur Fotorealistischen Erzeugung von Bildern am Beispiel von Raytracing-Techniken kennen und anzuwenden.
Sie können im Ortsraum und Modellraum mit homogene Koordinaten beschreiben und durchführen.
OpenGL kann in Grundzügen praktisch zur Programmierung eingesetzt werden.
Im Labor werden werden die in der Vorlesung vermittelten Kenntnisse der Computergrafik anhand folgender Aufgaben praktisch am Rechner vertieft:
Die Lösungen der Aufgaben werden in den Übungen dem Dozenten präsentiert und diskutiert.
Die Studierenden werden in die Lage versetzt, die in ihrem bisherigen Studium erworbenen Kenntnisse selbständig auf eine abgeschlossene Aufgabenstellung anzuwenden. Sie können das Problem analysieren, ein Lösungskonzept erstellen, sich eine Implementierung überlegen und diese anschließend eigenständig umsetzen. Sie können zudem ihre Ergebnisse schriftlich festhalten und dabei wissenschaftliche Standards beachten. Sie können ihre Arbeit aber auch in einer Kurzpräsentation vorstellen und in einer anschließenden Diskussionsrunde verteidigen.
Eine Projektarbeit ist eine selbstständige Bearbeitung eines Themas aus dem Bereich Soft- oder Hardware. Angestrebt wird die Durchführung einer praktischen Aufgabe; es sind aber auch Arbeiten aus den Bereichen Evaluation oder Literaturrecherche möglich.
Die Studierenden analysieren die Aufgabenstellung und recherchieren, mit welchen Hilfsmitteln sie die Aufgabe am besten umsetzen können. Diese verwenden sie anschließend auch entsprechend. Zur Projektarbeit ist eine umfassende Dokumentation zu erstellen, die alle Schritte der Aufgabe und der Fertigstellung erfasst (z.B. die genaue Problemstellung, das Konzept, die Implementierung, eine Bedienungsanleitung und Weiteres). Ein gemeinsames Kolloquium bildet den Abschluss der Projektarbeit. Die Studierenden präsentieren hierbei in einem Kurzvortrag ihre Ergebnisse und stellen sich anschließend einer Diskussion. Die Projektarbeit ist somit eine Vorbereitung auf die spätere Abschlussarbeit, die die Studierenden nach ganz ähnlichen Richtlinien anfertigen werden.
Je nach Aufgabenstellung
Das Kolloquium bildet den Abschluss der Projektarbeit. Die Studierenden präsentieren hierbei in einem Kurzvortrag ihre Ergebnisse und stellen sich anschließend einer Diskussion. Sie weisen dadurch nach, dass sie in der Lage sind, die Problemstellung, die Durchführung der Arbeit und die gefundene Lösung in kurzer prägnanter Form zu erläutern und zu verteidigen.
Eigenständige Vorbereitung, Vortrag und Diskussion, mündliche Verteidigung der Arbeit, des Lösungsweges und der gefundenen Ergebnisse.
Die Studierenden lernen, auf Basis integrierter ERP-Systeme in Geschäftsprozessen zu denken. Sie erkennen die gegenseitigen Abhängigkeiten einzelner betrieblicher Funktionen und vertiefen damit ihr betriebswirtschaftliches Grundwissen um Prozesswissen (horizontale Integration). Weiter erkennen die Studierenden die Notwendigkeit einer vertikalen Integration als Voraussetzung zum Ausbau von ERP-Systemen zu Führungsinformationssystemen.
Das Erlernte wird durch Laborübungen auf Basis von SAP S/4HANA vertieft.
ERP-Grundlagen, Einführung integrierte Geschäftsprozesse, Prozessautomatisierung am Beispiel Vertriebsprozess, Einführung von Standardsoftware: Unternehmensmodellierung und Customizing, Architektur von ERP-Systemen
Vorlesungsteilnahme
Das Labor findet verzahnt zur Vorlesung statt und dient der Anwendung und Vertiefung des Vorlesungsstoffes.
Es werden folgende Laborübungen durchgeführt:
Selbstständige Bearbeitung einzeln oder als Gruppe zu maximal zweit der Fallstudien in einem SAP ERP System. Software: SAP ECC 6.04, Datenbasis: Global Bike Inc.
Alternative zum Labor: Einführung in die Programmiersprache ABAP. Siehe I W918.
Laborteilnahme und Erstellung von Labor-Leistungsnachweisen.
Übungen und Fallstudien aus dem Curriculum Global Bike 2.1 (GBI) der SAP University Alliances Community für die ersten beiden Übungen.
Customizing und ABAP beruht auf eigenen Fallstudien.
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.
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
Vorlesungsteilnahme, ggf. Bonusaufgaben (Entwurf und Programmierung eigener Spiele).
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.
Zunächst werden konkret vorgegebene, grundlegende Algorithmen und Verfahren der Einzelbildverarbeitung in C++ implementiert. Anschließend werden - bei freier Wahl der Werkzeuge - Applikationen der Videobildverarbeitung implementiert.
Für das Labor besteht zu allen Terminen Anwesenheitspflicht.
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
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
Die Studierenden erhalten einen Einblick in verschiedene Arten von Bewegtbild (on-/offline), deren Konzeption, Produktion und Einsatzzwecke. Anhand von Fallbeispielen werden Storyboarding, Animatics, Dramaturgie und Stilmittel veranschaulicht. Unter Anwendung unterschiedlicher Software-Applikationen werden die erworbenen Kenntnisse in praktischen Aufgaben angewandt. Die Studierenden lernen dabei die unterschiedlichen Anforderungen an die Konzeption und Produktion von animierten Adbannern bis hin zum Stop-Motion/Brickfilm kennen.
Seminaristische Vorlesung mit Übungsaufgaben
Die Studierenden analysieren zunächst bereits bestehende, digitalisierte Geschäftsmodelle/Geschäftsprozesse in Bezug auf Relevanz, Digitalisierungsansatz, Zielgruppe, digitales Branding, Marketingkommunikation und Monetarisierungsmodell. Die Vermittlung theoretischer Grundlagen bezieht sich insbesondere auf die Themen digitale Transformation bestehender Geschäftsmodelle, deren digitales Branding und Marketingkommunikation. Der praktische Ansatz verfolgt das Ziel, ein digitales Geschäftsmodell unter Berücksichtigung kognitiver Fähigkeiten der Anwenderinnen und Anwender und verfügbarer Technologien zu konzipieren, sowie in Teilbereichen umzusetzen. Begleitend konzipieren und gestalten die Studierenden digitale Marketingtools vom digitalen Folder über Social Media Präsenzen bis zum Newsletter.
Vermittelt werden weiterführende Kenntnisse in den Bereichen Embedded Systems. Die Studierenden kennen die elementaren Begriffe im Bereich eingebetteter Systeme und sind in der Lage, verschiedene Typen von Echtzeitsystemen voneinander zu unterscheiden. Die Studierenden haben mit dem CAN-Bus ein typisches Kommunikationsmedium und mit der CDMA- Technik eine wichtige Codierung, die z.B. bei der Satellitenkommunikation verwendet wird, kennengelernt. Die Studierenden sind in der Lage, typische Programmieraufgaben im Bereich eingebetteter Systeme in der Sprache C umzusetzen. Vorlesungsbegleitend erlernen die Studierenden den Umgang mit Software-Werkzeugen, mit denen sich die Programmlaufzeit der erstellten Software messen unf optimieren lässt.
Die Vorlesung führt in die Software-Entwicklung eingebetteter Echtzeitsysteme ein. Eingebettete Systeme im Sinne dieser Vorlesung sind alle durch Software kontrollierten Computer, die Teil eines größeren Systems sind und deren primäre Funktion nicht rechenorientiert ist. Bei Echtzeitsystemen kommen zusätzlich Aspekte der Rechtzeitigkeit hinzu, d.h., es geht um Systeme, die nicht nur eine korrekte Antwort liefern müssen, sondern die Systemantwort zusätzlich innerhalb einer vorgegebenen und garantierten Zeitspanne berechnen. Im Einzelnen werden Themen aus den folgenden Bereichen behandelt: Entwurf und Architektur von Kfz-Steuergeräten, Grundlagen der Echtzeitprogrammierung, Codierungen zur Datenübertragungen, Embedded-C.
Vorlesungsteilnahme + 50 % selbständige Arbeit
Mit Hilfe des Werkzeugs CANoe modellieren die Teilnehmer ein Steuergerät aus dem Bereich der Kraftfahrzeugelektronik. Das Projekt wird um Aufgaben aus dem Bereich der Signaldecodierung ergänzt.
Laborteilnahme
Autonome Systeme:
Die Studierenden wenden nebenläufige Programmiermethoden zur praktischen Umsetzung autonomer Systemen an.
Sie erlangen einen Einblick in formale Modellierungs- und Spezifikationsnotationen zur Beschreibung und Verifikation komplexer autonomer Systeme. Die Studierenden sind in der Lage, geeignete Notationen je nach Anwendungsfall einzusetzen. Anhand praktischer Beispiele erkennen sie sowohl die Möglichkeiten als auch die Grenzen formaler Methoden.
Rechnerarchitektur:
Die Studierenden beschäftigen sich mit den wichtigsten Prinzipien der Organisation und des Designs von Mikroprozessoren.
Mikroprozessoren sind die zentralen Bausteine praktisch aller derzeitigen Computersysteme, vom Smartphone bis zum Supercomputer und somit der digitalen Welt.
Schwerpunkte sind die Programmierung von 64-Bit ARMv8 Prozessoren sowie der logische Entwurf von Prozessoren mit Hilfe von Verilog sein.
Neben der Vermittlung der theoretischen Grundlagen wird hier viel Wert auf praktische Programmierübungen gelegt.
Wir werden uns in der Vorlesung mit den wichtigsten Prinzipien der Organisation und des Designs von Mikroprozessoren beschäftigen.
Mikroprozessoren sind die zentralen Bausteine praktisch aller derzeitigen Computersysteme, vom Smartphone bis zum Supercomputer und somit der digitalen Welt.
Schwerpunkte der Vorlesung werden die Programmierung von 64-Bit ARMv8 Prozessoren sowie der logische Entwurf von Prozessoren mit Hilfe von Verilog sein.
Neben der Vermittlung der theoretischen Grundlagen wird hier viel Wert auf praktische Programmierübungen gelegt.
Im Einzelnen werden folgende Themen behandelt:
- Computer Abstractions and Technology
- Instructions: Language of the Computer
- Arithmetic for Computers
- Performance Analysis
- Logic Design with Verilog
- The Processor
- The Memory Hierarchy
- Parallel Processors
Die Vorlesungen beginnen i.a. mit der Besprechung der in der vorrausgegangenen Vorlesung gestellten Übungsaufgaben. Anschliessend werden
neue Themen behandelt. Zwischenfragen und Feedback sind jederzeit erwünscht!
Studierende in diesem Kurs
Im Einzelnen werden folgende Themen betrachtet:
Modellierung und Verifikation
Nebenläufigkeit und Synchronisation
Seminaristischer Unterricht mit theoretischen und praktischen Übungen.
Die Studierenden sind nach einem erfolgreichen Besuch des Moduls in der Lage.
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 Studierenden erstellen auf der Basis der schriftlichen Ausarbeitung des Seminars Präsentationsunterlagen (Folien, Videosequenzen, programmierte Beispiele). Sie präsentieren individuell ihre Ausarbeitungen im Rahmen eines Vortrages mit anschließender Diskussion. Neben der fachlichen Problemstellung steht in dieser Lehrveranstaltung auch die eigene Vermarktung der Studierenden im Vordergrund. Bei der Bewertung der studentischen Leistung wird auf folgende Kriterien geachtet: Einhaltung zeitlicher Vorgaben beim Vortrag; didaktisch geschickte Präsentation; Diskussionsfestigkeit.
Diskussion mit dem betreuenden Dozenten; Ausarbeitung der Präsentation; Diskussion im Anschluss an den Vortrag.
Mit erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage,
Die Teilnehmer lernen die interkulturelle Kompetenz als strategischen Wettbewerbsfaktor zu begreifen und ihr eigenes Handeln kulturadäquat zu gestalten:
Vorlesungsteilnahme und praktische Übungen
Die Studierenden lernen in der Vorlesung, sich in Rede und Diskussion frei von störenden Hemmungen und weitgehend unabhängig von einem Text sicher, treffend und erfolgreich zu äußern. Sie sind danach in der Lage, in einem Beruf zu bestehen und am politischen, sozialen, wirtschaftlichen und kulturellen Leben tätigen Anteil nehmen zu können.
Praktische Arbeit (Referate), Übungen, Vorlesungsteilnahme, selbständige Arbeit
Die Studierenden lernen rechtliche Grundlagen kennen, die sie in die Lage versetzen, Verträge abfassen und beurteilen zu können.
Dieses Wahlfachmodul bietet zusammen mit den beiden anderen Wahlfachmodulen den Studierenden die Möglichkeit, entsprechend den eigenen Interessen Schwerpunkte zu setzen und ihr Wissen auf bestimmten Fachgebieten zu vertiefen. Die zum Modul gehörenden Lehrveranstaltungen werden in der Regel jedes Semester angeboten. Jeweils zu Semesterbeginn werden im Internet und am Schwarzen Brett die aktuellen Angebote bekannt gegeben.
Die Lehrveranstaltung vermittelt die Grundlagen der Digitalen Signalverarbeitung in Audiosystemen, die künstlerische und kommerzielle Anwendungen finden.
Dazu werden im ersten Teil Kenntnisse und Fähigkeiten zum Verständnis der grundlegenden Konzepte wie
vermittelt.
Im zweiten Teil werden die Grundlagen zu
diskutiert und mit durchgängiger Methodik zur Entwicklung und Implementierung durch die Programmiersprache C/C++ echtzeitfähig umgesetzt.
Dies dient der Kenntnis klassicher Algorithmen der Digitalen Signalverarbeitung und Vertiefung dieser Kenntnisse durch programmtechnische Umsetzung. Diese Algorithmen finden neben klassischer Signalverarbeitung Verwendung in der Vorverarbeitung von Trainings- und Inferenzmustern für "Künstliche Intelligenz", "Maschinelles Lernen" sowie "Neuronale Netze".
Weitere Themenvorschläge wie beispielsweise und Aspekte Neuronaler Netze und Künstlicher Intelligenz zur Geräuschunterdrückung durch CUDA C/C++ im Offline-Betrieb auf einem GPU-Server werden im Seminar vorgestellt.
Lernergebnisse / Kompetenzen:
Das Internet der Dinge vernetzt intelligente Dinge die über Sensoren verfügen und erzeugt große Datenmengen. Die Studierenden lernen wo das Internet der Dinge zur Anwendung kommt und welche Fragestellungen gelöst werden können. Wir betrachten zum Beispiel die Bereiche Industrie 4.0 (Predictive Maintenance, Predictive Quality), Smart Homes, Wearables, Verkehr und Landwirtschaft. Neben den Anwendungsgebieten betrachten wir auch passende Datenanalyseverfahren und Algorithmen für ausgewählte Problemstellungen.
Inhalt:
1. Motivation und Einführung
2. IoT Anwendungen
3. IoT Daten (z.B. Sensordaten )
4. Datenanalyseverfahren und Algorithmen für IoT Daten
5. Algorithmen & Datenanalyse Projekt mit konkreter Fragestellung und Daten
Lehr- und Medienform:
Vorlesung, Projekt/Labor, Gruppenarbeit
Voraussetzung: Grundlagen zu Data Science / Maschinellem Lernen. Bitte in Ilias unter Fakultätsangelegenheiten/Austauschbereich/Wahlpflichtfächer SS2024 https://ilias.h-ka.de/ilias.php?ref_id=853682&cmdClass=ilrepositorygui&cmdNode=y8&baseClass=ilRepositoryGUI anmelden
HsKAmpus soll umfassende Funktionen für Studierende aller Fakultäten der HsKA bereitstellen:
Hierzu gehören vorrangig Funktionen aus den sogen. Online-Services auf Basis des LSF-Servers (Veranstaltungen/Stundenplan, Einrichtungen, Personen, Studentisches Leben), des QIS-Servers (Notenansicht) und anderer Server (Mensa, KIT, KVV, …). Weitere Formate und Funktionen sind möglich:
http://www.hskampus.de
https://www.facebook.com/hskampus
https://www.instagram.com/hskampus/
Start-up Veranstaltung, Bildung von Gruppen, Projektplan, Projektmeetings, Entwicklung, Begleitung in allen Projektphasen
Grafisch-geometrische Algorithmen lösen Probleme, die auf geometrische Objekte wie Punkte, Linien, Flächen und Körpern im zwei- oder mehrdimensionalen Raum basieren (Algorithmische Geometrie, computational geometry). Diese Algorithmen und ihre zugrundeliegenden Datenstrukturen werden unter anderen in den Bereichen der Computergrafik, Robotik und Geoinformationssysteme angewendet.
Studenten lernen typische Algorithmen aus der Algorithmischen Geometrie, deren Enturfsprinzipien und Anwendungsbereiche kennen.
Sie werden befähigt die Algorithmen hinsichtlich ihrer Korrektheit, des Resourcenverbrauchs und Robustheit zu untersuchen und zu vergleichen.
Unter anderem werden folgenden Probleme exemplarisch behandelt:
Berechnung konvexer Hüllen, Schnitt- und Abstandsprobleme, Triangulierung von Polygonen, Geometrische Datenstrukturen wie kd-Bäume.
Mark de Berg, Otfried Cheong, Marc van Kreveld, Mark Overmars: "Computational Geometry: Algorithms and Applications", 2008, 3. Auflage, Springer-Verlag
Franco P. Preparata, Michael Shamos: "Computational Geometry: An Introduction", 1985, Springer-Verlag
Spezielle weiterführende Literatur wird in der Vorlesung bekannt gegeben.
In der Vorlesung werden Rechtsfragen im Informationstechnologie- und Medienrecht behandelt, die den Studierenden im beruflichen Alltag begegnen. Die Studierenden lernen z.B. die Grundlagen beim Umgang mit urheberrechtlich geschützten Werken, Daten, Marken, Designs oder Persönlichkeitsrechten sowie bei der rechtssicheren Ausgestaltung von Internetseiten, Webshops und Apps kennen.
RA Josua Neudeck (https://www.vogel-partner.eu/team/josua-neudeck/)
RA Jeremias Held (https://www.vogel-partner.eu/team/jeremias-held/)
Das Modul "Augmented & Virtual Reality" behandelt verschiedene Aspekte dieser aufstrebenden Technologien. Der theoretische Teil der Vorlesungen vermittelt ein grundlegendes Verständnis des Mediums, einschließlich Dimensionen der Realität, menschlicher Aspekte, Tracking, Interaktion & Interface, Bewegung, Stereoskopie und Content Creation.
Das Modul kombiniert theoretische Vorlesungen mit praktischen Übungen, um den Studierenden ein umfassendes Verständnis und praktische Fähigkeiten im Umgang mit Augmented & Virtual Reality zu vermitteln. Es werden Lehrmethoden wie Vorlesungen, Diskussionen, praktische Übungen, Projektarbeit und Kooperationen mit externen Institutionen verwendet. Zur Umsetzung der praktischen Übungen kommen verschiedene Technologien und Tools wie 360° Film-Erstellung, 3D-Modellierung, Licht & Texturierung, Unity-Entwicklungsumgebung, VR-Umsetzung mit HTC Vive oder Meta Quest und AR-Umsetzung mit Smartphones, jeweils mit Unity, zum Einsatz.
Das Modul zielt darauf ab, den Studierenden ein fundiertes Verständnis von Augmented & Virtual Reality zu vermitteln und sie mit praktischen Fähigkeiten auszustatten, um eigene Inhalte in diesen Technologien zu erstellen. Durch die theoretischen Kenntnisse und praktischen Erfahrungen sollen die Studierenden in die Lage versetzt werden, innovative und immersive AR- und VR-Anwendungen zu konzipieren, zu entwickeln und zu evaluieren. Am Ende des Moduls sollen die Studierenden in der Lage sein, eigenständig komplexe AR- und VR-Inhalte zu erstellen und zu präsentieren, um die Anwendungsmöglichkeiten dieser Technologien in verschiedenen Bereichen zu demonstrieren.
Die Vorlesung findet teilweise in immersiver virtueller Realität statt. Es werden dafür VR-Brillen an die Studierenden ausgeteilt.
Technische und topologische Mechanismen zur Netzwerksicherung, Angriffsmuster und Abwehrstrategien, Grundlagen, Ausprägungen und Abwehr von malicious Software, Analyse und Beurteilung von Sicherheit und sicherheitstechnischen Vorgängen. Am Ende der Vorlesungsveranstaltung werden praktische Fallbeispiele geübt, die einen Eindruck von der Anwendung der Vorlesungsinhalte bieten.
Vorlesung mit gewünschten Zwischenfragen; praktische Übungen im Netzwerklabor unter Anleitung der Dozenten
Einsatzbereiche von Industrie- und Servicerobotern, Kinematiktypen, Koordinatentransformationen, kinematische Modellierung von Manipulatoren, Bahnplanung, Sensorik, Steuerungsarchitektur (Hardware und Software), Programmiermethoden, Programmiersprachen
Seminaristischer Unterricht
Zunächst erhalten die Studierenden einen Überblick über den internationalen Consultingmarkt und lernen die methodische Grundlagen dieser Branche sowie die Arbeitsschwerpunkte des IT-Consultings kennen. Es wird auf verschiedene Ansätze der Strategieberatung, Prozessberatung und IT-Systemberatung mit den jeweiligen Beratungswerkzeugen und -methoden eingegangen.
Teilnahme Vorlesung, Bearbeiten von Case Studie in der Gruppe zur Anwendung und Vertiefung verschiedener Beratungsansätze
Es werden wichtige Frameworks für die "klassische" Anwendungsentwicklung mit Python vorgestellt (WAS):
In einem fließenden Übergang zwischen Vorlesungen und Übungen wird für jedes Framework ein durchgängiges Beispiel bereitgestellt (WOMIT), und zwar von der Schnittstelle (REST, GraphQL) bis zur Datenbank (PostgreSQL, MySQL, SQLite). Das objektrelationale Mapping wird durch SQLAlchemy umgesetzt. Weiterhin wird jedes Beispielprojekt als Docker-Image gebaut und mit Docker Compose als Container zum Laufen gebracht. Die Beispiele werden gemeinsam auf den studentischen Notebooks mit VS Code installiert und erläutert.
Bei diesen angeleiteten Übungen mit fertigen und lauffähigen Anwendungen werden die Studierenden auch mit der notwendigen Infrastruktur für Python vertraut gemacht. Dazu gehört z.B.:
Dadurch erwerben die Studierenden die Kompetenz, um die Vor- und Nachteile von etablierten Python-Frameworks gegenüber Frameworks mit z.B. Java oder JavaScript abzuwägen (WOZU).
Das Wahlpflichtfach findet 14-tägig freitags im 3. und 4. Block statt; Beginn ist in der 2. Vorlesungswoche. Es wird vorerst nur im Sommersemester angeboten.
Die Vorlesung führt in verschiedene Konzepte und Bereiche des Sounddesign ein. Neben technischen Grundlagen zu:
werden auch kreative Einsatzgebiete von Sounddesign wie:
angeschnitten. Es wird gezeigt, wie professionelle Klanglandschaften und Stimmungen gestaltet werden können, um gewünschte Wirkungen zu erzielen.
Die Vorlesung wird von Übungsaufgaben begleitet, in denen das Wissen praktisch angewandt wird. Die Inhalte der Aufgaben reichen von der Bearbeitung von Audiospuren, über Klangsynthese und Vertonung von Film-Szenen bis hin zur Entwicklung von Sound-Brands.
Seminaristische Vorlesung mit Übungsaufgaben
Im Rahmen der Vorlesung werden zunächst die Begrifflichkeiten des Geschäftsprozessmanagements geklärt, bevor dann unterschiedliche Konzepte zur Geschäftsprozessaufnahme und -modellierung dargestellt und untersucht werden. Hierbei wird auch auf die Unterstützung durch geeignete Vorgehensmodelle und Software-Tools eingegangen. Auch neuere Konzepte, wie etwa das Process Mining, werden hier behandelt. Mithilfe entsprechender Tools werden Geschäftsprozesse aufgenommen und anschließend im Rahmen einer Fallstudie simuliert. Abschließend werden Aspekte der Qualitätssicherung von Prozessen, der Bewertung der Leistungsfähigkeit von Prozessen sowie der Prozesskostenrechnung behandelt. Die Studiernden sollen dabei in die Lage versetzt werden, eigenständig die Prozesse im Unternehmensumfeld bearbeiten zu können (Erfassung, Modellierung, Analyse).
Im Überblick:
Seminaristischer Unterricht: Vorlesung, Fallstudien, Übungen
Die Vorlesung gibt einen Überblick über die Forschung und Entwicklung von Serious Games, ihren verschiedenen Einsatzgebieten in den Bereichen Lernen, Kommunikation und Engineering. Es werden Konzeption, Design, Produktionsprozesse und Wirkungsweisen von Serious Games anhand veröffentlichter Produktionen detailliert präsentiert. Nach dieser grundlegenden Wissensvermittlung über Serious Games erarbeiten die Studierenden dann ein Konzept für das "ultimative Serious Game": Die echte Welt retten.
Lernziele der Theorie:
Lernziele der praktischen Aufgaben:
Der Leistungsnachweis dieser Vorlesung wird die Abgabe eines Spielkonzepts für das "ultimative Serious Game" sein, das - in Einzel- oder Gruppenarbeit - mit der vermittelten Learning Game Design - Methodologie vermittelt wurde. Das Spielübersichts-Diagramm dieses Spielkonzepts wird als dynamisches System-Design mit einer visuellen Programmiersprache umgesetzt.
This course covers the following areas.
1. Embedded software engineering
2. Programming language design and analysis.
We will use the Go programming language to cover various aspects of programming language design and analysis.
Prerequisistes:
Softwareprojekt + Autonome Systeme
In der Vorlesung „Mobilkommunikation“ lernen die Studierenden die grundlegenden Prinzipien und Technologien mobiler Kommunikationssysteme kennen. Nach Abschluss der Veranstaltung können sie Problemstellungen mobiler Netzwerke wie drahtlose Signalübertragung, Medienzugriff und Mobilitätsmanagement beschreiben, Lösungsbausteine zur Lösung dieser Probleme identifizieren und anwenden sowie bestehende Lösungen bewerten. Außerdem sind sie in der Lage, die Eigenschaften und Anwendungen verschiedener drahtloser Systeme wie WLAN, Bluetooth, Mobilfunktechnologien (z. B. GSM, UMTS, LTE, 5G) und deren zugrunde liegenden Protokolle und Architekturen zu analysieren.
Die Vorlesung behandelt folgende Inhalte:
Die Veranstaltung wird im Flipped Classroom-Format durchgeführt. Die Studierenden bereiten sich eigenständig mit Vorlesungsfolien und Erklärvideos auf die Live-Termine vor. In den Präsenzveranstaltungen werden die Inhalte durch Fallstudien und praktische Übungen vertieft. Die Prüfungsleistung besteht je nach Vereinbarung aus einer mündlichen Prüfung oder einer schriftlichen Klausur. Der Gesamtarbeitsaufwand beträgt 60 Stunden, wovon 20 Stunden auf asynchrones Lernen, 20 Stunden auf Präsenzveranstaltungen und 20 Stunden auf die Prüfungsvorbereitung entfallen.
Die Studierenden verfügen über umfassende theoretische und praktische Kenntnisse in der Konzeption, Gestaltung und Präsentation von interaktiven Projekten. Sie simulieren anhand von Webseitenprojekten oder Applikationen für mobile Endgeräte den Arbeitsalltag der Kreativabteilungen von Multimedia-Agenturen.
Sie lernen an Beispielen, wie Gestaltungsaufträge in der Praxis umgesetzt werden. Dazu gehören Arbeitsschritte wie Kundenbriefing, Brainstorming, Designkonzept, Moodboard, Entwurfsgestaltung, Prototypenbau und Präsentation der Projekte.
Seminaristische Vorlesung mit Übungsaufgaben.
Die Teilnehmer werden in die Lage versetzt, sich in einem Rechenzentrumsbetrieb mit internen und externen Schnittstellen zurechtzufinden und ihren persönlichen Beitrag gemäß ihren Fähigkeiten in einer solchen Organisation einzubringen.
Unterricht; Übungen im eLearning-System
This course introduces the principles, theories and concepts of statistics and data modelling.
Students will learn
Die Studierenden erlernen auf praktische Art und Weise das Architekturprinzip der Microservices, die sich neben herkömmlichen, schwerfälligen Applikationsservern etabliert haben (WAS).
Anhand eines durchgängigen Beispiels werden Microservices mit folgender Plattform entwickelt (WOMIT):
Dadurch erwerben die Studierenden die Kompetenz, um die Vor- und Nachteile von Microservices gegenüber monolithischen Architekturen abzuwägen (WOZU).
"Spring Framework Documentation", https://docs.spring.io/spring/docs/current/spring-framework-reference
"Spring Boot Reference Guide", https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle
"Spring GraphQL Reference", https://docs.spring.io/spring-graphql/docs/1.0.0-M2/reference/html
"Spring Data JPA", https://docs.spring.io/spring-data/jpa/docs/current/reference
Docker, https://www.docker.com/why-docker
Kubernetes, https://kubernetes.io/docs
Neben Java als Plattform für Frameworks, wie z.B. Spring, hat sich JavaScript etabliert und wird von renommierten Unternehmen, wie z.B. PayPal, Netflix und Facebook nicht nur auf der Clientseite, sondern auch auf der Serverseite erfolgreich eingesetzt. Dazu hat auch Express beigetragen, das jedoch seit 2016 fast nicht mehr weiterentwickelt wird. Außerdem ist JavaScript als nahezu typfreie Programmiersprache anfällig für Laufzeitfehler. Seit TypeScript und VS Code jeweils von Microsoft veröffentlicht wurden, hat sich das grundlegend geändert. Bis auf wenige Ausnahmen sind alle großen und etablierten JavaScript-Frameworks und -Bibliotheken mittlerweile in TypeScript implementiert. Vereinfachend gesagt: TypeScript ist ein "typsicheres JavaScript", in dem auch künftige JavaScript-Features mitunter 2 Jahre vorher verfügbar sind.
Die Veranstaltung gliedert sich deshalb in einen Server- und einen Client-Teil (WAS):
Mit einem lauffähigen Beispiel werden für Nest folgende Features erläutert (WOMIT):
An weiteren lauffähigen Beispielen werden Angular und React erläutert und ihre Unterschiede herausgearbeitet (WOMIT):
Dadurch erwerben die Studierenden die Kompetenz, um einerseits den Einsatz von einem JavaScript-basierten Framework für die Serverentwicklung abzuwägen und andererseits zu entscheiden, ob für die Client-Entwicklung ein Framework wie Angular oder eine leichtgewichtige Bibliothek wie React angemessen ist (WOZU).
Das Wahlpflichtfach wird nur im Wintersemester angeboten.
Aufbau von Anwendungen mit mikrotechnologischem Schwerpunkt. Beispiele sind autonome Kleinstluftschiffe, selbstüberwachte erste Hilfe Kästen, energieautarke Türschilder, Komponenten des „High Speed Karlsruhe“ Rennwagens wenn der Student in diesem Projekt mitarbeitet (https://www.highspeed-karlsruhe.de/).
Dieses Wahlfachmodul bietet zusammen mit den beiden anderen Wahlfachmodulen den Studierenden die Möglichkeit, entsprechend den eigenen Interessen Schwerpunkte zu setzen und ihr Wissen auf bestimmten Fachgebieten zu vertiefen. Die zum Modul gehörenden Lehrveranstaltungen werden in der Regel jedes Semester angeboten. Jeweils zu Semesterbeginn werden im Internet und am Schwarzen Brett die aktuellen Angebote bekannt gegeben.
Das Internet der Dinge (IoT) vernetzt eine Vielzahl von Sensoren und Aktoren im privaten Smart-Home-Bereich wie auch im industriellen Umfeld. Dabei verfügen die Endgeräte nur über sehr begrenzte Ressourcen in Bezug auf Rechenleistung, Speichergröße und Energiebudget. Trotzdem müssen die Endgeräte in der Lage sein, ihre Aufgabe rechtzeitig und zuverlässig zu erfüllen, ohne dabei zur Zielfläche für Cyberangriffe zu werden.
Diese Veranstaltung vermittelt einen Überblick über die speziellen Anforderungen an die Softwareentwicklung für eingebettete, vernetzte Systeme, um diese energiesparsam und mit beschränkten Ressourcen betreiben zu können. Zu den behandelten Themen gehören Speichermanagement, Multitasking und Scheduling, Zugriff auf Hardware und Peripherie, verschiedene Busprotokolle sowie Konnektivität und Sicherheitsaspekte.
Diese Thematiken werden praktisch in einem Labor vertieft und die Studierenden werden das erlernte Wissen in einem Beispielprojekt umsetzen.
In der Lehrveranstaltung „Praktische Anwendung von Network Engineering und System Operations“ erwerben die Studierenden praxisnahe Fähigkeiten zur Planung, Konfiguration und Implementierung von Unternehmensnetzwerken. Sie lernen, Netzwerkkonzepte zu erstellen, Subnetting anzuwenden und Switches mit VLANs sowie redundanten Verbindungen zu konfigurieren. Außerdem werden grundlegende Firewall-Einstellungen mit PfSense vorgenommen, einschließlich Sicherheitsrichtlinien wie DMZ, NAT und Zero-Trust-Prinzipien.
Ein weiterer Fokus liegt auf der Einrichtung von NAS-Systemen mit geeigneten RAID-Leveln sowie der Erstellung hochverfügbarer Storage- und Proxmox-Cluster. Die Studierenden deployen virtuelle Maschinen und simulieren Systemausfälle. Im Abschlussprojekt entwickeln sie ein vollständiges Netzwerk- und Hosting-Konzept für ein praxisnahes Szenario, wobei sie Redundanz, VPN-Zugänge und verschlüsselte Kommunikation umsetzen.
Am Ende des Kurses sind die Studierenden in der Lage, Unternehmensnetzwerke sicher zu planen, aufzubauen und zu betreiben.
Nach erfolgreicher Teilnahme an diesem Modul sind die Studierenden in der Lage:
Ein kleines Unternehmensnetzwerk zu konzipieren, zu planen und aufzubauen.
Netzwerkkomponenten wie Switches, Firewalls und Router zu bestimmen und ihre Aufgaben im OSI-Modell zu erklären.
Ein Netzkonzept zu erstellen und korrektes Subnetting durchzuführen.
VLANs zu konfigurieren (Access-, Tagged- und Trunk-Ports) und redundante Verbindungen zwischen Switches einzurichten.
Einen Switch über Konsolenkabel oder SSH zu konfigurieren und grundlegende VLAN-Einstellungen vorzunehmen.
Eine PfSense-Firewall zu installieren und zu konfigurieren (WAN-/LAN-Ports, DNS, DHCP).
Firewall-Regeln für Netzwerksicherheit einzurichten (DMZ, Default-no-Access, Zero-Trust, Microsegmentation, NAT, Port-Forwarding).
Die Kombination von Switches und Firewalls zur Umsetzung eines sicheren Netzwerks zu implementieren.
NAS-Systeme mit geeigneten RAID-Leveln zu konfigurieren und Dateifreigaben einzurichten.
Hochverfügbare Storage-Cluster aufzubauen und zu administrieren.
Proxmox-Cluster zu installieren, zu konfigurieren und virtuelle Maschinen (VMs) zu deployen.
Live-Migrationen zwischen Cluster-Nodes durchzuführen und Systemausfälle zu simulieren.
Ein Unternehmensnetzwerk für den 24/7-Betrieb auszulegen und die Herausforderungen eines kontinuierlichen Betriebs zu bewältigen.
Fehlerquellen wie Single-Point-of-Failure zu identifizieren und zu eliminieren.
Netzwerksegmentierung und Verkabelungsstrategien für verschiedene Anwendungsfälle zu planen und umzusetzen.
Ein Netzwerk- und Hosting-Konzept für ein konkretes Szenario (z.B. Unternehmensnetzwerk) zu entwickeln.
VPN-Lösungen für unterschiedliche Nutzergruppen zu implementieren.
Sicherheitsrichtlinien wie „Default-no-Access“ und verschlüsselte Kommunikation konsequent umzusetzen.
Ein Konzept für ausfallsichere und redundante Netzwerke zu erstellen und teilweise zu implementieren.
Vorlesungsunterlagen KN1+2
Voraussetzungen:
In dieser Veranstaltung erhalten Sie einen Einblick in die vielseitige Welt des Game Designs. Dabei werden Sie sich mit grundlegenden Fragen auseinandersetzen, wie zum Beispiel der Definition eines Spiels, den konstituierenden Elementen eines Spiels und was Spaß eigentlich ausmacht. Ziel der Veranstaltung ist es, Ihnen grundlegende Werkzeuge an die Hand zu geben, die Ihnen dabei helfen Spiele zu analysieren und zu entwerfen.
Die Vorlesung führt praxisnah in das Gebiet der Software-Qualitätssicherung ein. Jedes Semester wird ein spezielles Kapitel aus dem Bereich der Software-Qualitätssicherung gewählt und von den Studierenden in einer Reihe von Kurzpräsentationen vorgestellt und diskutiert.
Hoffmann, "Software-Qualität", Springer-Verlag, 2013
Vorlesung, Kurzpräsentationen
Die Studierenden werden zunächst mit den Grundbegriffen des Projektmanagements vertraut gemacht. Hier stehen die Begriffe "Projekt", "Projektmanagement" und das so genannte magische Projektmanagement-Dreieck im Vordergrund. Nach der Vorstellung Vorgehensmodelle wird ein Phasenmodell für die Abwicklung eines Projektes entwickelt, welches mit der Projektdefinition beginnt und über die Schritte Projektplanung und Projektrealisierung schließlich im Projektabschluss mündet.
Für jede Phase werden entsprechende Werkzeuge vorgestellt, welche die Studierenden im Rahmen von Übungen und einer abschließenden Gruppenarbeit anwenden müssen.
Blockveranstaltung mit Übungen: Vorlesung 50%, Übungen 10%, Gruppenarbeit 40%
Die Studierenden
Inhalt:
Florian Dalwigk, "Ethical Hacking - Das große Buch zum Hacking mit Python" (wird als Skript gestellt)
Voraussetzungen: Grundkenntnisse in der Programmierung (vorzugsweise Python), Grundkenntnisse in der Netzwerktechnik
Die Studierenden
Inhalte:
Grundkenntnisse in Linearer Algebra und Kryptographie sind hilfreich.
Diese Veranstaltung ist ein Platzhalter für eine externe, benotete Veranstaltung einer anderen Fakultät oder Hochschule. Sie müssen sich das externe Fach vor dessen Besuch genehmigen lassen.
In dieser Veranstaltung erlernen Studierende die Kommunikation mit einem nicht-fachlichen Publikum, indem Sie mit Schülerinnen und Schülern Experimente durchführen bzw. diese demonstrieren. Die Experimente müssen für Schülerinnen und Schüler geeignet sein, weswegen zur Durchführung in der Regel keine besonderen Fachkenntnisse aus dem Studium benötigt werden. So können die Teilnehmenden sich in dieser Veranstaltung vollständig auf die Vermittlung konzentrieren und müssen sich nicht zusätzlich in neue Fachinhalte einarbeiten. Zusätzlich lernen die Studierenden durch den Kontakt mit den Schülerinnen und Schülern die Bedeutung ihres Studienfachs und der Tätigkeit in ihrem späteren Beruf im gesellschaftlichen Kontext zu reflektieren, indem Sie
Dies ist nicht nur für das Ziel der Tätigkeit mit den Schülerinnen und Schülern (Begeisterung für Technik wecken) unerlässlich, sondern ermöglicht den Studierenden auch eine stärkere Identifikation mit ihrem eigenen Studienfach.
Die Studierenden können komplexe fachliche Inhalte (hier: Experimente) einem nicht-fachlichen Publikum (hier: Schülerinnen und Schüler) adressatengerecht vermitteln, indem Sie
um im späteren Beruf die eigenen Kenntnisse Vorgesetzten und Fachfremden überzeugend kommunizieren zu können.
Inhalte
Im ersten Teil des Semesters leitet das Seminar die Teilnehmenden an, eigene Versuche auszuarbeiten. Themen hierbei sind: - Ziele von Kommunikation (hier: Schüler für Technik begeistern) - Erfassung des Wissensstands der Zielgruppe - (Didaktische) Reduktion des Inhalts/Stoffs - Präsentationsmethoden (z.B. Touch-Turn-Talk) - Methoden zur Arbeit mit Gruppen (z.B. Murmelgruppen) - Zeitplanung (z.B. Erstellen eines Planungsrasters) - Umgang mit unerwarteten/schwierigen Situationen Die selbst ausgearbeiteten Versuche sowie die Erfahrungen aus der Arbeit mit den Schülerinnen und Schülern werden in der Veranstaltung reflektiert und zur weiteren Arbeit an den oben genannten Themen genutzt.
Prüfungsleistungen
Im ersten Drittel des Semesters bereiten die Studierenden, begleitet durch ein Seminar, die Präsentation eines ca. 10-minütigen Experiments vor. Dieses Experiment präsentieren sie anschließend vor den anderen Studierenden, die die Rolle von Schülern einnehmen. Diese Präsentation prüft als mündliche Prüfung vor allem Teilkompetenzen 2. und 4. bis 6. Anschließend erstellen die Studierenden in Kleingruppen, begleitet durch das Seminar, den Ablaufplan für eine Lehreinheit. Diese kann zum Großteil aus den Experimenten der beteiligten Studierenden bestehen. Diese Lehreinheit führen die Studierenden mehrfach mit Schülerinnen und Schülern durch. Die Durchführung dieser Lehreinheit dient der weiteren Übung bzw. Vertiefung und wird nicht bewertet. Bis zum Ende des Semesters erstellen die Studierenden eine Versuchsbeschreibung, z.B. für das von ihnen in der mündlichen Prüfung präsentierte Experiment. Unter Einbeziehung ihrer Erfahrungen aus der Praxis mit den Schülerinnen und Schülern reflektieren sie hierbei ihre ursprüngliche Präsentation. Diese Versuchsbeschreibung und Reflexion dient als schriftliche Prüfung Teilkompetenzen 1. bis 4. und 7.
Die Kommunikation mit Fachfremden wird in dieser Veranstaltung mit Schülerinnen und Schülern geübt, daher müssen die Teilnehmenden bereit sein mit Schülerinnen und Schülern zu Arbeiten.
Diese Veranstaltung ist ein Platzhalter für eine externe, unbenotete Veranstaltung einer anderen Fakultät oder Hochschule. Sie müssen sich das externe Fach vor dessen Besuch genehmigen lassen.
Im Rahmen dieser Lehrveranstaltung sammeln die Studierenden eigenständige Erfahrung im Bereich Lehre und/oder Organisation. Das Ziel ist eine Förderung der Toleranz sowie der Verantwortungskompetenz und -bereitschaft. Auch Autonomie und Selbstkompetenz werden verbessert. Die Aufgaben werden von verschiedenen Dozenten ausgeschrieben und können einerseits tutorielle oder auch organisatorische Tätigkeiten umfassen. Ein Tutor erlernt in Absprache mit einem Dozenten, wie für eine Lehrveranstaltung Übungsaufgaben vorbereitet und Teilnehmer betreut werden, wie neue Übungsaufgaben erstellt, Hausaufgaben und Tests vorkorrigiert werden. Als organisatorische Aufgaben kommen verschiedene Events in Frage. Beispielsweise die Organisation einer mehrtägigen Exkursion oder die Organisation einer Firmenkontaktmesse/eines Praxisforums. Der Dozent vergibt eine Note, in die Anzahl, Erfolgsquote und Qualität der durchgeführten Tutorien eingeht oder er beurteilt die Organisationsqualität.
Mögliche Aufgaben:
Diese Vorlesung vermittelt die Grundlagen des "Reinforcement Learning", welches einen wichtigen Teilbereich des Maschinellen Lernens darstellt. Das Ziel beim Reinforcement Learning besteht darin in verschiedenen Situationen jeweils die optimale Aktion zu wählen, so dass das Verhalten eines Agenten optimal gesteuert werden kann. Bekannte Beispiele des Reinforcement Learning sind zum Beispiel:
Im Rahmen der Vorlesung wird zuerst die Grundidee des Reinforcement Learning vermittelt und das unterliegende formale Framework eingeführt. Beginnend mit einfachen Ansätzen werden zunehmend fortgeschrittenere Methoden beleuchtet, bis hin zum Training eines Agenten welcher automatisch lernt Atari-Spiele zu spielen.
Ziel ist es, die Studierenden in die Lage zu versetzten eigene RL-Algorithmen für Problemstellungen in der beruflichen Praxis zu formulieren.
Die Vorlesung enthält einen Praxisanteil, bei dem mit Hilfe von Python und PyTorch die vorgestellten Ansätze nachimplementiert werden.
Vorkenntnisse in Python sind daher zwingend notwendig.
Diese Veranstaltung findet als Blockvorlesung statt und ist auf max. 20 Teilnehmer beschränkt.
Details zur Anmeldung finden sich im entsprechenden Ilias-Eintrag unter
"Lehrinhalte Dozenten Informatik" -> "Lehrinhalte von Prof. Dr. Patrick Baier" -> " Vorlesung Reinforcement Learning"
Dieser Veranstaltung ermöglicht es Studierenden, für an der Hochschule Karlsruhe oder während des Studiums geleistete soziale Arbeiten ECTS-Punkte zu erlangen. Die Tätigkeit muss eng mit einer Professorin oder einem Professor der Fakultät abgestimmt werden. Dabei kann es sich beispielsweise um eine Unterstützung der O-Phase oder auch die Betreuung sehbehinderter Studierender handeln. Im Fall der O-Phase werden Sie in der Regel an zwei Semestern mitarbeiten müssen, um die erforderliche Mindeststundenzahl zu erreichen.
Bei Interesse können Sie zusätzlich das "Certificate of International and Intercultural Competence (CIIC)" erhalten. Es bescheinigt die während des Studiums erworbenen interkulturellen Kompetenzen und Fremdsprachenkenntnisse, weist studienbezogene Auslandserfahrungen nach und führt auf, in welchem Rahmen sich die Teilnehmenden interkulturell engagiert haben. Um das CIIC zu erwerben, müssen Sie drei von vier Themenbereichen abdecken. Hauptbestandteil im Themenbereich 1 bildet das ehrenamtliche Engagement im Umfang von mindestens 50 Zeitstunden (etwa 2h/Woche in einem Semester), das in Einrichtungen oder Projekten mit einem internationalen und/oder interkulturellen Bezug absolviert werden kann. Zusätzlich zum Engagement besuchen Sie eine Einführungsveranstaltung sowie einen Reflexionsworkshop und erstellen einen Erfahrungsbericht, der zum Bestehen des Themenbereiches notwendig ist. Bei Fragen zum Zertifikat wenden Sie sich bitte an das Center of Competence: https://www.h-ka.de/ciic
Über das Center of Competence besteht auch die Möglichkeit, das "Zertifikat für Gesellschaftliches Engagement (ZGE)" zu erhalten. Es berücksichtigt eine noch größere Auswahl an Möglichkeiten, sich zu engagieren. Finden Sie Ihren passenden Bereich, egal ob es sich dabei um gesellschaftliches, soziales, kulturelles oder ökologisches Engagement handelt. Ihr gesellschaftliches Engagement sollte mindestens 100 Zeitstunden umfassen und mindestens ein Jahr lang andauern. Zusätzlich zum Engagement besuchen Sie verschiedene Seminare aus dem Studium Generale (insgesamt 8 ECTS), um Ihre praktischen Erfahrungen mit theoretischen Kenntnissen zu verknüpfen. Als Wahlpflichtfach kann dieses Zertifikat nicht anerkannt werden. Nähere Informationen finden Sie hier: https://www.h-ka.de/zge
In regelmäßigen Abständen bietet das Center of Competence Einführungsveranstaltungen und Reflexionsworkshops für HKA-Studierende an, die sich außerhalb des Studiums engagieren. So erhalten sie die Möglichkeit, sich mit anderen Teilnehmenden über ihre Erfahrungen als Ehrenamtliche auszutauschen und lernen, ihre gewonnenen Erkenntnisse zu reflektieren und einzuordnen. Die nächsten Termine entnehmen Sie der CIIC-Webseite.
Zunächst lernen die Studierenden den grundlegenden Ablauf des Echtzeitrenderings am Beispiel der Rendering-Pipeline. Anschließend werden einige Beispielprogramme Stück für Stück erarbeitet. Die Vorlesung und Programmbeispiele sind dabei stark an die Rendering-API OpenGL gekoppelt. Der Umgang mit Shadern steht hier im Vordergrund. Vorkenntnisse mit OpenGL sind nicht notwendig, jedoch sollten die Studierenden die Vorlesung Computergrafik bereits besucht haben.
Vorlesungsbegleitend wird eine eigene praktische Arbeit angefertigt, in der die Studierenden das Gelernte umsetzen dürfen.
In der Vorlesung werden Performancemodelle, Designkriterien und Designfehler leistungsfähiger Software für Hochleistungsrechner, parallele Datenstrukturen, parallele Algorithmen sowie deren Limitierungen/Flaschenhälse vermittelt. Neben den Fähigkeiten, technische Merkmale zu verstehen und diese einzuschätzen, werden die etablierten Methoden zur shared-, distributed Memory und Grafikkarten-Programmierung vermittelt. Im Praxisteil werden:
An den folgenden wissenschaftsnahen Aufgabenstellungen vermittelt:
Ergänzt werden die Inhalte durch einen Gastvortrag über Hadoop und dem für die Industrie bedeutsamen Map-Reduce Algorithmus.
Für den Praxisteil ist es wesentlich, dass die Studierenden Ihre Aufgaben auf einem modernen Hochleistungsrechner berabeiten und ausführen.
Die Veranstaltung teilt sich in einen Vorlesungs- und einen Praxisteil. Durch gezielte Fragen und Übungsaufgaben in der Vorlesung wird versucht, eine möglichst interaktive Vorlesung und eine offene Atmosphäre zu schaffen. Im Praxisteil implementieren die Studierenden in maximal 2er Teams Laboraufgaben auf einem Hochleistungscluster, wodurch Sie sich gegenseitig bei der Lösung der Aufgabenstellung unterstützen können und das Konzept "Parallelität" erfassen sollen. Hilfestellung wird bei technischen Schwierigkeiten oder ungünstigen Lösungswegen durch kompetente Betreuung geboten.
Einführung in die Programmiersprache ABAP mit praktischen Übungen im SAP NetWeaver Application Server ABAP. Die Studierenden sollen Sprachelemente, Workbench, Datenbank, Selektionsbilder, Funktionsbausteine und ABAP OO kennenlernen und eigenständig auf neue Fragestellungen anwenden können.
Seminaristischer Unterricht mit hohem Laboranteil
Mitarbeit am Projekt "High Speed Karlsruhe" in der Fakultät MMT. Bei Interesse melden Sie sich bitte bei Herrn Stumpf: oliver.stumpf@h-ka.de
http://www.hskampus.de
https://www.facebook.com/hskampus
https://www.instagram.com/hskampus/
In der Vorlesung werden die Grundlagen digitaler/smarter Technologien vermittelt. Hierzu zählen Hardware, Software und Grundlagen verteilter Systeme und dezentraler Anwendungen. Im
Rahmen einer praktischen Arbeit entwickeln die Teilnehmenden ein smartes Produkt durch alle Ebenen der Referenzarchitektur, d.h. Hardware, Software und Anwendungslogik inkl. Business Case-Rechnung.
Laptop bzw. Computer (keine zwingenden Betriebssystemvoraussetzungen erforderlich). Die alleinige Nutzung von Tablets ist im Rahmen der Vorlesung nicht zielführend.
Studierende ab dem 5. Semester Bachelor oder Masterstudierende aus Ingenieurstudiengängen, Informatik, Wirtschaftsinformatik oder Betriebswirtschaft
Remote-Veranstaltung inkl. Remote-Lab der Hochschule Mannheim
Anmeldung per E-Mail an: Kevin Kastner, M.Sc.
k.kastner@hs-mannheim.de
Fakultät/Einrichtung: Kompetenzzentrum Virtual Engineering
Dieses Modul befähigt die Studierenden, methoden-gestützt die Grundprinzipien des Forschens in der Informatik anzuwenden. Sie können wissenschaftliche Literatur recherchieren, diese bewerten und sie in einer eigenen Arbeit zielführend einsetzen. Sie sind anschließend in der Lage, eine eigene wissenschaftliche Ausarbeitung zu verfassen.
Die Studierenden bearbeiten selbständig eine praxisbezogene Problemstellung unter Anwendung wissenschaftlicher und praktischer Methoden. Themen sind das selbstständige Erarbeiten der Methodik, des Themas und der genauen Problemstellung sowie die Gliederung der Ausarbeitung und das Erstellen eines Literaturverzeichnisses. Die Ergebnisse werden mit den durchführenden Dozenten besprochen und präsentiert. Die Studierenden erlernen dadurch das Vorgehen zum Erstellen der abschließenden Bachelor-Thesis.
Nach der erfolgreichen Teilnahme an diesem Modul sind die Studierenden in der Lage, in einem vorgegebenen Zeitraum eine praxisnahe Problemstellung oder Forschungsaufgabe selbständig mit wissenschaftlichen Methoden und Erkenntnissen des Fachs zu lösen. Sie können dazu die Aufgabenstellung gezielt strukturieren, Abhängigkeiten prüfen, die erforderlichen Ressourcen zusammenstellen und anschließend die Aufgabe anhand eines eigens abgeleiteten Zeitplans bearbeiten. Die Ergebnisse können sie schriftlich in ansprechend aufbereiteter Form präsentieren.
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
Die Teilnahme an diesem Modul versetzt die Studierenden in die Lage, die innerhalb einer fachlichen, anwendungsbezogenen Arbeit erzielten Erkenntnisse und Ergebnisse einer fachkundigen Zuhörerschaft überzeugend darzustellen. Sie können den Inhalt einer solchen Arbeit analysieren, sich gezielt die wesentlichen Aspekte heraussuchen und diese in einem didaktisch sinnvoll aufbereiteten Kurzvortrag präsentieren. In einer anschließenden Diskussion sind sie in der Lage, ihre Ergebnisse auch vor einem Fachpublikum zu verteidigen.
A student research project is the independent processing of a topic in the field of software or hardware. The aim is to carry out a practical task; however, work in the areas of evaluation or literature research is also possible.
The students analyse the task and research which tools can be used to best implement the task. They then apply these accordingly. Comprehensive documentation must be prepared for the research project, covering all steps of the task and completion (e.g. the exact problem definition, the concept, the implementation, operating instructions and more). The scope and exact nature of this documentation is determined according to the requirements of the work. The research project is thus a preparation for the later final thesis, which the students will write according to very similar guidelines.
All work will be individual work and will include basic literature research, system analysis, coding, documentation, and oral presentation.