Modulbeschreibung

Ingenieurinformatik II

ECTS-Punkte:
12
Lernziele:

Die Studierenden

  • kennen an einem einfachen Beispiel, wie ein Peripheriegerät (Funkmodul) an einen Mikrocontroller angeschlossen und angesteuert werden kann.
  • kennen den Aufbau eines einfachen Treibers.
  • kennen die Problematik der Asynchronität einer Peripherieschnittstelle und deren Lösung durch ein Handshaking-Protokoll.
  • kennen einfache Prinzipien der Datenkommunikation.
  • können einen komplexen und leistungsfähigen Mikrocontroller in einem eingebetteten System einsetzen.
  • können Graphen zur Modellierung und zur Beschreibung von Problemen und Methoden in der Informatik einsetzen.
  • können für einen Graphen eine für dessen Realisierung geeignete Datenstruktur auswählen.
  • kennen nebst den linearen Datenstrukturen Liste, Stack, Queue auch Baumstruturen (Suchbäume, AVL-Bäume, Heap, Syntaxbaum, Hash-Tabelle).
  • können die erwähnten Datenstrukturen auch in geeigneter Form realisieren.
  • können technische Probleme analysieren und für deren Lösung geeignete Datenstrukturen und Algorithmen auswählen und auch realisieren.
  • kennen die wichtigsten Typen formaler Sprachen und deren Bedeutung.
  • kennen eine Notation (EBNF) zur Beschreibung der Grammatik formaler Sprachen.
  • können die Syntax einer formalen Sprache (z.B. einer Kommandosprache) so festlegen, dass sie vom Anwender leicht erlernt werden kann und es auch einfach ist einen entsprechenden Interpreter oder Übersetzer dazu zu realisieren.
  • können aufgrund des Sprachtyps und des Sprachumfangs entscheiden, ob sie einen Parser vollständig selbst realisieren oder durch einen geeigneten Parsergenerator erzeugen lassen und entsprechend ergänzen.
  • können die Struktur von Datenbeständen (z.B. Qualitätsdaten in der Produktion) so entwerfen und beschreiben, dass sie leicht erzeugt und auch auf einfache Art wieder weiterverarbeitet werden können.
  • kommen zusammen mit den Inhalten der anderen Profil-Modulen zu einem tiefen Verständnis bezüglich Aufbau und Wirkungsweise des digitalen Rechners und Compilers.
  • können nicht triviale (System-)Fehler in Hardware und Software lokalisieren und beheben.
  • können Datenstrukturen und Algorithmen in einfache und effiziente Programme umsetzen.
  • kennen die Architektur eines repräsentativen Mikrocontrollers.
  • sind in der Lage, Teile des Rechnerkerns sowie einiger Peripheriekomponenten in VHDL zu beschreiben.
  • können einen Rechnerkern (Soft Core) in VHDL durch eigene Teile ergänzen.
  • kennen einen repräsentativen, programmierbaren Baustein (FPGA) und können diesen einsetzen.
  • kennen die zentralen Sprachkonstrukte von Standard-SQL.
  • können Datenbestände aus Datenbanken abfragen und ändern.

Kurse in diesem Modul

Funk:
  • DIO (digital input output) Port eines Mikrocontrollers
  • Bitmanipulation in einer Hochsprache
  • Entwicklung eines einfachen Treibers
  • Handshake Konzept
  • Einfache Datenkommunikation
Selbststudium mit 0 Lektionen pro Woche
Embedded Systems:
  • Architektur eines 32 Bit-Prozessors
  • Superskalare Achitektur, Pipelining
  • Systembus
  • Treiberentwicklung
  • Grundlagen eines Real-Time Operating System (RTOS)
  • Einsatz in einem ausgewählten Projekt
Klassenunterricht mit 4 Lektionen pro Woche
Compilerbau:
  • Graphen
  • Datenstrukturen & Algorithmen
  • Formale Sprachen
  • Beschreibung der Grammatik formaler Sprachen in EBNF
  • Aufbau eines Parsers zur Erkennung der Struktur eines formal beschriebenen Sachverhalts (Datenbestand, Kommandofolge, Programm, etc.)
  • des Parsers zu einem vollständigen Compiler
  • Entwurf und Realisierung ekrocontroller (z.B. ATmega16 von Atmel) - ein umfangreiches, nicht triviales Projekt zur Konsolidierung der Inhalte der verschiedenen Kurse des Profilmoduls Ingenieurinformatik II.
Klassenunterricht mit 4 Lektionen pro Woche
Rechnerarchitektur:
  • Entwurf und Wirkungsweise eines einfachen Rechners
  • Von Neumann- und Harvard-Architektur
  • Rechen- und Steuerwerk, Speicher, Ein- / Ausgabewerke
  • Interruptstrukturen
Klassenunterricht mit 4 Lektionen pro Woche
Datenbanksprache SQL:
  • Grundkonzepte von Datenbanken (Relationen) und Abfragesprachen (SQL)
  • Data Manipulation Language: SELECT, INSERT, UPDATE, DELETE Anweisungen
  • Grundzüge der Data Definition Language: CREATE, ALTER, DROP
Selbststudium mit 0 Lektionen pro Woche
Disclaimer

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