Master, Vollzeit
- Campus Hagenberg
- E-Mail esd@fh-hagenberg.at
- Telefon +43 5 0804 22400
- Infoblatt downloaden Anfrage stellen
Studienplan
Module
Embedded Computing
| 1. | 2. | 3. | 4. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Realtime Operating Systems |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Realtime Operating SystemsIn sicherheitskritischen Bereichen wie Luft‑ und Bahnverkehr, Automotive oder der Steuerung von Produktionsanlagen kommen spezialisierte Echtzeitsysteme zum Einsatz, weil klassische Computersysteme keine zeitlichen Garantien liefern können. Entscheidend ist nicht nur das richtige Ergebnis, sondern dass es zuverlässig innerhalb eines festgelegten Zeitintervalls vorliegt, da verspätete Antworten gravierende Folgen haben können. Das Modul vermittelt fortgeschrittene Techniken zur Entwicklung von Echtzeitsystemen mit Fokus auf Echtzeitbetriebssysteme, dynamische Ablaufplanung (Scheduling) und faire Ressourcenzuteilung, damit Prozesse ihre Deadlines einhalten. Zusätzlich werden die methodische Vorgehensweise bei der Entwicklung von embedded Betriebssystemen, verteilten Echtzeitsystemen sowie die spezifische Software‑ und Treiberentwicklung anhand gängiger Echtzeitbetriebssysteme praxisnah behandelt. Realtime Operating Systems
Einführung, Grundlagen (Grundbegriffe, Klassifizierung von embedded OS), Definition von Echtzeit, Rechtzeitigkeit, Gleichzeitigkeit, Determiniertheit, Harte und weiche Echtzeit, Echtzeitprogrammierung (Asynchron, Synchron). Architektur von Echtzeitbetriebssystemen (nicht-funktionale Eigenschaften, Klassifizierung von embedded Betriebssystemen, Standards, grundlegende BS-Kernabläufe, BS-Organisationsformen, I/O und Treiber). Scheduling, Prioritätsvererbung, Merkmale von Echtzeit-betriebssystemen, Stack, Interrupts, Deadlocks, HW-Stack, SW-Stack, Interrupts vs. Tasks vs. DMA, Nested Interrupts, Deadlockerkennung und -vermeidung. Grundlagen für die Erstellung von Treiber für Betriebssysteme, Entwicklungsumgebungen für Treiberentwicklung, Methoden für Debugging bei Treiberentwicklung. Realtime Operating Sytems
Praxis zu den Inhalten der Vorlesung |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Software & Project Engineering |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Software & Project EngineeringDieses Modul vermittelt vertiefte Kompetenzen in der Planung, Umsetzung und Optimierung komplexer Softwaresysteme. Es widmet sich fortgeschrittener Techniken der Software-Entwicklung und der methodischen Vorgehensweise über den gesamten Entwicklungsprozess hinweg an - vom modularen Softwareentwurf bis zur plattformspezifischen Optimierung. Im Mittelpunkt steht der komponentenorientierte Entwurf mit besonderem Fokus auf Portabilität, klar definierten Schnittstellen und Wiederverwendbarkeit für Embedded- und Desktop-Plattformen. Es wird gezeigt, wie man mit Konzepten wie dem defensiven und effizienten Programmieren, hardwareorientierten Optimierungen, Profiling-Techniken sowie statischen Analysen gezielt robuste, zuverlässige und performante Systeme entwickeln kann. Darüber hinaus erlangt man Know-how in Bereichen wie Development & Operations, Abstraktionsmethoden und Virtualisierung in modernen Softwareprojekten. Software & Project Engineering
- Konzeptioneller und technischer Entwurf von komponenten-basierten Softwaresystemen für Embedded- und Desktop-Plattformen, technische Realisierung der Komponenten sowohl plattformspezifisch (Windows, Linux) wie auch plattformunabhängig, Fokus auf Portabilität von Komponenten, modulare Dekomposition, Entwurf von Interfaces und Wiederverwendbarkeit der Software-Buildingblocks, - Konzepte des defensiven und effizienten Programmierens für stabile und zuverlässige Komponenten und ganze Systeme. - Einblick in die Ausführungseinheiten von Prozessoren als Basis für hardwareorientierte Optimierungen (Branch-prediction, Out-of-order-Execution, Register Renaming, etc), Konzepte und Patterns der Optimierung von Programmcode für Embedded Systems (highend + lowend) hinsichtlich Speicherbedarf und Performance. - Entwicklung von Profiling-Routinen und -Techniken für Performance-Messungen, Prinzipien der technischen und algorithmischen Codeoptimierung inkl. Praktischer Anwendung. - Weiters wird auf Themen wie die begleitende, statische Programmanalyse sowie die Integration von Development & Operations in den Projektentwicklungsprozess eingegangen und das Abstraktions-Prinzip durch Virtualisierung und Containerisierung in der modernen Projektentwicklung erläutert. Software & Project Engineering
Praktische Übungen zu den Inhalten der Vorlesung |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Smart Systems Lab |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Smart Systems LabDieses Modul gibt einen umfassenden Einblick in die Entwicklung einer Systemplattform bestehend aus Sensoren, Datenverarbeitungsblöcken, Treiber, Firmware und Protokollsoftware, einschließlich Datenbank. Die Veranstaltung geht auf die notwendigen Schnittstellen zwischen den einzelnen Komponenten ein und zeigt, wie diese miteinander interagieren. Darüber hinaus wird der Umgang mit dem Yocto-Build-System gezeigt, um ein auf die Hardware optimiertes, minimales Linux-Betriebssystem zu konfigurieren, zu kompilieren und bereitzustellen. Dieses Modul vermittelt Methoden des agilen Managements von Projekten in denen Hardware und Software gleichermaßen entwickelt werden. Smart Systems Lab
Umfassender Einblick in die Entwicklung eines Gesamtsystems (Hardware, Firmware, Cloud-Applikation) im Kontext von IoT-Anwendungen auf Basis moderner System-on-Chip (SoC) Architekturen. Der durchgängige Datenfluss ausgehend von Sensoren (off-chip), über Signal- und Datenverarbeitung in Hardware, über die Betriebssystem-Ebene (Custom Linux), bis zu einem Cloud-Speicher wird vermittelt. Neben der technischen Umsetzung der einzelnen Komponenten verfolgt der Kurs vier wesentliche Ziele: (1) Entwurf und Debugging komplexer, verteilter Systeme. (2) Konfiguration und Erstellung einer maßgeschneiderten Linux-Distribution für das Zielsystem mittels Yocto/OpenEmbedded. (3) Konzepte zur Schnittstellendefinition und dem gemeinsamen Entwurf von Hardware- und Softwareteilen. (4) Verteilung der Datenverarbeitung auf die unterschiedlichen Systemebenen (Edge-, Fog-, Cloud-Computing). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Requirements Engineering |
1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Requirements EngineeringIn dieser Lehrveranstaltung lernen Studierende, Anforderungen professionell zu erheben, zu analysieren und verständlich zu dokumentieren – die zentrale Grundlage erfolgreicher Projekte. Sie identifizieren Stakeholder und Systemkontext, legen Ziele und Nicht-Ziele fest und modellieren Geschäftsprozesse sowie Use Cases. Dabei unterscheiden sie funktionale und nicht-funktionale Anforderungen, bewerten deren Qualität und setzen geeignete Techniken zur Priorisierung, Verwaltung und Schätzung ein. Requirements Engineering
Grundlagen des Requirements Engineerings , Ziele und Nicht-Ziele festlegen, System und Systemkontext bestimmen, Stakeholderanalyse und Ermittlungstechniken, Anforderungsqualität und verschiedene Arten der Dokumentation und Modellierung von Requirements, Geschäftsprozesse erheben und darstellen, Anwendungsfälle finden und beschreiben, Nicht-funktionale Anforderungen, Priorisierung und Verwaltung von Anforderungen, Grundlagen Agile Softwareentwicklung, Story Map und Minimum Viable Product (MVP), Akzeptanzkriterien und Refinement, Anforderungsqualität, Requirements Smells und Definition of Ready (DoR), Priorisierung und Schätzung, Rolle Product Owner (PO) im RE |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hardware/Software Codesign |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hardware/Software CodesignDieses Modul vermittelt fundierte Kenntnisse, um komplexe eingebettete Systeme zu abstrahieren und mittels C++ (SystemC) und Transaction-Level-Modeling (TLM) funktionale virtuelle Prototypen aufzubauen, die hinsichtlich Simulationsgeschwindigkeit optimiert sind. Man erlernt, Systemarchitekturen und Softwarekomponenten bereits in frühen Entwurfsphasen - vor der Verfügbarkeit physischer Hardware - zu bewerten und zu validieren. Die Studierenden beherrschen den Prozess, algorithmische Spezifikationen (C/C++) mittels HLS-Tools in Hardware-Beschleuniger (RTL-IP-Cores) zu transformieren. Dabei können sie nicht nur die Rechenkerne generieren, sondern auch die notwendigen Busschnittstellen und Treiber-Stubs integrieren, um eine nahtlose Einbindung in das Gesamtsystem zu gewährleisten. Man ist mit den Problemstellungen bei der automatischen Partitionierung von Hardware/Software-Co-Design vertraut und kann algorithmische Verfahren zur Aufteilung von Systemfunktionen auf Hardware- und Softwarekomponenten anwenden. Zudem ist man in der Lage, diese Partitio-nierungsentscheidungen quantitativ zu begründen. Die Studierenden können Entwurfsalternativen gegeneinander abwägen. Dabei berücksichtigen sie konkurrierende Ziele wie Performance, Flächenbedarf und Energieeffizienz. Insbesondere können sie die Worst-Case Execution Time (WCET) als kritische Metrik für Echtzeitanforderungen in den Partitionierungsprozess einbeziehen. Hardware/Software Codesign
Die Lehrveranstaltung vermittelt fortgeschrittene Konzepte und Methoden für den gemeinsamen Entwurf von Hardware- und Softwarekomponenten in modernen, heterogenen System-on-Chip (SoC) Architekturen. Der Fokus liegt auf der gemeinsamen Modellierung, Partitionierung und Beurteilung von Hardware- und Softwarekomponenten. System-Level Design: Modellierung und Simulation komplexer Systeme mittels C++ (SystemC) und Transaction-Level-Modeling (TLM) zur frühen Architekturevaluierung mittels funktionaler virtual Prototyping. Synthese & Implementierung: Vertiefung der Methoden und Konzepte für die High-Level-Synthese (HLS) zur Generierung von RTL-IP-Cores, Busschnittstellen und Treibern aus C/C++ Spezifikationen. Partitionierung & Optimierung: Algorithmische Ansätze zur HW/SW-Partitionierung unter Berücksichtigung moderner Metriken (Performance, Fläche, Energieeffizienz, Datenfluss, WCET-Analyse, usw.). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Compiler Engineering |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Compiler EngineeringDie Studierenden erwerben in dieser Veranstaltung ein fundiertes Verständnis für Aufbau, Struktur und Funktionsweise moderner Compiler. Sie erlernen die Entwicklung eines vollständigen Compilers für eine einfache Programmiersprache - von der lexikalischen Analyse über die Syntaxanalyse und semantische Prüfung bis hin zur Erzeugung von RISC-V-Maschinencodes. Die Veranstaltung vermittelt, wie man formale Sprachen und Grammatiken sicher anwendet, Parser generiert und attribuierte Grammatiken zur semantischen Analyse einsetzt. Zudem ist man in der Lage, Zwischencode-Darstellungen zu entwerfen, Optimierungstechniken gezielt einzusetzen und hardwarenahen Code zu generieren. Die Studierenden erwerben zusätzlich Kompetenzen im Entwurf von Sprachdefinitionen und Grammatiken, in der Implementierung der Compilerphasen mit Generierwerkzeugen, in der systematischen Fehlererkennung, sowie im Entwickeln, Testen und Debuggen von Compilerkomponenten. Darüber hinaus sammeln man Erfahrung in teamorientierter Projektarbeit einschließlich Versionsverwaltung, Build-Prozessen und automatisiertem Testing. Nach Abschluss ist man in der Lage, die Prinzipien des Compilerbaus auch auf verwandte Gebiete wie DSL-Entwicklung, Protokoll-Parsing, Interpreter-Design oder automatische Analyse und Transformation strukturierter Daten zu übertragen. Compiler Engineering
Die Lehrveranstaltung vermittelt die theoretischen Grundlagen und die praktische Umsetzung eines vollständigen Compilers für eine minimalistische Programmiersprache, der RISC-V-Maschinencode erzeugt. Die Inhalte verbinden Konzepte der theoretischen Informatik mit der hardwarenahen Softwareentwicklung. Formale Sprachen und theoretische Grundlagen: Symbole, Grammatiken, reguläre und kontextfreie Sprachen sowie deterministische Erkennungsmodelle. Compilerarchitektur: Aufbau klassischer Compiler und Zusammenspiel von Frontend, Middle-End und Backend. Frontend: Lexikalische Analyse, Syntaxanalyse mit Parsergeneratoren, semantische Analyse, Symboltabellen, Typprüfung und Fehlerbehandlung. Middle-End: Zwischensprachen (Drei-Adress-Code), AST-Darstellungen und grundlegende Optimierungstechniken. Backend: Erzeugung von RISC-V-Maschinencode, Instruktionsselektion, Basisregisterallokation und hardwarenahe Aspekte der Codegenerierung. Werkzeuge & Praxis: Einsatz von Scanner- und Parsergeneratoren, Entwicklung eines vollständigen Compilers für Mini-IEC, Tests auf einer virtuellen RISC-V-Maschine, automatisiertes Testen (A-COTEP2) sowie Projektorganisation und Debugging. Durch die integrierte Verbindung von Theorie und Laborarbeit entsteht ein kontinuierlicher Lernprozess, in dem Studierende alle Compilerphasen praktisch nachvollziehen und in einem gemeinsamen Projekt vollständig umsetzen. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Distributed Realtime Systems |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Distributed Realtime SystemsDieses Modul vermittelt detaillierte Kenntnisse über Struktur und Aufbau von hochzuverlässigen Echtzeitsystemen. Man erlernt, komplexe verteile Echtzeitsysteme zu entwerfen, umzusetzen und die Fähigkeit, diese Systeme den Anforderungen entsprechend zu skalieren. Weiters wird das Know-how vermittelt, Error/Fault/Failure-Analysen durchzuführen und zu entscheiden, ob zeit- oder eventgesteuerte Architekturen besser für die jeweilige Anwendung geeignet sind. Distributed Realtime Systems
Einführung und Grundbegriffe von Distributed Systems (verteilte Systeme): System Architektur und System Design, Zeitsteuerung / Eventsteuerung, Echtzeittransaktionen, Composability, Scalability, Real-Time Communication, Real-Time Scheduling, Statisches Scheduling, Dynamisches Scheduling. Dependable Systems (hochzuverlässige Systeme): Fehlertoleranz, RAMSS (Reliability Availability Maintainability Safety Security), Error / Fault / Failure. Beispiele aus der Praxis wie die verteilte Uhrensynchronisation werden im Rahmen der LVA realisiert. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Advanced Software
| 1. | 2. | 3. | 4. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Software & Project Engineering |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Software & Project EngineeringDiese Veranstaltung vermittelt vertiefte Kompetenzen in der Planung, Umsetzung und Optimierung komplexer Softwaresysteme. Sie widmet sich fortgeschrittener Techniken der Softwareentwicklung und der methodischen Vorgehensweise über den gesamten Entwicklungsprozess hinweg an - vom modularen Softwareentwurf bis zur plattformspezifischen Optimierung. Im Mittelpunkt steht der komponentenorientierte Entwurf mit besonderem Fokus auf Portabilität, klar definierten Schnittstellen und Wiederverwendbarkeit für Embedded- und Desktop-Plattformen. Es wird gezeigt, wie man mit Konzepten wie dem defensiven und effizienten Programmieren, hardwareorientierten Optimierungen, Profiling-Techniken sowie statischen Analysen gezielt robuste, zuverlässige und performante Systeme entwickeln kann. Darüber hinaus erlernt man anwendungsorientiertes Know-how in Bereichen wie Development & Operations (DevOps), automatisierte Update-Mechanismen, Blockchain-Techniken, Abstraktionsmethoden und Virtualisierung und kann diese Technologien in modernen Softwareprojekten sinnvoll integrieren und einsetzen. Software & Project Engineering
Konzeptioneller und technischer Entwurf von komponentenbasierten Softwaresystemen für Embedded- und Desktop-Plattformen, technische Realisierung der Komponenten sowohl plattformspezifisch (Windows, Linux) wie auch plattformunabhängig, Fokus auf Portabilität von Komponenten, modulare Dekomposition, Entwurf von Interfaces und Wiederverwendbarkeit der Software-Buildingblocks, Konzepte des defensiven und effizienten Programmierens für stabile und zuverlässige Komponenten und ganze Systeme. Einblick in die Ausführungseinheiten von Prozessoren als Basis für hardwareorientierte Optimierungen (Branchprediction, Out-of-order-Execution, Register Renaming, etc), Konzepte und Patterns der Optimierung von Programmcode für Embedded Systems (highend + lowend) hinsichtlich Speicherbedarf und Performance. Entwicklung von Profiling-Routinen und -Techniken für Performance-Messungen, Prinzipien der technischen und algorithmischen Codeoptimierung inkl. praktischer Anwendung. Weiters wird auf Themen wie die begleitende, statische Programmanalyse, moderne OTA-Updatemechanismen, Blockchain-Techniken sowie die Integration von Development & Operations (DevOps) in den Projektentwicklungsprozess eingegangen und das Abstraktions-Prinzip durch Virtualisierung und Containerisierung in der modernen Projektentwicklung erläutert. Software & Project Engineering
Vertiefung des Vorlesungsstoffes durch praktische Übungen |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Advanced Software Development in C++ |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Advanced Software Development in C++In diesem Modul erwirbt man vertiefte Kenntnisse in der fortgeschrittenen Softwareentwicklung nach dem aktuellen C++-Standard und versteht die modernen Sprachkonzepte, Entwurfsmuster und Paradigmen, die für die Entwicklung performanter, robuster und wartbarer Software erforderlich sind. Man erlernt fortgeschrittene Sprachfeatures - insbesondere Template-Metaprogrammierung, Generics, moderne Typensysteme sowie fortgeschrittene Konzepte von Speicher- und Ressourcenmanagement - und kann diese zielgerichtet zur Strukturierung komplexer Software einsetzen. Man erlangt die Kompetenzen, effiziente Algorithmen und Datenstrukturen auszuwählen, Performance-Engpässe zu analysieren und durch Techniken wie Parallelisierung, asynchrone Programmierung, Compileroptimierungen und Profiling systematisch zu verbessern. Die Studierenden erlernen die Fähigkeit, komplexe Softwarearchitekturen zu entwerfen, moderne C++-Bibliotheken und Frameworks kompetent einzusetzen und qualitativ hochwertige Lösungen zu realisieren, die sowohl funktionale als auch nicht-funktionale Anforderungen erfüllen. Sie können diese Lösungen kritisch evaluieren, testen und weiterentwickeln und sind damit in der Lage, anspruchsvolle Entwicklungsaufgaben im professionellen Umfeld selbstständig und fundiert zu realisieren. Advanced Software Development in C++
Die Lehrveranstaltung vermittelt die neuesten Entwicklungen der modernen C++-Standards (C++11/14/17/20/23/...) und behandelt zentrale Sprachfeatures, die in den vergangenen Jahren eingeführt wurden. Dazu zählen unter anderem erweiterte Typinferenz, Move-Semantik, Lambda-Funktionen, constexpr-Programmierung, Module, Coroutines sowie Verbesserungen im Bereich der Standardbibliothek. Ein Schwerpunkt liegt auf fortgeschrittenen Entwicklungstechniken in C++, insbesondere auf generischer Programmierung, partieller Template-Spezialisierung, Compile-Time-Programmierung und Template-Metaprogrammierung. Ergänzend dazu werden Mechanismen der benutzerdefinierten Speicherverwaltung, moderne Ressourcenverwaltungskonzepte sowie Techniken zur effizienten Gestaltung von Daten-strukturen und Algorithmen behandelt. Die theoretischen Grundlagen werden systematisch erarbeitet und durch praxisorientierte Anwendungsbeispiele vertieft. Die Studierenden implementieren fortgeschrittene Softwarekomponenten, analysieren Performance-Eigenschaften und nutzen moderne Bibliotheken sowie Parallelisierungsframeworks, um reale Problemstellungen effizient umzusetzen. Dabei werden sowohl funktionale als auch nicht-funktionale Anforderungen berücksichtigt und die praktische Anwendung durch Übungen, Code-Reviews und strukturierte Analyse unterstützt. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
GPU-Programmierung |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GPU-ProgrammierungDie Studierenden beherrschen die fortgeschrittene Programmierung von GPGPUs mit NVIDIA CUDA und C++23 und können komplexe parallele Anwendungen effizient entwerfen und implementieren. Sie sind in der Lage, GPGPU-Programme mit geeigneten Performance- und Profiling-Tools gezielt zu analysieren und systematisch hinsichtlich ihrer Laufzeit- und Ressourceneffizienz zu optimieren. Darüber hinaus können sie in praxisnahen und industriellen Anwendungsszenarien fundiert bewerten, welche massiv-parallelen Algorithmen und Systemarchitekturen den größten Leistungsgewinn für spezifische Aufgaben bieten. GPU-Programmierung
Die LVA startet mit der Vermittlung der besonderen Architektur und des Aufbaus von GPU-Systemen (Struktur von Manycore-Hardware) sowie der spezifischen Unterschiede zu klassischen CPU-Systemen (Struktur von Multicore-Hardware). Es werden grundlegende Konzepte der Programmierung von GPGPUs mit NVIDIA CUDA und C++23 unter den Betriebssystemen Ubuntu und Windows vermittelt. Dabei stehen das Parallelisierungsmodell sowie der Umgang mit Host- und Device-Speicher, Bus-Systemen und weiteren Hardwarekomponenten im Fokus. In der fortgeschrittenen Programmierung von GPGPUs mit NVIDIA CU-DA wird der Schwerpunkt auf das Performancetuning durch den Einsatz grafischer Profiler gelegt. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Software-Prototyping und Visualisierung |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Software-Prototyping und VisualisierungDie Studierenden beherrschen die Grundlagen der C#-Programmierung und .NET-Plattform sowie die wesentlichen Unterschiede zu C/C++. Sie erlangen fundierte Kompetenzen in C# inklusive Kenntnisse in der Interoperabilität mit nativem C/C++-Code über P/Invoke und COM-Interfaces und beherrschen die Integration von C/C++-Implementierungen ins leistungsfähige .NET-Framework. Die Studierenden entwickeln cross-platform interaktive Web-Applikationen zur Visualisierung und Steuerung von Embedded Systems. Sie prototypen Konfigurationsoberflächen, Monitoring-Plattformen und grafische Datenvisualisierungen. Software-Prototyping und Visualisierung
Grundlagen der C#-Programmierung und .NET-Plattform, wesentliche Unterschiede zu C und C++ (Garbage Collection, Typensicherheit, asynchrone Programmierung). Entwicklung von Basiskompetenzen in C# inklusive Interoperabilität mit nativem C/C++-Code über P/Invoke und COM-Interfaces. Oberflächenentwicklung mit Windows Presentation Foundation: XML-basierte XAML-Beschreibungssprache für GUIs, Einbindung von Grafiken, Videos und Animations. Trennung von UI und Businesslogik mittels Model-View-ViewModel-Designpattern. Projektübergreifende Styles, Themes und Ressourcenmanagement. Cross-Platform Visualisierung: Entwicklung interaktiver Applikationen für plattformübergreifende Visualisierungen von Embedded Systems. Prototyping von Datenvisualisierungen und Steueroberflächen für Administations- und Konfigurations-Frontends. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Software Quality Engineering |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Software Quality EngineeringDieses Modul widmet sich der Entwicklung stabiler und zuverlässige Software-Applikationen. Dieser Aspekt ist nicht nur für klassische Systeme relevant, sondern besonders für Embedded Systems, die oft unter zeitkritischen Bedingungen zuverlässig arbeiten müssen. Die Veranstaltung vermittelt im Bereich Software-Qualität und Test die erforderlichen Kenntnisse im praktischen Umgang mit modernen Ansätzen, Techniken und Werkzeugen der analytischen und konstruktiven Qualitätssicherung mit Schwerpunkt auf Testen für Embedded Systems. Man lernt, qualitativ hochwertige Software für Embedded Systems zu entwickeln sowie die Qualität funktionaler und nicht-funktionaler Aspekte sicherzustellen. Die Studierenden können Tests auf Komponenten-, Integrations- und Systemebene planen, erstellen, automatisieren, ausführen und bewerten. Software Quality Engineering
Unit-Testen mittels moderner Test-Frameworks für Java, C# und C/C++. Testgetriebene Entwicklung: Stubs, Mocks und testbares Software-Design. Werkzeuggestützte, statische Analyse sowie Refactoring von Code und Design. Methoden und Werkzeuge für die Durchführung von Reviews und Inspektionen. Testtechniken und -methoden zur Entwicklung effektiver und repräsentativer Testfälle. Whitebox Testen basierend auf verschiedenen Kriterien für Testüberdeckung, Werkzeuge für Coverage- und Mutationsanalyse. Blackbox Testen basierend auf Spezifikationen, Systemdesign und Modellen. Testautomatisierung auf Komponenten-, Integrations- und Systemebene. Methoden und Werkzeuge zur Generierung von Testfällen sowie modellbasiertes Testen auf Basis von Zustandsmodellen. Werkzeuge und Frameworks für die Spezifikation von anforderungsbasierten Tests sowie automatisierten Abnahmetests. Nicht-funktionale Qualität: Ausgewählte Themen, Lösungen und Werkzeuge für das Testen von Performance, Concurrency, Robustheit und Sicherheit. Build, Continuous Integration und Continuous Delivery als Feedback-System für iterative und inkrementelle Entwicklung. Prozesse, Methoden und Techniken für Qualitäts- und Testmanagement. Qualitäts- und Prozessmodelle: Qualität planen und steuern. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Embedded AI & Security
| 1. | 2. | 3. | 4. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Machine Intelligence |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Machine IntelligenceIn diesem Modul erwirbt man vertiefte Kenntnisse in den mathematischen und algorithmischen Grundlagen der Machine Intelligence, der Wahrscheinlichkeitsrechnung und der Statistik und lernt, diese sicher in praktischen Szenarien anzuwenden. Man lernt, neuronale Netze zu entwerfen, zu trainieren und deren Leistungsfähigkeit systematisch zu evaluieren. Darüber hinaus entwickeln man praktische Fertigkeiten im Umgang mit Python sowie gängigen Machine-Learning-Frameworks (z. B. PyTorch, TensorFlow). Ein besonderer Schwerpunkt liegt auf der Optimierung und Implementierung von Machine-Learning-Modellen für ressourcenbeschränkte Embedded Systems. Insgesamt wird in diesem Modul vermittelt, wie man theoretische Konzepte auf praxisnahe Problemstellungen übertragen kann, Lösungskonzepte kritisch reflektiert und diese anwendungsorientiert umsetzt. Machine Intelligence
Einführung in grundlegende Konzepte der Machine Intelligence und deren Bedeutung für Embedded Systems. Mathematische Grundlagen wie lineare Algebra, Wahrscheinlichkeitsrechnung und Optimierungsverfahren zur Beschreibung und Analyse von Lernalgorithmen. Aufbau und Funktionsweise neuronaler Netze einschließlich Trainingsverfahren und Regularisie-rungsmethoden. Praktische Umsetzung von Lernverfahren mit Python und Frameworks wie PyTorch oder TensorFlow. Anwendung und Optimierung von Machine-Learning-Modellen auf ressourcenbeschränkten Embedded-Plattformen. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Embedded AI on Resource Limited Devices |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Embedded AI on Resource Limited DevicesDieses Modul vermittelt das Know-how, welches für die Praxis der Analyse von Daten im Umfeld von IoT (Internet-of-Things) und Sensor-Netzwerken von hohem Nutzen ist. Ein wesentliches Ziel ist es, die Fähigkeit zum Entwurf und Deployment von Datenanalyse-Algorithmen in cloud-basierten IoT-Systemen zu vermitteln. Nach Abschluss dieses Moduls können Konzepte aus dem Bereich des maschinellen Lernens für Predictive-Analytics-Fragenstellungen im IoT-Umfeld angewandt werden. Die Studierenden beherrschen den gesamten Workflow vom Training eines Modells in Python bis zur Inferenz in C++ auf einem Bare-Metal- oder RTOS-basierten Mikrocontroller. Sie verstehen, welche Netzwerk-Architekturen (z.B. 1D-CNN vs. LSTM) für Echtzeitanwendungen auf Sensordaten geeignet sind und können diese hinsichtlich Speicherbedarfs (RAM/Flash) und Inferenzzeit gegeneinander abwägen. Sie können Methoden wie Quantisierung (Float16, Float8, INT8) und Pruning praktisch anwenden, um die Modellgröße drastisch zu reduzieren, ohne die Vorhersagegenauigkeit signifikant zu verschlechtern. Sie verstehen Konzepte, um statische Modelle zur Laufzeit auf dem Endgerät an neue Umgebungsparameter oder Benutzerdaten anzupassen (Continuous Learning). Embedded AI on Resource Limited Devices
Die Lehrveranstaltung fokussiert sich auf die Implementierung und Optimierung von Deep-Learning-Algorithmen auf ressourcenbeschränkten Embedded-Geräten (Mikrocontroller, DSPs). Der Schwerpunkt liegt auf der Verarbeitung von Sensor-Zeitreihendaten (z.B. Audio, Vibration, Biosignale, IMU). Detaillierte Inhalte: TinyML-Grundlagen: Charakteristika und Limitierungen von Mikrocontrollern (Flash, SRAM, Taktung) im Kontext neuronaler Netze. Analyse von Energieverbrauch und Latenz. Modellarchitekturen für Zeitreihen: Design kompakter neuronaler Netze speziell für sequentielle Daten (1D-CNNs, RNNs/LSTMs, GRUs, Temporal Convolutional Networks) im Gegensatz zu rechen-intensiven Transformer-Modellen. Modell-Optimierung & Kompression: Quantisierung: Übergang von Floating-Point (FP32) zu Integer-Arithmetik (INT8/INT16), Post-Training Quantization vs. Quantization-Aware Training (QAT). Pruning & Sparsity: Identifikation und Entfernung redundanter Gewichte/Neuronen zur Speicherreduktion. Knowledge Distillation: Training kleiner 'Student'-Netzwerke durch große 'Teacher'-Modelle. Deployment-Pipeline: Werkzeugketten zur Konvertierung von Python-Modellen (TensorFlow/PyTorch) in C/C++ Inferenz-Code (z.B. TensorFlow Lite for Microcontrollers, TVM, proprietäre Compiler). Edge Learning: Methoden für Re-Training on the Device. Anpassung von Modellen an neue Daten direkt auf dem Mikrocontroller (Transfer Learning auf dem Edge, k-NN basierte Klassifikatoren, Online-Learning). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
GPU-Programmierung |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GPU-ProgrammierungDie Studierenden beherrschen die fortgeschrittene Programmierung von GPGPUs mit NVIDIA CUDA und C++23 und können komplexe parallele Anwendungen effizient entwerfen und implementieren. Sie sind in der Lage, GPGPU-Programme mit geeigneten Performance- und Profiling-Tools gezielt zu analysieren und systematisch hinsichtlich ihrer Laufzeit- und Ressourceneffizienz zu optimieren. Darüber hinaus können sie in praxisnahen und industriellen Anwendungsszenarien fundiert bewerten, welche massiv-parallelen Algorithmen und Systemarchitekturen den größten Leistungsgewinn für spezifische Aufgaben bieten. GPU-Programmierung
Die LVA startet mit der Vermittlung der besonderen Architektur und des Aufbaus von GPU-Systemen (Struktur von Manycore-Hardware) sowie der spezifischen Unterschiede zu klassischen CPU-Systemen (Struktur von Multicore-Hardware). Es werden grundlegende Konzepte der Programmierung von GPGPUs mit NVIDIA CUDA und C++23 unter den Betriebssystemen Ubuntu und Windows vermittelt. Dabei stehen das Parallelisierungsmodell sowie der Umgang mit Host- und Device-Speicher, Bus-Systemen und weiteren Hardwarekomponenten im Fokus. In der fortgeschrittenen Programmierung von GPGPUs mit NVIDIA CU-DA wird der Schwerpunkt auf das Performancetuning durch den Einsatz grafischer Profiler gelegt. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cybersecurity in Embedded Systems |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cybersecurity in Embedded SystemsDieses Modul erlernen die Studierenden, sicherheitskritische Konzepte eingebetteter Systeme zu verstehen und Secure Boot, sichere Firmware-Updates sowie kryptografische Verfahren anzuwenden. Sie führen Threat-Modeling durch, nutzen TEE/TrustZone und analysieren hardwarenahe Schwachstellen wie Spectre/Meltdown auf Embedded Plattformen. Cybersecurity in Embedded Systems
Die Lehrveranstaltung vermittelt grundlegende Sicherheitsprinzipien für eingebettete Systeme. Behandelt werden Mechanismen zur Absicherung des Systemstarts und der Firmware, der Einsatz kryptografischer Verfahren sowie Methoden zur systematischen Bedrohungsanalyse. Zudem werden Trusted Execution Environments wie ARM TrustZone, sowie typische hardwarenahe Angriffsvektoren und Mikroarchitekturschwachstellen in Embedded-Plattformen analysiert. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Artificial Intelligence for Industrial Applications |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Artificial Intelligence for Industrial ApplicationsDie Studierenden bekommen in diesem Modul ein vertieftes Verständnis für die Entwicklung und den Einsatz von Deep-Learning-Anwendungen auf ressourcenbeschränkten Edge-Systemen. Sie sind in der Lage, moderne Architekturen zur Objekterkennung (z. B. YOLO) selbstständig auszuwählen und mittels Transfer Learning effizient auf individuelle, selbst erstellte Datensätze anzupassen. Darüber hinaus beherrschen die Studierenden die notwendigen Optimierungstechniken, um komplexe neuronale Netze auf eingebetteter Hardware (speziell NVIDIA Jetson) unter Echtzeitbedingungen auszuführen. Dies umfasst den Umgang mit Framework-spezifischen Tools wie TensorRT sowie Methoden zur Quantisierung und Latenzminimierung. Ein wesentlicher Schwerpunkt liegt auf der Systemintegration: Die Studierenden erwerben die Kompetenz, eine vollständige „End-to-End“-Pipeline zu realisieren, die von der Bildakquise und Inferenz auf dem Edge-Device bis hin zur Ansteuerung physischer Aktoren reicht. Sie verstehen die Schnittstellenproblematik zwischen Computer Vision und Robotik und können die Ergebnisse der Objekterkennung in Steuerbefehle für einen Industrieroboter (UR5) umsetzen, um eine autonome Pick-and-Place-Anwendung erfolgreich zu implementieren. Artificial Intelligence for Industrial Applications
Die Lehrveranstaltung ist als projektzentriertes Modul konzipiert, bei dem die theoretischen Grundlagen und methodischen Konzepte durch gezielte Impulsvorträge der Lehrenden in den Projektverlauf eingebracht werden. Im Mittelpunkt steht die Realisierung einer realen „Pick-and-Place“-Applikation unter Verwendung eines 6-Achs-Roboters (UR5). Die fachlichen Inputs fokussieren sich dabei auf State-of-the-Art-Architekturen der Computer Vision (insbesondere Object Detection mittels YOLO) sowie auf Techniken des Transfer Learnings, um bestehende Modelle effizient an selbst definierte Datensätze anzupassen. Begleitend werden spezifische Inhalte zur Embedded-Entwicklung vermittelt, darunter die Architektur der NVIDIA-Jetson-Plattform, Workflows zur Modelloptimierung für Echtzeitanforderungen (z. B. mittels TensorRT) sowie die notwendigen Schnittstellen zur Kommunikation zwischen Edge-Device und Robotersteuerung. Die Studierenden wenden diese Inhalte unmittelbar an, indem sie - von der Auswahl der Objekte über die Datenerstellung bis hin zum Deployment und der Systemintegration - den gesamten Zyklus einer KI-Roboter-Anwendung eigenständig durchlaufen. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Digital Image Processing |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Digital Image ProcessingIn diesem Modul erlernen die Studierenden die Fähigkeit, Bilder aufzubereiten, notwendige Informationen zu extrahieren und zu verstehen, und entsprechende Aktionen daraus abzuleiten. Die Studierenden beherrschen alle Schritte der Bildverarbeitungskette, die notwendig sind, um im industriellen Umfeld Kamera-gestützte Anwendungen zu entwickeln. Sie können bewerten, wann klassische Verfahren (z.B. Hough, Template Matching) aufgrund von deterministischem Verhalten und Rechenzeitvorteilen gegenüber Deep Learning zu bevorzugen sind. Sie verstehen nicht nur die Architektur von CNNs, sondern können Methoden wie Feature-Visualisierung und Gradienten-Analyse anwenden, um die Entscheidungsfindung von KI-Modellen transparent zu machen ("Explainable AI") Nach Abschluss des Moduls kennen die Studierenden Methoden und Konzepte, um Algorithmen der Bildverarbeitung auf Embedded Systems umzusetzen. Digital Image Processing
Die Lehrveranstaltung gibt einen umfassenden und tiefgreifenden Einblick in die digitale Bildverarbeitung für industrielle Applikationen. Dabei werden beginnend beim Aufnahmeprozess, über Verbesserung, Merkmalsextraktion, -erkennung und Klassifizierung bis hin zu modernen Deep-Learning-Methoden alle relevanten Themenfelder behandelt: Bildvorverarbeitung, -verbesserung, Filterung (Korrelation, Konvolution), 2D Fourier-Transformation, Filter für Kantenbetonung. Morphologie, Segmentierung, Feature-Extraction. Featurematching und Klassifizierung. Deep Learning & Interpretability: Einführung in Convolutional Neural Networks (CNNs) mit Fokus auf das Verständnis der internen Repräsentationen. Methoden zur Visualisierung und Analyse: Filter-Visualisierung, Feature Maps, Maximally Activating Patches, Gradient-Ascent und Saliency Maps (z.B. Grad-CAM) - 'Was sieht das Netzwerk? Die Themen werden allesamt aus industrieller Sicht vermittelt und anhand moderner Werkzeuge und Methoden, wie z.B. MATLAB, Python, Bibliotheken wie OpenCV oder OpenCL, praktisch umgesetzt. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Systems & Signals
| 1. | 2. | 3. | 4. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Digital Communication |
4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Digital CommunicationDie drahtlose Vernetzung unterschiedlichster Geräte, etwa für Steuer‑ und Kommunikationszwecke, bildet das Rückgrat der modernen Informationsgesellschaft und muss immer höhere Anforderungen an Datenrate und Zuverlässigkeit erfüllen. Dieses Modul vermittelt fundierte Kenntnisse über moderne digitale drahtgebundene und drahtlose Übertragungsverfahren sowie die dafür nötigen Methoden und Algorithmen der digitalen Signalverarbeitung und schafft damit die Basis, um diese Techniken in Forschung und Entwicklung weiterzuentwickeln. Digital Communication
Grundlagen: System- und Signaltheoretische Grundlagen, Komponenten eines nachrichtentechnischen Systems, äquivalente Basisbanddarstellung, Kanalmodelle (AWGN, Mehrwegeausbreitung), Mobilfunkkanal, Kanalkapazität. Modulationsverfahren: Digitale Pulsamplitudenmodulation (PAM): ASK, QAM, PSK, QPSK. Digitale Frequenzmodulation (FSK): Binäre und mehrstufige FSK, CPM. Demodulationsverfahren: Kohärente- und inkohärente Demodulation, Bitfehlerraten. Synchronisation: Frequenz- und Phasensynchronisation, Rahmen- und Taktsynchronisation. Multiplexverfahren, Vielfachzugriffsverfahren. Diskrete Mehrträger-Übertragung: OFDM, DMT, CDMA. Diversity-Methoden, MIMO-Systeme, Entzerrung. Einführung in die stochastische Signalverarbeitung. Digital Communication
Übungen zur Vorlesung |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Regelungstechnik |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
RegelungstechnikDieses Modul vermittelt die Grundkonzepte und grundlegenden Werkzeuge sowie die aktuellen Methoden und Algorithmen der Regelungstechnik. Ausgewählt werden dabei solche Methoden, die im industriellen Einsatz praktisch angewandt werden. Damit vermittelt diese Lehrveranstaltung jenes Know-how, welches für die Realisierung und Konzeptionierung eines Gesamtsystems unter Einbeziehung regelungstechnischer Anteile von Relevanz ist. Regelungstechnik
Zustandsraumbeschreibung, Beobachtbarkeit, Steuerbarkeit, Modellidentifikation durch Parameterschätzung, Grundprinzip der prädiktiven Regelung, Adaptive Regelung auf der Basis deterministischer adaptiver Regler, Grundprinzip der Fuzzy-Regler, Dead-Beat-Regler, nichtlineare Regelverfahren. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Digital Image Processing |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Digital Image ProcessingIn diesem Modul erlernen die Studierenden die Fähigkeit, Bilder aufzubereiten, notwendige Informationen zu extrahieren und zu verstehen, und entsprechende Aktionen daraus abzuleiten. Die Studierenden beherrschen alle Schritte der Bildverarbeitungskette, die notwendig sind, um im industriellen Umfeld Kamera-gestützte Anwendungen zu entwickeln. Sie können bewerten, wann klassische Verfahren (z.B. Hough, Template Matching) aufgrund von deterministischem Verhalten und Rechenzeitvorteilen gegenüber Deep Learning zu bevorzugen sind. Sie verstehen nicht nur die Architektur von CNNs, sondern können Methoden wie Feature-Visualisierung und Gradienten-Analyse anwenden, um die Entscheidungsfindung von KI-Modellen transparent zu machen ("Explainable AI") Nach Abschluss des Moduls kennen die Studierenden Methoden und Konzepte, um Algorithmen der Bildverarbeitung auf embedded Systems umzusetzen. Digital Image Processing
Die Lehrveranstaltung gibt einen umfassenden und tiefgreifenden Einblick in die digitale Bildverarbeitung für industrielle Applikationen. Dabei werden beginnend beim Aufnahmeprozess, über Verbesserung, Merkmalsextraktion, -erkennung und Klassifizierung bis hin zu modernen Deep-Learning-Methoden alle relevanten Themenfelder behandelt: Bildvorverarbeitung, -verbesserung, Filterung (Korrelation, Konvolution), 2D Fourier-Transformation, Filter für Kantenbetonung. Morphologie, Segmentierung, Feature-Extraction. Featurematching und Klassifizierung. Deep Learning & Interpretability: Einführung in Convolutional Neural Networks (CNNs) mit Fokus auf das Verständnis der internen Repräsentationen. Methoden zur Visualisierung und Analyse: Filter-Visualisierung, Feature Maps, Maximally Activating Patches, Gradient-Ascent und Saliency Maps (z.B. Grad-CAM) - 'Was sieht das Netzwerk? Die Themen werden allesamt aus industrieller Sicht vermittelt und anhand moderner Werkzeuge und Methoden, wie z.B. MATLAB, Python, Bibliotheken wie OpenCV oder OpenCL, praktisch umgesetzt. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Digital Transmission Laboratory |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Digital Transmission LaboratoryIn diesem Modul erlernt man, einen digitalen Übertragungspfad (Transceiver) von der konzeptionellen Modellierung bis zur VHDL-Implementierung eigenständig zu entwickeln. Man ist mit der durchgängigen Methodik von der Simulation in Hochsprachen (Python/Matlab) über fixed-point Modellierung bis zur FPGA-basierten Umsetzung vertraut. Die LVA vermittelt fundierte Kenntnisse in: Modellierung von Signalverarbeitungsketten mit Matlab/Python, der IP-Core-basierten Entwicklung und Integration von VHDL-Modulen mit Standardinterfaces (AXI, Avalon), der Implementierung von Signalverarbeitungsketten mit fixed-point Bibliotheken, der Einrichtung und Anwendung moderner VHDL- Verifikationsframeworks (VUnit, UVVM) hinsichtlich eines datenorientierten Designs, der Verifikation von Hardware-Modulen auf Basis von Referenzmodellen in Python/Matlab. Die Studierenden erlernen die Prinzipien der digitalen Signalverarbeitung für Übertragungssysteme und die Abbildung derselben auf hardwaregerechte Architekturen. Digital Transmission Laboratory
Einführung in den Aufbau eines OFDM-Transceivers, Modellierung der kompletten Signalverarbeitungskette in Python oder Matlab, Fixed-Point-Modellierung und Quantisierungsanalyse, Umsetzung der Signalverarbeitungskette in VHDL, P-Core-basierte Entwicklung mit Standard-Interfaces (AXI, Avalon), Nutzung von fixed-point Bibliotheken in VHDL, Aufbau einer Verifikationsumgebung mit VUnit und UVVM, VHDL- Verifikation mit Python/Matlab-Referenzmodellen, Methodik der sauberen Entwicklung von Signalverarbeitungs-blöcken von der Idee bis zum FPGA-Prototyp. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Chip-Design
| 1. | 2. | 3. | 4. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
CPU Design & Verification |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CPU Design & VerificationIn diesem Modul erwirbt man die erforderlichen Kenntnisse, um ein komplexes Gesamtprojekt aus dem Bereich des digitalen Hardwaredesigns von der Spezifikation bis zur optimierten Implementation zu führen. Man lernt, ein komplexes Spezifikationsdokument zu analysieren und auszuwerten, sowie auf Basis der gewonnenen Erkenntnisse einen Architekturentwurf zu generieren, der auf die Erfordernisse des digitalen Hardwareentwurfs einerseits und auf diejenigen der simulativen Verifikation eines solchen andererseits Rücksicht nimmt. Zur Verifikation wird ein VHDL-Verifikationsframework wie UVVM oder OSVVM eingesetzt bzw. erlernt man, die Verifikation auf Basis von Python durchzuführen wobei man insbesondere mit den Anforderungen, die ein control-orientierter Entwurf stellt, vertraut ist. Ferner ist die Fähigkeit vorhanden, die Implementation in Module zu gliedern und die Implementierung dieser Module für eine gegebene FPGA-Zieltechnologie optimiert durchzuführen und mit der notwendigen Verifikation zu begleiten. Das Gesamtergebnis wird in einem Systemtest einerseits sowie auf realer Hardware andererseits auf seine Funktionsfähigkeit und Konformität mit der Spezifikation überprüft. Die Methode der statischen Timing-Analyse von den theoretischen Grundlagen bis hin zur praktischen Umsetzung ist ebenso Teil dieses Moduls. CPU Design & Verification
Aufbau des RISC-V-Befehlssatzes (ISA) und daraus resultierende Folgerungen für die CPU-Architektur. Gliederung in grundlegende CPU-Komponenten, wie Registersatz, ALU, Speicheranbindung und deren Kombination in einem Datenpfad. Steuerwerksentwurf zum Datenpfad. Alternative des impliziten Datenpfads innerhalb einer hierarchischem FSMD-Beschreibung. Synthesefähige Beschreibung der Komponenten und des Gesamtsystems zur Implementation auf einem FPGA. Aufbau eines Verifikationsframeworks am Beispiel eines VHDL-basierten Frameworks wie UVVM oder OSVVM. Anwendung wesentlicher Konzepte der simulativen Verifikation (Directed Tests, Randomisierte Tests, Scoreboarding, Coverage). Umsetzung von Unit Tests. Im späteren Verlauf Integration und Simulation des Gesamtsystems. Methode der statischen Timing-Analyse in ihren allgemeinen Grundlagen bis hin zur Anwendung auf komplexe FPGA-Designs. Anwendung von CI/CD innerhalb von HW-Design und Verifikation. Erstellen der technischen Dokumentation für das eigene Design und seine Verifikation. Präsentation der Ergebnisse und Demonstration der funktionierenden CPU auf dem FPGA. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Advanced Methods of Verification |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Advanced Methods of VerificationDieses Modul vermittelt einen umfassenden Überblick über die modernsten Verifikationsmethoden, um auch bei komplexeste Chip-Designs sicherzustellen, dass diese unter allen Bedingungen zuverlässig arbeiten. Man erlernt die nötigen Fähigkeiten zur Systemmodellierung und Beschreibung von gewünschten Systemeigenschaften im Sinne der Verifikation und kann formale Methoden, v.a. des Model Checking zur automatisierte Prüfung der spezifizierten Eigenschaften anwenden. Die Veranstaltung vertieft ausgewählte Techniken soweit, dass ein unmittelbarer Projekteinsatz im industriellen Umfeld ebenso wie als Basis von Forschungsaktivitäten möglich ist. Dabei werden sowohl dynamische als auch statische Verifikationsmethoden auf der Basis aktueller Industrie-CAE-Werkzeuge verwendet. Advanced Methods of Verification
Dieses Modul bietet eine Einführung in Methoden, die zur formalen Verifikation von digitalen Hardwaredesigns verwendbar sind (statische Verifkationsmethoden). Da einige dieser Methoden, wie beispielsweise das Property Checking auch zur simulativen (dynamischen) Verifikation verwendet werden können, wird auch diese Anwendungsmöglichkeit im Rahmen der LVA vorgestellt: Verfikationsmanagement und Verifikationsplan, Überblick der Methoden der formalen Verifikation, Formale gegenüber simulativen Verifikationsmethoden: Tiefe der Verifikation, Problematik der Systembeschreibung, Nutzen während der Entwicklungsphase. Systemmodellierung im Hinblick auf die Systemverifikation. Temporale Logiken zur Systemspezifikation (LTL, CTL), Property Checking (SVA, PSL), Model Checking für lineare und "branching" Logiken, Bounded Model Checking, Äquivalenzen und Abstraktionen, Equivalence Checking. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Digital Transmission Laboratory |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Digital Transmission LaboratoryIn diesem Modul erlernt man, einen digitalen Übertragungspfad (Transceiver) von der konzeptionellen Modellierung bis zur VHDL-Implementierung eigenständig zu entwickeln. Man ist mit der durchgängigen Methodik von der Simulation in Hochsprachen (Python/Matlab) über fixed-point Modellierung bis zur FPGA-basierten Umsetzung vertraut. Die LVA vermittelt fundierte Kenntnisse in: Modellierung von Signalverarbeitungsketten mit Matlab/Python, der IP-Core-basierten Entwicklung und Integration von VHDL-Modulen mit Standardinterfaces (AXI, Avalon), der Implementierung von Signalverarbeitungsketten mit fixed-point Bibliotheken, der Einrichtung und Anwendung moderner VHDL- Verifikationsframeworks (VUnit, UVVM) hinsichtlich eines datenorientierten Designs, der Verifikation von Hardware-Modulen auf Basis von Referenzmodellen in Python/Matlab. Die Studierenden erlernen die Prinzipien der digitalen Signalverarbeitung für Übertragungssysteme und die Abbildung derselben auf hardwaregerechte Architekturen. Digital Transmission Laboratory
Einführung in den Aufbau eines OFDM-Transceivers, Modellierung der kompletten Signalverarbeitungskette in Python oder Matlab, Fixed-Point-Modellierung und Quantisierungsanalyse, Umsetzung der Signalverarbeitungskette in VHDL, P-Core-basierte Entwicklung mit Standard-Interfaces (AXI, Avalon), Nutzung von fixed-point Bibliotheken in VHDL, Aufbau einer Verifikationsumgebung mit VUnit und UVVM, VHDL- Verifikation mit Python/Matlab-Referenzmodellen, Methodik der sauberen Entwicklung von Signalverarbeitungs-blöcken von der Idee bis zum FPGA-Prototyp. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Management & Gesellschaft
| 1. | 2. | 3. | 4. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Product Development |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Product DevelopmentDie Studierenden erlernen die Konzeptionierung und den Entwurf von Produkten aus den Bereichen Elektronik und Software. Sie können die Risiken bei Technologie und Markt einschätzen, die bei einer Produktentwicklung auftreten und beherrschen Controlling und Management über den gesamten Lebenszyklus der Produkte. Product Development
Die Lehrveranstaltung gibt eine umfassende Sicht auf die Entwicklung von Produkten im Bereich Embedded Systems: Die notwendigen Kenntnisse aus den Bereichen Technik, Projektmanagement, Marketing / Vertrieb und Controlling werden vermittelt: Identifizierung von Kundenbedürfnissen und Marktforschungsgrundlagen. Konzeptgenerierung, Methoden und Werkzeuge. Technologie- und Marktbeurteilung. Schätzung und Berechnungen der Herstellungskosten. Erstellen von einzigartigen und kreativen Geschäftsmodellen. Einführung in Business Plans, Aufbau und Design. Einführung in das geistige Eigentum und das Patentverfahren. Bildung von unternehmerischen Teams. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Philosophie u. Wissenschaftstheorie |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Philosophie u. WissenschaftstheorieIn diesem Modul erlernen die Studierenden zentrale erkenntnistheoretische und ethische Ansätze von der Antike bis zur Moderne und können diese auf aktuelle Fragen in Naturwissenschaft und Technik übertragen. Sie analysieren philosophische Texte, üben kritisches Denken und entwickeln eigene begründete Positionen im argumentativen Diskurs. Philosophie und Wissenschaftstheorie
Diese Lehrveranstaltung vermittelt die Grundlagen der Erkenntnistheorie und Ethik, um diese dann in aktuellen Fragestellungen von Naturwissenschaft und Technik umzusetzen. Die Studierenden probieren selbst den Prozess des Philosophierens aus und stellen anhand von philosophischen Texten einen Aktualitätsbezug zu heutigen Fragestellungen her. Behandelte Philosophen: diverse Vorsokratiker, Sokrates, Platon, Aristoteles, Descartes, Hume, Kant, Popper und Wittgenstein. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Systems Engineering |
3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Systems EngineeringIn diesem Modul erlernen die Studierenden die Grundprinzipien des Systems Engineering und der Systemik sowie den Systemlebenszyklus. Sie sind sich der Breite des Systembegriffs über die Technik hinaus bewusst (Organisationen) und sind mit der Funktionsweise und dem Management komplexer, vernetzter Systeme vertraut und wissen, nach welchen Kriterien funktionierende Systeme und Organisationen zu entwickeln und zu entwerfen sind. Die Studierenden kennen den strukturellen Aufbau, wissen welche Funktionseinheiten zuverlässige, adaptiv lernende Systeme benötigen (Viable System Model) und können solche Systeme auch entwickeln. Sie kennen die Steuerungs- und Selbstorganisationsprinzipien komplexer Systeme und wissen, nach welchen zu Grunde liegenden Gesetzmäßigkeiten und Konzepten solche Systeme zu realisieren sind. Sie können lernende /nicht-lernende Systeme, offene/geschlossene Systeme und selbststeuernde, anpassungsfähige Systeme der IT und im Organisationsumfeld entwerfen. Systems Engineering
Einführung in die Grundprinzipien des Systems Engineering und der Systemik, Entwicklung, Koordination und Management solcher Systeme, offene versus geschlossene Systeme, Prinzip der Emergenz, ganzheitliches Denken und Interdependenzen, Zirkularität, dynamische Prozesse statt linearer Kausalität, Feedback-Mechanismen, lernende und nicht lernende Systeme, Adaptivität, Konstruktivismus und Selbstmanagement, Hermeneutisches Prinzip. Kenntnis der Besonderheit komplexer vernetzter Systeme, Anwendung von System-Entwurfsmethodiken und ganzheitliche Systemanalyse mittels Sensitivitätsmodell, Prinzip des Viable System Models, Berechenbarkeitsproblem in der IT (Bremermann Limit), Communication & Control, Prinzipien der Selbstorganisation komplexer Systeme, Effekt von Order from Noise, zentrale vs dezentrale vs indirekten Steuerung, Law of Requisite Variety, Redundancy of potential Command und weitere Gesetzmäßigkeiten für den Entwurf von Systemen. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Management und Wirtschaft |
2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Management und WirtschaftDie Lehrveranstaltung vermittelt zu Beginn die grundlegenden Kompetenzen im technischen Projektmanagement und hier besonders den Umgang mit typischen Projektproblemen und den Erfolgsfaktoren. Sie lernen moderne Organisations‑ und Kommunikationsformen (agile und holokratische Strukturen, Zellensysteme, Syntegration, etc.) kennen und können diese zur Gestaltung von Teams anwenden. Zusätzlich entwickeln sie Management‑ und Führungskompetenzen nach dem renommierten Malik‑Führungsrad, erlernen Fähigkeiten im Personal‑ und Teammanagement und in der Gestaltung wirksamer Zusammenarbeit. Darüber hinaus widmet sich die LVA berufspraktischen Kompetenzen zu Bewerbung, Arbeitsrecht, Kollektivverträgen, Vergütung, Verhandlungstechniken und Karriereplanung. Management und Wirtschaft
Die Lehrveranstaltung beginnt beim technischen Projektmanagement und geht auf typische Planungsprobleme (Zeitschätzung, Personal, Kosten, inkl Chaos-Report Standish Group und Brooks Mythical Man Month) ein. Zudem werden moderne Organisations- und Kommunikationsformen vorgestellt und auf neue Formen der Gruppen- und Teamorganisationen eingegangen, etwa auf holokratische Unternehmens- und Personalorganisationen wie den Zellensystemen und agilen Prinzipien bis zur Kommunikationsform Syntegration. Aktuelle Themen aus Industrie, Forschung und Wirtschaft ergänzen den Inhalt: General Management Prinzipien für das Management von Personen wie auch von Teams und von Organisationen anhand des Malik-Führungsrads (Aufgaben, Grundsätze und Werkzeuge im Management), Personalmanagement, Teamdynamik, Arbeitsmethodik, Design Thinking. Weiters widmet sich die Veranstaltung dem Berufseinstieg und der Laufbahngestaltung sowie dem ersten festen Job (Bewerbung und Lebenslauf, Kollektivverträge, Arbeitsrecht, Lohn und Gehalt, Verhandlungstechniken, Karrieremodelle, etc.). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Projekte
| 1. | 2. | 3. | 4. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Studienprojekt |
6 | 6 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
StudienprojektDas Modul umfasst ein einjähriges, praxisnahes Gruppenprojekt, das typischerweise in Zusammenarbeit mit einem externen Auftraggeber durchgeführt wird. Die Projektteams bestehen in der Regel aus vier bis maximal sieben Studierenden und werden über den gesamten Verlauf hinweg von einem zugeteilten Coach begleitet. Im Rahmen dieses Moduls erwerben die Studierenden vertieftes Wissen über grundlegende und fortgeschrittene Konzepte des Projektmanagements, einschließlich agiler Methoden, Zeit- und Ressourcenplanung und Risikomanagement. Darauf aufbauend entwickeln die Studierenden die Fähigkeit, komplexe Projektthemen selbstständig zu analysieren, in klare und realisierbare Aufgabenstellungen zu überführen und geeignete Projektmanagementmethoden gezielt anzuwenden. Sie sind in der Lage, Projektabläufe effizient zu planen und zu steuern, einen funktionsfähigen Produktprototypen eigenständig zu konzipieren, umzusetzen und zu testen. Studienprojekt 1
Im ersten Semester liegt der Schwerpunkt auf dem Prozess der Projektentwicklung: Analyse und Definition des Projektthemas, Erstellung von Lasten- und Pflichtenheften, Zeit- und Ressourcenplanung, Risikoanalyse sowie Durchführung erster Review- und Dokumentationsschritte. Ergän-zend dazu werden agile Projektmanagementmethoden wie Scrum eingeführt und praktisch angewendet. Aufbauend auf diesen Grundlagen arbeiten die Studierenden an der Konzeption, Umsetzung und Evaluierung eines funktionsfähigen Produktprototypen. Studienprojekt 2
Im zweiten Semester wird das Studienprojekt aus dem ersten Semester fortgeführt. Während zuvor der Prozess der Projektentwicklung im Vordergrund stand, liegt der Schwerpunkt nun klar auf dem Prozess der Produktentwicklung. Die Projektteams bleiben personell unverändert und werden weiterhin von einem erfahrenen Coach unterstützt Im Rahmen des zweiten Semesters vertiefen die Studierenden ihre Arbeit an der Umsetzung eines funktionsfähigen Produktprototyps, der auf den zuvor erarbeiteten Anforderungen, Spezifikationen und Konzepten aufbaut. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Masterarbeit |
27 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MasterarbeitDie AbsolventInnen beherrschen die Techniken des Schreibens einer wissenschaftlichen Arbeit und setzen diese anhand der eigenen Arbeit um. Durch Unterstützung und Feedback seitens des/der Betreuers/Betreuerin vom FH-Studiengang ist ein schrittweises Vorgehen mit kontinuierlicher Qualitätsverbesserung gesichert. Masterarbeit
Erstellung der wissenschaftlichen Masterarbeit, die in der Regel die Erstellung eines Software- und/oder Hardware-Prototypen einschließt. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Seminare
| 1. | 2. | 3. | 4. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Wissenschaftliches Arbeiten |
2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Wissenschaftliches ArbeitenDie Studierenden erlernen die Techniken des wissenschaftlichen Arbeitens und sind in der Lage, problemspezifisch die relevanten Wissensquellen auszuwählen und inhaltlich zu nützen. Sie besitzen die Kenntnisse, um eigenständig eine formal korrekte wissenschaftliche Arbeit zu erstellen und diese Arbeit in Kontext zum Stand der Technik zu setzen. Wissenschaftliches Arbeiten
Das Wesen der wissenschaftlichen Arbeit, eigene wissenschaftliche Aufbereitung einfacher Sachverhalte, wissenschaftliche Sprache, Beschreibungsebenen, Planung von Experimenten, Umgang mit formalen Beschreibungen und mathematischer Notation, Nachvollziehbarkeit, Formen von Publikationen, Umgang mit wissenschaftlicher Literatur, Regeln des Publizierens. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Seminar zur Masterarbeit |
2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Seminar zur MasterarbeitDie AbsolventInnen lernen die Techniken des Schreibens einer wissenschaftlichen Arbeit kennen und setzen diese anhand der eigenen Arbeit um. Durch Unterstützung und Feedback seitens des/der Betreuers/Betreuerin vom FH-Studiengang ist ein schrittweises Vorgehen mit kontinuierlicher Qualitätsverbesserung gesichert. Seminar zur Masterarbeit
Präsentationen und Diskussionen zum Fortschritt und des Ergebnisses der Masterarbeit. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Freie Wahlfächer
| 1. | 2. | 3. | 4. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Freie Wahlfächer |
5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Freie WahlfächerWahhlfächer aus anderen Masterstudiengängen, aus den Electives der FH OÖ oder aus dem Lehrangebot anderer Universitäten. Freie Wahlfächer
je nach Wahl. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kontakt
E-MailE esd@fh-hagenberg.at
TelefonT +43 5 0804 22400
Ich helfe dir bei der Studienwahl.