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 lernen die fachlichen Grundlagen der Gestaltung von Medien kennen. Sie entwickeln Design-Konzepte und können diese im Rahmen von einfachen Aufgabenstellungen unter Berücksichtigung der Usability und der User Experience bei der Gestaltung von Benutzungsschnittstellen praktisch umsetzen.
Die Studierenden setzen sich mit den theoretischen Grundlagen der Mediengestaltung auseinander. Dazu gehören die Kenntnisse von Kreativitätstechniken, Gestaltungsregeln und Gestaltgesetzen, Ordnungssystemen, Mikro- und Makrotypografie, Farbenlehre, Logo/Piktogramm/Icon sowie Layout und Gestaltungsrastern. Zudem bekommen sie einen Einblick in die analoge und digitale Fotografie und in die Konzeption und Gestaltung digitaler Medieninhalte am Beispiel von Webanwendungen.
Die Studierenden werfen einen Blick in die Designgeschichte vom Beginn der Industrialisierung über stilprägende Designrichtungen des 19. und 20. Jahrhunderts bis hin zu aktuellen Strömungen des Designs. Dieser Überblick befähigt die Studierenden, unterschiedliche Designstile einzuordnen und zu beurteilen und ermöglicht ihnen, das erarbeitete Wissen in ihre Gestaltungsprozesse einfließen zu lassen.
Seminaristischer Untericht mit Fallbeispielen.
Die in der Vorlesung erworbenen theoretischen Kenntnisse werden in Übungsaufgaben praktisch angewendet und die Ergebnisse anschließend im Plenum präsentiert und diskutiert. Die Studierenden erlangen die Fähigkeit, Entwürfe zu analysieren und zu beurteilen. Zudem erlernen sie diverse professionelle Software-Tools, um Designlösungen realisieren zu können.
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 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 fundierte Kenntnisse über Techniken und Konzepte verteilter Systeme, insbesondere im Kontext von Web-Anwendungen. Sie verstehen die allgemeine Architektur des Internets und des Web und können Anforderungen an Web-Anwendungen präzise analysieren. Sie sind in der Lage, interaktive Web-Anwendungen mit HTML, CSS und clientseitigem JavaScript zu entwickeln sowie serverseitigen Code für Anwendungsdienste zu erstellen, einschließlich Authentifizierung, Cookies und Sessions. Zudem erkennen sie potenzielle Sicherheitsprobleme wie Cross-Site-Scripting und SQL-Injection und können geeignete Schutzmaßnahmen umsetzen. Diese Fähigkeiten versetzen die Studierenden in die Lage, komplexe und sichere Web-Anwendungen zu konzipieren, zu entwickeln und produktiv zu betreiben.
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.
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.
Die Vorlesung beginnt ihre Reise durch die technische Welt der Interfaces und ihrer Entwicklung bis hin zu den glatten Oberflächen unserer Smartphones im ersten aller Interfaces, mit dem wir der Welt begegnen - unserem eigenen Wahrnehmungsapparat.
Von dort aus führt uns die psychologische und kognitionswissenschaftliche Betrachtungsweise von Design durch Don Norman zu einer Grundlage für nachhaltiges Interface Design, das nicht kurzlebigen Moden und technischen Features, sondern den Bedürfnissen und Belangen der menschlichen Wahrnehmung, Gefühlswelt und Kognition entspricht. Die StudentInnen erlernen grundlegende Design-Prinzipien für Interfaces und Interaktionen zwischen Mensch und Maschine, die sich allgemeingültig anwenden lassen und mit denen vor allem auch die Zukunft von emotional und funktional erfolgreichen Interfaces und Interaktionen erdacht werden kann, da der Mensch, der an der Maschine hängt, langsamer evolviert als die technische Entwicklung der Maschinen.
Lernziele der Theorie:
Die Studierenden wenden das in der Vorlesung vermittelte theoretische Wissen in praktischen Übungen im begleitenden Übungskurs an.
Basierend auf dem vermittelten Wissen über Interface Design in der Vorlesung werden folgende Übungen erarbeitet:
Die Vorlesung Medientechnig vermittelt ein Grundverständnis für die in der AV-Produktion verwendeten Medien. Thematische Schwerpunkte sind hier Farbgebung, Bild, Ton, Bewegtbild, Aufnahmetechnik, Signalverarbeitung, Codierung und Übertragung.
Die Vorlesung Medientechnig vermittelt ein Grundverständnis für die in der AV-Produktion verwendeten Medien. Thematische Schwerpunkte sind hier Farbgebung, Bild, Ton, Bewegtbild, Aufnahmetechnik, Signalverarbeitung, Codierung und Übertragung.
Vorlesungsteilnahme, Vor- und Nachbereitung anhand der Vorlesungsfolien und des Vorlesungsprotokolls.
Der Laborkurs wird mit einer kurzen Geschichte der Entwicklung der Medientechnik eingeleitet. Diese historische Übersicht reicht von der Entwicklung der Sprache am Lagerfeuer bis zu den Anfängen des elektrischen Medienzeitalters (mit der Erfindung der Telegraphie, des Telephons und TVs). Das klingt nach einem langen Entwicklungsbogen, der da gespannt wird, aber Medientheoretiker wie Marshall McLuhan zeigten uns schon in den 60ern, dass es zwar technologisch ein weiter Weg vom Lagerfeuer zum Wohnzimmer-TV war, aber im Grunde die nun moderne elektronisch vernetzte Welt zum globalen Dorf wird und wieder ans - nunmehr elektronische - Lagerfeuer (TV, Internet) zurückkehrt. Nach all der erstaunlichen Technologie-Entwicklung unserer Medien stehen wir nun etwas verdattert wieder vorm Lagerfeuer und erleben in den wärmenden Filterblasen von Facebook, Instagram und Whatsapp die Wiedergeburt der oralen Stammeskultur, die wir durch Gutenberg vor über 500 Jahren doch eigentlich verlassen hatten...Diese und andere Sichtweisen fädeln wir in den historischen Entwicklungsfaden der Medientechnik ein. Nach den medientheoretischen Betrachtungen über die physio-psychologische und kulturell-gesellschaftliche Wirkungsweise von technischen Medien wird dann der Fokus auf die technische Ableitung der Medien-Apparate aus den Vorbildern der Natur gelenkt.
Als Überleitung dieser technischen Sichtweise erfolgt eine Einführung in 3D-Computergrafik-Programme. Sie vereinen als aktuelle software-basierte Medientechnologie viele der bisherigen Medientechnologien digital und virtuell in sich: Moderne Software zur 3D-Content-Produktion integriert die Möglichkeiten der Leinwand und Ölmalerei, der Photographie und Filmkamera, der Lichttechnik, der Film- und Tonstudio-Technik, des Stop-Motion-Trickfilms bis hin zur programmierten Computersimulation in einem Medium.
Diese multimediale Integrationskraft der 3D-Software, ihr Vermögen, alle vorangegangenen Medientechnologien in ihrem 3D-Raum nachahmen zu können, machen wir uns zunutze, um dann im Laborkurs Theorie der Medientechnik und Praxis aktueller Medientechnologie zusammenzubringen: Wir bauen historische Medienapparate und -technologien wie die Camera obscura, das Zoetrop oder den Telegraphen in der 3D-Software "Maya" ("Autodesk") nach und animieren ihre Funktionsweise und -prinzipien in 3D-Computeranimation. Für die Praxis werden so praktische Kenntnisse und Fähigkeiten in der 3D-Modellierung, -Animation, -Beleuchtung und im -Rendering erworben. Für das theoretische Wissen um die Medientechniken sind diese Nachbau-Aufgaben in 3D als Wahrnehmungs-Experimente konzipiert, die Funktion und Wirkungsweise der Medientechniken simulieren. Durch den Nachbau wird die Konstruktion der Medienapparate verstanden ("Nur was ich bauen kann, kann ich verstehen" (Richard Feynman)) und durch das Wahrnehmungsexperiment die Wirkungsweise nachgewiesen. Dabei wird auch der Funktionsumfang der 3D-Software selbst untersucht: Verhält sich das Licht in der 3D-Software genauso wie draußen bei Mutter Natur die echten Photonen? Dann müßte eine in der 3D-Software nachgebaute camera obscura genauso funktionieren wie in der Physik draußen in der wirklichen Welt.
Lernziele der Theorie:
Lernziele der praktischen Aufgaben:
Die Bewertung der Labor-Kursteilnahme erfolgt durch die abgegebenen Arbeiten (Animation und Bild, sowie die dafür erstellten Maya-Dateien)
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.
Grundbegriffe der Wahrscheinlichkeitsrechnung, Wahrscheinlichkeitsverteilungen, Unabhängigkeit von Zufallsvariablen, bedingte Wahrscheinlichkeiten, Ausschnitte aus beschreibender und schließender Statistik.
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 Oracle (die Vorbereitung zum Labor soll in PostgreSQL oder MySQL erfolgen).
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, Verfassen eines Laborberichtes zu den Aufgaben.
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 setzen die im Modul Mediengestaltung erworbenen Fähigkeiten in einem eigenen Medienprojekt um. Sie beherrschen die zielgruppenadäquate Planung, die Auswahl von Techniken und Werkzeugen sowie deren kompetenten Einsatz in der Produktion. Die Bewertung soll in einer Werkschau mit Ausstellungscharakter erfolgen.
Die Studierenden verfügen über fundierte Kenntnisse unterschiedlicher Interaktionsformen der Mensch-Maschine-Schnittstellen sowie der Konzeption und Gestaltung von multimodalen Benutzeroberflächen.
Sie beschäftigen sich intensiv mit Teilaspekten gestalterischer Prozesse wie z. B. Transition und Animation beim Einsatz von grafischen Benutzeroberflächen, Mikrointeraktionen und unterschiedlichen Arten des Prototypings. Zudem können sie die Merkmale aktueller Designrichtungen definieren und unterscheiden.
Die Studierenden können anhand von gestalterischen Aufgabenstellungen multimediale Projekte konzipieren und mit Hilfe von Wireframes, Mockups und interaktiven Prototypen umsetzen, die Lösungen begründen und präsentieren.
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.
Durch regelmäßige Abendveranstaltungen erhalten sie einen ersten Einblick in die Verbandsarbeit, konkret die Arbeit der Usability Professionals' Association (UPA).
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 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
Die Studierenden erlernen das produktive und selbständige Mitarbeiten in großen Software-Projekten. Dies umfasst sowohl das Zerlegen anfallender Aufgaben als auch die Bestimmung und Bewertung geeigneter Architekturen. Dabei werden sie befähigt, die nötigen Schritte im Kontext einer gestellten Aufgabe selbständig zu erfassen, zu strukturieren und mittels des Einsatzes geeigneter Werkzeuge und Methoden formal zu beschreiben.
In diesem Kontext erlangen die Studierenden auch die Fähigkeit, Ziele und Probleme verteilter Software-Systeme zu erkennen und einzuordnen. Sie können die allgemeinen Konzepte für Architekturen, Prozesse, Kommunikation, Benennung, Koordination, Replikation, Fehlertoleranz und Sicherheit erklären und sie zur Konstruktion verteilter Software Dienste und Anwendungen anwenden.
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.
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.
Vorlesungsteilnahme, Teilnahme an Online-Tests
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.
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 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.
Wissenschafts-Kommunikation und interaktive Infographiken: Wie ein Bild von der Welt machen die Welt bildet.
Sich ein Bild von der Welt machen: Erstellung animierter und interaktiver Infographiken über den derzeitigen Zustand der Welt.
Maschinen können heute bereits auf "natürliche" Art und Weise mit Menschen kommunizieren, indem sie Sprache verstehen oder Gesten interpretieren und entsprechend reagieren. Die Vorlesung Intuitive und Perzeptive Benutzungsschnittstellen beschäftigt sich mit den Besonderheiten solcher Mensch-Maschine-Schnittstellen. Die Thmen im einzelnen sind:
Vorlesungsfolien
Die Studierenden verfassen unter Anleitung eines betreuenden Dozenten zu einem aktuellen Informatik-bezogenen Thema eine schriftliche Ausarbeitung und präsentieren die Ergebnisse im Rahmen eines Vortrages mit anschließender Diskussion. Die Ziele dieses Moduls sind neben der eigenständigen Lösung einer fachlichen Problemstellung auch die Fähigkeit zu Vermarktung der Leistung der Studierenden.
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.
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.
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.
Die Abschlussprüfung erfolgt über alle Informatik-relevanten Themen des Hauptstudiums. Die Studierenden weisen nach, dass sie fachübergreifende Zusammenhänge verstanden haben und diese anwenden können. Sie beantworten dazu Fragen aus vielfältigen Bereichen der Medieninformatik, die im Zusammenhang mit ihrer Abschlussarbeit stehen. Mit der Abschlussprüfung weisen sie nach, dass sie die Kompetenz zur selbstständigen Bearbeitung von neuartigen Problemstellungen aus der Medieninformatik besitzen.