Lehrinhalte:
- Technologische Grundlagen und Trends der Mikroelektronik 
- Entwurfsflüsse für mikroelektronische Systeme 
- Beschreibung von Hardware-Systemen 
- Charakteristika von Rechnersystemen 
- Architekturen für parallele Ausführung 
- Speichersysteme 
- Heterogene Systems-on-Chip 
- On-Chip und Off-Chip Kommunikationsstrukturen 
- Aufbau eingebetteter Systeme, z.B. im Umfeld von Cyber-Physical Systems

Literatur:
Literaturempfehlungen werden kontinuierlich aktualisiert, Beispiele für verwendete Literatur könnten sein: 
Nikhil/Czeck: Bluespec by Example 
Arvind/Nikhil/Emer/Vijayaraghavan: Computer Architecture: A Constructive Approach 
Hennessy/Patterson: Computer Architecture – A Quantitative Approach 
Crockett/Elliott/Enderwitz/Stewart: The Zynq Book 
Flynn/Luk: Computer System Design 
Sass/Schmidt: Embedded Systems Design

Voraussetzungen:
Empfohlen: 
Erfolgreicher Besuch der Vorlesungen „Digitaltechnik“ und „Rechnerorganisation“ bzw. entsprechende Kenntnisse aus anderen Studiengängen.


Lehrinhalte:
Einführung: Transitionssysteme, Wörter, Sprachen; Mathematische Grundbegriffe und elementare Beweismethoden; Endliche Automaten und reguläre Sprachen; Determinismus und Nichtdeterminismus, Abschlusseigenschaften und Automatenkonstruktionen;
Sätze von Kleene, Myhill-Nerode, Pumping Lemma;
Grammatiken und Chomsky-Hierarchie,
kontextfreie Sprachen, Abschlusseigenschaften, Pumping Lemma, CYK Algorithmus;
Berechnungsmodelle: Kellerautomaten, Turingmaschinen; Entscheidbarkeit und Aufzählbarkeit in der Chomsky-Hierarchie

Literatur:

  • Schöning: Theoretische Informatik -- kurz gefasst
  • Hopcroft, Motwani, Ullman: Einführung in die Automatentheorie, formale Sprachen und Komplexitätstheorie
  • Wegener: Theoretische Informatik -- eine algorithmenorientierte Einführung
  • Vorlesungsskript (Otto, s. Moodle)

Lehrinhalte:

Verschiedene Konzepte und Aspekte moderner Betriebssysteme wie z.B:

  • Notwendigkeit, Design
  • Prozesse und Threads - BS Datenstrukturen
  • IPC, RPC, Schnittstellen, Hierarchien, Messaging
  • Koordination: Deadlocks - Critical sections, Deadlocks, ...
  • Scheduling/Ressourcen-Management - Prozess-Reihenfolgen, Scheduling-Konzepte
  • Nebenläufigkeit: Races, Mutual Exclusions - Critical sections, races, spin locks, Synchronisation
  • Semaphoren - Semaphoren, Monitore
  • I/O - Geräte-Management, Treiber, Interrupt-Behandlung, DMA
  • ...

Lehrinhalte
  • Digitaltechnik: digitale Abstraktion und ihre technische Umsetzung, Zahlensysteme, Logikgatter, MOSFET Transistoren und CMOS Gatter, Leistungsaufnahme
  • Kombinatorische Schaltungen: Boole’sche Gleichungen und Algebra, Abbildung auf Gatter, mehrstufige Schaltungen, vierwertige Logik (0,1,X,Z), Minimierung von Ausdrücken, kombinatorische Grundelemente, Zeitverhalten
  • Sequentielle Schaltungen: Latches, Flip-Flops, Entwurf synchroner Schaltungen, endliche Automaten, Zeitverhalten, Parallelität
  • Hardware-Beschreibungssprachen: Modellierung kombinatorischer und sequentieller Schaltungen, Strukturbeschreibungen, Modellierung endlicher Automaten, Datentypen, parametrisierte Module, Testrahmen
  • Grundelemente digitaler Schaltungen: arithmetische Schaltungen, sequentielle Grundelemente, Speicherfelder, Logikfelder

Kurswebseite zur Vorlesung "Software Engineering"

 

Erste Veranstaltung: Freitag, 6. November 2020, 13:30

Visual Computing bezeichnet das Zusammenwirken von Computer Vision, Computer Graphics. Dabei werden einerseits aus Bildern und Videosequenzen Informationen über den Bildinhalt extrahiert und andererseits aus rechnerinternen Modellen Bilder generiert. Dieser Kurs ist eine Einführung und bietet ein Überblick.