Modulbeschreibung

Ingenieurinformatik I

ECTS-Punkte:
12
Lernziele:

Die Studierenden

  • setzen den Begriff der Komplexität für Daten und Algorithmen korrekt ein.
  • kennen die wesentlichen Datenstrukturen und zugehörige Algorithmen.
  • kennen wichtige Entwurfsmuster, können sie in Programmen und Bibliotheken identifizieren und in eigenen Anwendungen richtig einsetzen.

 

  • können ein Relationales Datenmodell entwerfen.
  • können Datenmodelle in einer relationalen Datenbank implementieren.
  • können die Abfragesprache SQL einsetzen (DML, DDL).
  • können mit JDBC auf eine DB zugreifen.
  • verstehen verschiedene Informationssystem-Architekturen.
  • können ein einfaches Data Warehouse planen und realisieren.

 

  • können grafische Benutzeroberflächen bauen.
  • kennen das Model-Viewer-Controller-Paradigma und setzen es beim Entwurf ein.
  • können Ausnahmefälle in Programmen erkennen und behandeln.
  • können kleine Applikationen entwerfen und implementieren.

 

  • können digitale Schaltungen spezifizieren.
  • können solche mit Hilfe der Hardwarebeschreibungssprache VHDL beschreiben und simulieren.

 

  • kennen die grundlegenden Diagramme der Sprache UML.
  • können die Diagramme an einfachen Beispielen anwenden.
  • können die Bedeutung der UML-Elemente erklären.
  • können den Inhalt der UML-Diagramme erklären.
  • wissen wann und welches UML-Diagramm zu benutzen ist.
  • können UML-Diagramme in einem Software Projekt anwenden.
  • kennen den Bezug zwischen UML-Diagrammen und Java-Code.

Kurse in diesem Modul

Datenbanken:

Es werden die Grundlagen klassischer Datenbankanwendungen vermittelt. Im Vordergrund stehen Relationale Datenbanksysteme, Client-Server Architekturen sowie der Aufbau eines Data Warehouse.

  • Die Abfragesprache SQL2016
  • Datenmodellierung, ERM, Kardinalitäten
  • Relationales Modell, Normalformen
  • Datenbankobjekte (z.B. View, Index, Stored Procedures)
  • Client-side development (JDBC)
  • Transactions, Concurrency Control
  • n-tier Architekturen
  • Thin Client / Thin Server (z.B. SQLite)
  • Fast Prototyping und Data Exploration (z.B. Pandas DataFrame)
  • Data Warehousing (Star-Schema, ETL, OLAP)
Klassenunterricht mit 4 Lektionen pro Woche
Unified Modeling Language (UML):
  • Einführung in UML-Diagramme
  • Anwenudng von UML an Beispielprogrammen
  • Anwendung der Diagramme mit einem UML-Softwaretool
  • Spezielle Diagramme für Embedded Systems
Selbststudium mit 0 Lektionen pro Woche
Digitaltechnik:
  • Kombinatorische Schaltungen
  • Latches und Register
  • Synchrone Automaten
  • Programmierbare Logikbausteine (FPGA)
  • Hardwarebeschreibungssprache VHDL 
  • Arithmetisch logische Einheit (ALU) als Kern eines Prozessors
  • Wirkungsweise eines einfachen Rechners
Selbststudium mit 0 Lektionen pro Woche
Algorithmen, Datenstrukturen, Entwurfsmuster:
  • Entwurfsmuster der Gang of Four (Gamma et.al.)
  • Begriff der Komplexität von Algorithmen und Daten
  • Algorithmen und Datenstrukturen: Suchen, Sortieren, Listen, Bäume, Graphen
Klassenunterricht mit 4 Lektionen pro Woche
Konzepte der Programmierung:

 

  • Swing: Von der Komponente über LayoutManager bis hin zu JTree / JTable
  • Model-Viewer-Controller Entwurfsmuster
  • Reflection
  • Generische Datentypen
  • Collections
  • Pakete
  • Javadoc
  • Ausnahmebehandlung
  • Entwurf im Kleinen
Klassenunterricht mit 4 Lektionen pro Woche
Disclaimer

Diese Beschreibung ist rechtlich nicht verbindlich! Weitere Informationen finden Sie in der detaillierten Modulbeschreibung.