Modulbeschreibung

Ingenieurinformatik I

ECTS-Punkte:
12
Lernziele:

Die Studierenden

  • kennen die Programmiersprache C.
  • können damit ein einfaches programmiertechnisches Problem lösen.
  • kennen den Aufbau und die Funktion eines einfachen Mikrocontroller.
  • kennen übliche Peripheriebausteine eines Mikrocontrollers.
  • können einen Mikrocontroller in einem eingebetteten System situationsgerecht einsetzen und programmieren.
  • kennen die wesentlichen Qualitätskriterien zur Bewertung eines Software-Produkts.
  • kennen die wesentlichen Software-Enwurfsprinzipien.
  • kennen einfache Entwurfsmuster, wie z.B. Adapter, Singleton, Kompositum.
  • kennen einfache dynamische Datenstrukturen (Lineare Listen, Binäre Bäume).
  • kennen geeignete Notationen um Programme zu dokumentieren, insbesondere Programmstrukturen zu beschreiben.
  • können einfache technische Probleme analysieren und durch die Wahl geeigneter Datenstrukturen Listen, Stack, Queues und entspechender Algorithmen lösen.
  • sind in der Lage, die Lösungen zu bewerten.
  • können Zeit- und Speicherkomplexität von Algorithmen bestimmen.
  • können Vererbung und dynamische Bindung so einsetzen, dass die Qualität eines Softwareprodukts verbessert wird.
  • können Benutzereingaben über eine graphische Benutzerschnittstelle entgegennehmen und die Ausgaben angemessen präsentieren.
  • können Ausnahmefälle in Programmen angemessen erkennen, melden und behandeln.
  • können digitale Schaltungen spezifizieren, sie mit Hilfe der Hardwarebeschreibungssprache VHDL beschreiben und mit programmierbaren Bausteinen realisieren.
  • können die deklarative Programmierung anhand der Sprache Prolog.
  • können diverse Inhalte des Informatik 2 Kurses durch Übungsbeispiele mit Prolog umsetzen.

Kurse in diesem Modul

C-Programmierung:
  • Syntax, einfache Programme
  • Datenstrukturen, Zeiger
  • Standardbibliothek
  • Modularisierungskonzept
  • Make-File
Selbststudium mit 0 Lektionen pro Woche
Mikrocontroller:
  • Aufbau eines einfachen 8-Bit Mikrocontrollers
  • Speicherorganisation
  • Instruktionsformate
  • Peripheriebausteine, IO-Ports, serielle Schnittstelle, Timer, Interrupts
  • Assembler, Hochsprache
Klassenunterricht mit 4 Lektionen pro Woche
Objektorientierte Programmierung:
  • Qulitätskriterien und Entwurfsprinzipien
  • Komplexität von Algorithmen
  • Datenstrukturen & Algorithmen
  • Objektorientierte Programmierung
  • Entwurfsmuster: Adapter, Singleton, Kompositum
  • Behandlung von Ausnahmefällen (Exceptions)
  • Graphische Benutzerschnittstelle
Klassenunterricht mit 4 Lektionen pro Woche
Digitaltechnik:
  • Kombinatorische Schaltungen
  • Latches und Register
  • Synchrone Automaten
  • Programmierbare Logikbausteine (GAL, FPGA)
  • Hardwarebeschreibungssprache VHDL
Klassenunterricht mit 4 Lektionen pro Woche
Logische Programmierung:
  • Einführung Künstliche Intelligenz
  • Logische Programmierung mit Beispielen aus Algorithmen und Datenstrukturen (Rekursion, Listen)
  • Prädikatenlogik und Resolution
  • Generate and Test, Heuristiken
Selbststudium mit 0 Lektionen pro Woche
Disclaimer

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