kennen die Konstrukte "delegate" und "event" und können sie einsetzen.
kennen die Architektur des .NET Frameworks.
können die WinForms-Klassen verwenden und eine Applikation mit einer grafischen Oberfläche bauen.
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 Bedeutung des Testens in der Softwareentwicklung.
kennen die wichtigsten fachbegriffe und methoden zum Testen.
können mit eigenen Testwerkzeugen im Java-Umfeld umgehen.
Kurse in diesem Modul
Testing:
Testmethodik
Unit-Tests (JUnit)
Code Abdeckungsanalyse
Loging und Debugging (Log4j, java logging)
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