Mag. Dr. Michael Strommer
Senior Lecturer
michael.strommer@hcw.ac.at
+43 1 606 68 77-2112
Room: B.3.27
Favoritenstraße 226
1100
Wien
Publications
Our publications database contains the scientific papers and theses supervised by Mag. Dr. Michael Strommer at Hochschule Campus WienLectures
Sichere Softwareentwicklung UE
Sichere Softwareentwicklung UE | WS2025/26
Content
Begleitend zu der VO "Sichere Softwareentwicklung" werden ausgewählte Themen aus dem Bereich IT-Security selbstständig bearbeitet und vertieft.
Dabei sind insbesondere die folgenden Aspekte relevant - Praktische Umsetzung von komplexeren Implementierungsaufgaben - Selbstständiges Projektmanagement
Teaching method
Programmieraufgaben
Examination
Immanente Leistungsüberprüfung
Bewertung der Übungsaufgaben, Präsentation der Ergebnisse
Teaching language
Deutsch
Sichere Softwareentwicklung UE | WS2025/26
Content
Begleitend zu der VO "Sichere Softwareentwicklung" werden ausgewählte Themen aus dem Bereich IT-Security selbstständig bearbeitet und vertieft.
Dabei sind insbesondere die folgenden Aspekte relevant - Praktische Umsetzung von komplexeren Implementierungsaufgaben - Selbstständiges Projektmanagement
Teaching method
Programmieraufgaben
Examination
Immanente Leistungsüberprüfung
Bewertung der Übungsaufgaben, Präsentation der Ergebnisse
Teaching language
Deutsch
Sichere Softwareentwicklung VO
Sichere Softwareentwicklung VO | WS2025/26
Content
Historische und aktuelle Verwundbarkeiten in Softwareprodukten werden besprochen, und Lösungsansätze diskutiert, die dabei helfen, diese Fehler bereits im Entwicklungsprozess zu vermeiden bzw. zu entdecken. Ebenso werden Maßnahmen aufgezeigt, die Effekte von Fehlern in vorhandener, nicht modifizierbarer Software durch geeignete Systemkonfiguration in ihrer Auswirkung so gering als möglich zu halten.
Teaching method
* Vorlesung
* Referate durch Studierende in Gruppen
Examination
Endprüfung
* Abschlusstest
* Bewertung der Referate
Teaching language
Deutsch
Sichere Softwareentwicklung VO | WS2025/26
Content
Historische und aktuelle Verwundbarkeiten in Softwareprodukten werden besprochen, und Lösungsansätze diskutiert, die dabei helfen, diese Fehler bereits im Entwicklungsprozess zu vermeiden bzw. zu entdecken. Ebenso werden Maßnahmen aufgezeigt, die Effekte von Fehlern in vorhandener, nicht modifizierbarer Software durch geeignete Systemkonfiguration in ihrer Auswirkung so gering als möglich zu halten.
Teaching method
* Vorlesung
* Referate durch Studierende in Gruppen
Examination
Endprüfung
* Abschlusstest
* Bewertung der Referate
Teaching language
Deutsch
Algorithmen & Datenstrukturen ILV
Algorithmen & Datenstrukturen ILV | SS2026
Content
Die LV befasst sich mit Algorithmen und Datenstrukturen. Im Vortragsteil wird ausschließlich Pseudocode zur Darstellung der Algorithmen, um deren Allgemeingültigkeit auszudrücken, verwendet. Im praktischen Teil der LV wird das Verständnis der wichtigsten Algorithmen und Datenstrukturen durch deren Implementierung in C und C++ vertieft. Gleichzeitig werden so auch die Programmierkenntnisse weiter gefestigt und das Verständnis für bestehende Bibliotheken geschärft.
Die LV deckt insbesondere die folgenden Inhalte ab:
- Rekursion
- O Notation
- Klassen von Algorithmen (Divide & Conquer, Brute-Force, Greedy, etc.)
- Listen
- Hash Tabellen
- Baumstrukturen
- Heaps
- Graphen
- Sortieralgorithmen (Selection Sort, Quick Sort, etc.)
- Suchalgorithmen (lineare Suche, binäre Suche, binäre und ausgeglichene Suchbäume)
- Algorithmen zur Textsuche (Brute-Force, Knuth-Morris-Pratt, Boyer-Moore, Pattern Matching)
- Graphenalgorithmen (Tiefensuche, Breitensuche, kürzeste Wege, maximaler Durchfluss)
Teaching method
Vorträge, praktische Übungen, Kleingruppenarbeit, Präsentationen, Lerntagebücher
Examination
Endprüfung
Gruppenarbeiten
Teaching language
Deutsch
Algorithmen & Datenstrukturen ILV | SS2026
Content
Die LV befasst sich mit Algorithmen und Datenstrukturen. Im Vortragsteil wird ausschließlich Pseudocode zur Darstellung der Algorithmen, um deren Allgemeingültigkeit auszudrücken, verwendet. Im praktischen Teil der LV wird das Verständnis der wichtigsten Algorithmen und Datenstrukturen durch deren Implementierung in C und C++ vertieft. Gleichzeitig werden so auch die Programmierkenntnisse weiter gefestigt und das Verständnis für bestehende Bibliotheken geschärft.
Die LV deckt insbesondere die folgenden Inhalte ab:
- Rekursion
- O Notation
- Klassen von Algorithmen (Divide & Conquer, Brute-Force, Greedy, etc.)
- Listen
- Hash Tabellen
- Baumstrukturen
- Heaps
- Graphen
- Sortieralgorithmen (Selection Sort, Quick Sort, etc.)
- Suchalgorithmen (lineare Suche, binäre Suche, binäre und ausgeglichene Suchbäume)
- Algorithmen zur Textsuche (Brute-Force, Knuth-Morris-Pratt, Boyer-Moore, Pattern Matching)
- Graphenalgorithmen (Tiefensuche, Breitensuche, kürzeste Wege, maximaler Durchfluss)
Teaching method
Vorträge, praktische Übungen, Kleingruppenarbeit, Präsentationen, Lerntagebücher
Examination
Endprüfung
Gruppenarbeiten
Teaching language
Deutsch
Programmierung 1 ILV
Programmierung 1 ILV | WS2025/26
Content
Die LV vermittelt Grundbegriffe der objektorientierten Programmierung mit Hilfe der Programmiersprache Java. Es werden Konzepte von Programmiersprachen, wie Kontrollstrukturen, elementare Datentypen, Datenstrukturen, Klassen, Objekte und Methoden gelehrt. Weiters wird der Entwurf von Programmen, sowie deren Analyse und Techniken zum Debuggen, Tracing und Testen vermittelt. Durch das Arbeiten in Kleingruppen an einem Projekt werden Teamarbeit und Selbstorganisation gefördert.
Die LV deckt insbesondere die folgenden Inhalte ab:
- Grundlagen der Programmierung
- Variablen und Datentypen
- Operatoren
- Kontrollstrukturen
- Fehlerbehandlung
- Grundlagen der Objektorientierung
- Vererbung
- Polymorphismus
- Abstrakte Klassen
- Interfaces
- Datenstrukturen und Generics
Teaching method
Kurze Impulsvorträge, sofortiges Ausprobieren des Erlernten in praktischen Übungen, Gruppenarbeit, Präsentationen, Lerntagebücher
Examination
Endprüfung
Gruppenarbeit, praktische Übungen
Teaching language
Deutsch
Programmierung 1 ILV | WS2025/26
Content
Die LV vermittelt Grundbegriffe der objektorientierten Programmierung mit Hilfe der Programmiersprache Java. Es werden Konzepte von Programmiersprachen, wie Kontrollstrukturen, elementare Datentypen, Datenstrukturen, Klassen, Objekte und Methoden gelehrt. Weiters wird der Entwurf von Programmen, sowie deren Analyse und Techniken zum Debuggen, Tracing und Testen vermittelt. Durch das Arbeiten in Kleingruppen an einem Projekt werden Teamarbeit und Selbstorganisation gefördert.
Die LV deckt insbesondere die folgenden Inhalte ab:
- Grundlagen der Programmierung
- Variablen und Datentypen
- Operatoren
- Kontrollstrukturen
- Fehlerbehandlung
- Grundlagen der Objektorientierung
- Vererbung
- Polymorphismus
- Abstrakte Klassen
- Interfaces
- Datenstrukturen und Generics
Teaching method
Kurze Impulsvorträge, sofortiges Ausprobieren des Erlernten in praktischen Übungen, Gruppenarbeit, Präsentationen, Lerntagebücher
Examination
Endprüfung
Gruppenarbeit, praktische Übungen
Teaching language
Deutsch
Programmierung 2 ILV
Programmierung 2 ILV | SS2026
Content
Aufbauend auf die Inhalte von Programmieren 1 werden in der ILV Programmieren 2 vertiefende Konzepte der Programmierung mit Java vorgetragen. Dabei liegt der Fokus auf eine gute Strukturierung des Programmes, die auch auf die Design Patterns aufbaut und mit dem Ziel eine saubere objektorientiete Lösung für eine Aufgabenstellung zu entwicklen. Weiters wird auf vertiefende Konzepte in der Programmierung eingegangen die das Erstellen eines Programmes einfacher machen und den aktuellen Stand der Programmierkonzepte darstellen.
Die LV deckt insbesondere die folgenden Inhalte ab:
- Designpatterns und die Umsetzung im Code
- Junit Testcases zu Methoden schreiben und die Programme modular entwicklen, damit sie testbar sind.
- Erklärung der 3-Schichten Architektur und Umsetzung anhand einer praktischen Aufgabe.
- Multi-Threading in Java und Umsetzung anhand einer praktischen Aufgabe
- Einsatz von Java Bibliotheken und Frameworks.
- Erweiterte Programmierkonzepte wie Java Streams und Lambda Expressions.
Teaching method
Theorievortrag mit passenden praktischen Übungsteil
Examination
Endprüfung
Gruppenarbeiten
Teaching language
Deutsch
Programmierung 2 ILV | SS2026
Content
Aufbauend auf die Inhalte von Programmieren 1 werden in der ILV Programmieren 2 vertiefende Konzepte der Programmierung mit Java vorgetragen. Dabei liegt der Fokus auf eine gute Strukturierung des Programmes, die auch auf die Design Patterns aufbaut und mit dem Ziel eine saubere objektorientiete Lösung für eine Aufgabenstellung zu entwicklen. Weiters wird auf vertiefende Konzepte in der Programmierung eingegangen die das Erstellen eines Programmes einfacher machen und den aktuellen Stand der Programmierkonzepte darstellen.
Die LV deckt insbesondere die folgenden Inhalte ab:
- Designpatterns und die Umsetzung im Code
- Junit Testcases zu Methoden schreiben und die Programme modular entwicklen, damit sie testbar sind.
- Erklärung der 3-Schichten Architektur und Umsetzung anhand einer praktischen Aufgabe.
- Multi-Threading in Java und Umsetzung anhand einer praktischen Aufgabe
- Einsatz von Java Bibliotheken und Frameworks.
- Erweiterte Programmierkonzepte wie Java Streams und Lambda Expressions.
Teaching method
Theorievortrag mit passenden praktischen Übungsteil
Examination
Endprüfung
Gruppenarbeiten
Teaching language
Deutsch
Programmierung 1 ILV
Programmierung 1 ILV | WS2025/26
Content
Die LV vermittelt Grundbegriffe der objektorientierten Programmierung mit Hilfe der Programmiersprache Java. Es werden Konzepte von Programmiersprachen, wie Kontrollstrukturen, elementare Datentypen, Datenstrukturen, Klassen, Objekte und Methoden gelehrt. Weiters wird der Entwurf von Programmen, sowie deren Analyse und Techniken zum Debuggen, Tracing und Testen vermittelt. Durch das Arbeiten in Kleingruppen an einem Projekt werden Teamarbeit und Selbstorganisation gefördert.
Die LV deckt insbesondere die folgenden Inhalte ab:
- Grundlagen der Programmierung
- Variablen und Datentypen
- Operatoren
- Kontrollstrukturen
- Fehlerbehandlung
- Grundlagen der Objektorientierung
- Vererbung
- Polymorphismus
- Abstrakte Klassen
- Interfaces
- Datenstrukturen und Generics
Teaching method
Kurze Impulsvorträge, sofortiges Ausprobieren des Erlernten in praktischen Übungen, Gruppenarbeit, Präsentationen, Lerntagebücher
Examination
Endprüfung
Gruppenarbeit, praktische Übungen
Teaching language
Deutsch
Programmierung 1 ILV | WS2025/26
Content
Die LV vermittelt Grundbegriffe der objektorientierten Programmierung mit Hilfe der Programmiersprache Java. Es werden Konzepte von Programmiersprachen, wie Kontrollstrukturen, elementare Datentypen, Datenstrukturen, Klassen, Objekte und Methoden gelehrt. Weiters wird der Entwurf von Programmen, sowie deren Analyse und Techniken zum Debuggen, Tracing und Testen vermittelt. Durch das Arbeiten in Kleingruppen an einem Projekt werden Teamarbeit und Selbstorganisation gefördert.
Die LV deckt insbesondere die folgenden Inhalte ab:
- Grundlagen der Programmierung
- Variablen und Datentypen
- Operatoren
- Kontrollstrukturen
- Fehlerbehandlung
- Grundlagen der Objektorientierung
- Vererbung
- Polymorphismus
- Abstrakte Klassen
- Interfaces
- Datenstrukturen und Generics
Teaching method
Kurze Impulsvorträge, sofortiges Ausprobieren des Erlernten in praktischen Übungen, Gruppenarbeit, Präsentationen, Lerntagebücher
Examination
Endprüfung
Gruppenarbeit, praktische Übungen
Teaching language
Deutsch
Programmierung 2 ILV
Programmierung 2 ILV | SS2026
Content
Aufbauend auf die Inhalte von Programmieren 1 werden in der ILV Programmieren 2 vertiefende Konzepte der Programmierung mit Java vorgetragen. Dabei liegt der Fokus auf eine gute Strukturierung des Programmes, die auch auf die Design Patterns aufbaut und mit dem Ziel eine saubere objektorientiete Lösung für eine Aufgabenstellung zu entwicklen. Weiters wird auf vertiefende Konzepte in der Programmierung eingegangen die das Erstellen eines Programmes einfacher machen und den aktuellen Stand der Programmierkonzepte darstellen.
Die LV deckt insbesondere die folgenden Inhalte ab:
- Designpatterns und die Umsetzung im Code
- Junit Testcases zu Methoden schreiben und die Programme modular entwicklen, damit sie testbar sind.
- Erklärung der 3-Schichten Architektur und Umsetzung anhand einer praktischen Aufgabe.
- Multi-Threading in Java und Umsetzung anhand einer praktischen Aufgabe
- Einsatz von Java Bibliotheken und Frameworks.
- Erweiterte Programmierkonzepte wie Java Streams und Lambda Expressions.
Teaching method
Theorievortrag mit passenden praktischen Übungsteil
Examination
Endprüfung
Gruppenarbeiten
Teaching language
Deutsch
Programmierung 2 ILV | SS2026
Content
Aufbauend auf die Inhalte von Programmieren 1 werden in der ILV Programmieren 2 vertiefende Konzepte der Programmierung mit Java vorgetragen. Dabei liegt der Fokus auf eine gute Strukturierung des Programmes, die auch auf die Design Patterns aufbaut und mit dem Ziel eine saubere objektorientiete Lösung für eine Aufgabenstellung zu entwicklen. Weiters wird auf vertiefende Konzepte in der Programmierung eingegangen die das Erstellen eines Programmes einfacher machen und den aktuellen Stand der Programmierkonzepte darstellen.
Die LV deckt insbesondere die folgenden Inhalte ab:
- Designpatterns und die Umsetzung im Code
- Junit Testcases zu Methoden schreiben und die Programme modular entwicklen, damit sie testbar sind.
- Erklärung der 3-Schichten Architektur und Umsetzung anhand einer praktischen Aufgabe.
- Multi-Threading in Java und Umsetzung anhand einer praktischen Aufgabe
- Einsatz von Java Bibliotheken und Frameworks.
- Erweiterte Programmierkonzepte wie Java Streams und Lambda Expressions.
Teaching method
Theorievortrag mit passenden praktischen Übungsteil
Examination
Endprüfung
Gruppenarbeiten
Teaching language
Deutsch
Angewandte Mikrocontrollerprogrammierung UE
Angewandte Mikrocontrollerprogrammierung UE | SS2026
Content
Anwendung der µC-Programmierung:
Auslesen und Interpretieren von Sensordaten, Erarbeiten praktischer Anwendungsbeispiele durch selbstständiges Lösen vorgegebener Aufgabenstellungen unter Anwendung von Zweidraht-Bussystemen und ihrer Anwendung (I²C, SPI, …). Spezielle Tricks und Techniken der µC-Programmierung werden vorgestellt und diskutiert.
Teaching method
UE
Examination
Immanente Leistungsüberprüfung
Immanenter Prüfungscharakter
Teaching language
Deutsch
Angewandte Mikrocontrollerprogrammierung UE | SS2026
Content
Anwendung der µC-Programmierung:
Auslesen und Interpretieren von Sensordaten, Erarbeiten praktischer Anwendungsbeispiele durch selbstständiges Lösen vorgegebener Aufgabenstellungen unter Anwendung von Zweidraht-Bussystemen und ihrer Anwendung (I²C, SPI, …). Spezielle Tricks und Techniken der µC-Programmierung werden vorgestellt und diskutiert.
Teaching method
UE
Examination
Immanente Leistungsüberprüfung
Immanenter Prüfungscharakter
Teaching language
Deutsch
C-Programmierung ILV
C-Programmierung ILV | WS2025/26
Content
Ohne Gruppenteilung:
Grundlagen der Programmierung, Begriff des Algorithmus. Aufbau und Konzeption eines Rechnersystems. Programmierung mit der Programmiersprache C, Befehlssatz von C, statische und dynamische Datenstrukturen, Grundlagen Pointer und einfache Anwendung.
In Gruppenteilung:
Praktische Umsetzung der vermittelten Grundlagen durch angeleitetes und selbstständiges Lösen von Aufgabenstellungen am Computer, einfache und komplexere Datenstrukturen, Analyse von Algorithmen, Verwenden von Bibliotheksfunktionen. Verwendung von Programmieroberflächen.
Teaching method
ILV
Examination
Immanente Leistungsüberprüfung
Immanenter Prüfungscharakter
Teaching language
Deutsch
C-Programmierung ILV | WS2025/26
Content
Ohne Gruppenteilung:
Grundlagen der Programmierung, Begriff des Algorithmus. Aufbau und Konzeption eines Rechnersystems. Programmierung mit der Programmiersprache C, Befehlssatz von C, statische und dynamische Datenstrukturen, Grundlagen Pointer und einfache Anwendung.
In Gruppenteilung:
Praktische Umsetzung der vermittelten Grundlagen durch angeleitetes und selbstständiges Lösen von Aufgabenstellungen am Computer, einfache und komplexere Datenstrukturen, Analyse von Algorithmen, Verwenden von Bibliotheksfunktionen. Verwendung von Programmieroberflächen.
Teaching method
ILV
Examination
Immanente Leistungsüberprüfung
Immanenter Prüfungscharakter
Teaching language
Deutsch
Programmieren von Mikrocontrollern UE
Programmieren von Mikrocontrollern UE | WS2025/26
Content
Praktische Umsetzung der vermittelten Grundlagen durch Lösen vorgegebener Aufgabenstellungen mit Hilfe von speziellen Übungsboards. Die Funktion von Interrupts, GPIOs, Timern und AD-Wandlern sowie das Zusammenspiel der Komponenten werden anhand von selbständig zu lösenden praktischen Übungsbeispielen getestet.
Teaching method
UE
Examination
Immanente Leistungsüberprüfung
Immanenter Prüfungscharakter
Teaching language
Deutsch
Programmieren von Mikrocontrollern UE | WS2025/26
Content
Praktische Umsetzung der vermittelten Grundlagen durch Lösen vorgegebener Aufgabenstellungen mit Hilfe von speziellen Übungsboards. Die Funktion von Interrupts, GPIOs, Timern und AD-Wandlern sowie das Zusammenspiel der Komponenten werden anhand von selbständig zu lösenden praktischen Übungsbeispielen getestet.
Teaching method
UE
Examination
Immanente Leistungsüberprüfung
Immanenter Prüfungscharakter
Teaching language
Deutsch
Programmieren von Mikrocontrollern VO
Programmieren von Mikrocontrollern VO | WS2025/26
Content
Einführung in die Architektur von Mikrocontrollern (µC). Moderne 8- und 32-Bit-µC-Systeme werden vorgestellt (Arduino und STM32) sowie gängige auf diesen µC verfügbare Peripherie (NVIC, DMA, GPIO, Timer, ADC, ...) und deren Funktionalitäten. Spezielle Eigenschaften und Eigenheiten der Programmierung von µC werden diskutiert.
Teaching method
Vorlesung mit Fernlehreinheiten
Examination
Endprüfung
LV abschliessende Endprüfung
Teaching language
Deutsch
Programmieren von Mikrocontrollern VO | WS2025/26
Content
Einführung in die Architektur von Mikrocontrollern (µC). Moderne 8- und 32-Bit-µC-Systeme werden vorgestellt (Arduino und STM32) sowie gängige auf diesen µC verfügbare Peripherie (NVIC, DMA, GPIO, Timer, ADC, ...) und deren Funktionalitäten. Spezielle Eigenschaften und Eigenheiten der Programmierung von µC werden diskutiert.
Teaching method
Vorlesung mit Fernlehreinheiten
Examination
Endprüfung
LV abschliessende Endprüfung
Teaching language
Deutsch
Konzepte der Informatik 1 ILV
Konzepte der Informatik 1 ILV | WS2025/26
Content
Die LV befasst sich mit komplexen Algorithmen und Datenstrukturen. Im Vortragsteil wird ausschließlich Pseudocode zur Darstellung der Algorithmen, um deren Allgemeingültigkeit auszudrücken, verwendet. Im praktischen Teil der LV wird das Verständnis der wichtigsten Algorithmen und Datenstrukturen durch deren Implementierung in C, vermittelt. Gleichzeitig werden so auch die Programmierkenntnisse weiter gefestigt und das Verständnis für bestehende Bibliotheken geschärft.
Die LV deckt insbesondere die folgenden Inhalte ab:
- Aufwandsabschätzungen mit O-Notation
- Rekursion und Backtracking
- Graphentheorie
- Verkettete Listen
- Bäume
- Algorithmen- Einfache Suchverfahren
- Heuristische (informierte) Suchverfahren
- Optimierende Suche
- Dynamische Programmierung
- Graphenalgorithmen
- Sortierverfahren- Unterschied einfache und komplexe Verfahren
- Laufzeit- und Speicherplatzverhalten
Mit praktischen Übungen in C auf dem PC.
Teaching method
Vortrag
Praktische Übungen in Präsenz sowie Fernlehre
Examination
Immanente Leistungsüberprüfung
Immanenter Prüfungscharakter
Teaching language
Deutsch
Konzepte der Informatik 1 ILV | WS2025/26
Content
Die LV befasst sich mit komplexen Algorithmen und Datenstrukturen. Im Vortragsteil wird ausschließlich Pseudocode zur Darstellung der Algorithmen, um deren Allgemeingültigkeit auszudrücken, verwendet. Im praktischen Teil der LV wird das Verständnis der wichtigsten Algorithmen und Datenstrukturen durch deren Implementierung in C, vermittelt. Gleichzeitig werden so auch die Programmierkenntnisse weiter gefestigt und das Verständnis für bestehende Bibliotheken geschärft.
Die LV deckt insbesondere die folgenden Inhalte ab:
- Aufwandsabschätzungen mit O-Notation
- Rekursion und Backtracking
- Graphentheorie
- Verkettete Listen
- Bäume
- Algorithmen- Einfache Suchverfahren
- Heuristische (informierte) Suchverfahren
- Optimierende Suche
- Dynamische Programmierung
- Graphenalgorithmen
- Sortierverfahren- Unterschied einfache und komplexe Verfahren
- Laufzeit- und Speicherplatzverhalten
Mit praktischen Übungen in C auf dem PC.
Teaching method
Vortrag
Praktische Übungen in Präsenz sowie Fernlehre
Examination
Immanente Leistungsüberprüfung
Immanenter Prüfungscharakter
Teaching language
Deutsch