absolvierte und bestandene Kurse an einer deutschen Universität (alle in englischer Sprache):
Kurstitel | Theorie | Praxis | Inhalt |
---|---|---|---|
Paralleles Programmieren | x | x | mit welchen Software-Techniken/-Methoden (MPI, OpenMP, OpenCL) man Programme parallelisieren kann; Arten der Parallelisierung (Data Level, Thread Level, Instruction Level) |
Cluster Computing | x | Grundlagen, wie z.B. Amdahlsches Gesetz; Load balancing usw. | |
Middleware-Konzepte | x | x | Java RMI, CORBA, Tuple Spaces, Publish/ Subscribe, Peer to Peer, etc. |
Automatische Bildanalyse | x | x | Bilderkennung via Fourier-Deskriptoren, (generalisierter) Hough-Transformation, Bayes Theorem, Expectation Maximization, Objektkategorisierung nach Leibe & Schiele, Entropie, Standardabweichung, Gauss-Funktionen etc. |
Sicherheitsaspekte im Software-Engineering | x | x | Verschlüsselung; Vorgehensweise bei der Erstellung von Software, die inhärente Sicherheit bietet. Software-Muster, testen etc. |
Verteilte Algorithmen | x | x | Algorithmen für verteilte Systeme : Flooding, Echo, Election, logische Zeitstempel, Garbage collection, Fehler-Toleranz: Konsens-Bildung, Selbst-Stabilisierung,... |
Embedded Betriebssysteme | x | bei welchem Scheduling von Prozessen (Weighted Fair Scheduling, Least Laxity First ...) der Berechnung nach Echtzeit möglich ist usw. | |
Verlässliche Systeme | x | Maßnahmen und Konzepte, um verlässliche (zuverlässige, sichere, wartbare, korrekte) Systeme sicherzustellen: Berechnung von Wahrscheinlichkeiten von Hardware-Fehlern, SMART, RAID, Codierungen für Fehlererkennung und -Korrektur: Hamming-Code usw. |
|
Analyse und Optimierung eingebetteter Systeme | x | x | Optimierung von Quellcode/wie Optimizer funktionieren. Vorwärts-Analyse (mit dem Programmverlauf), Rückwärts-Analyse (dem Programmverlauf entgegengesetzt ) Wissenschaftliche/mathematische Basis der Optimierung: partielle Ordnungen, Verbände, Kontroll-Fluss-Analysen, Optimierung von Schleifen, maximale Laufzeit (Worst-Case execution time) |
Grundlagen des Informations-Sicherheits-Managements | x | x | Angriffsarten auf die Informations-Sicherheit, Datenschutz: rechtliche Grundlagen (Gesetze, Artikel), IT-Grundschutz, Messen der Sicherheit: GQM usw., Risiko-Management, IT-Forensik |
Betriebssystem-Entwurf | x | x | Vor- und Nachteile von Implementierungen in Betriebssystemen: Mikrokernel vs. monolithischer Kernel;Thread (Kontext) switching;Scheduling-Arten;grundlegende Formen der Thread-Interaktion (Signal-Wait,Locks,Monitor,...);Client-Server;virtueller Speicher;Dateien;IO-Geräte;... |
Sicherheitslabor Eingebetteter Betriebssysteme (Praktikum) | x | x | In diesem Kurs ging es um das Hacken, also das Ausnutzen von Schwachstellen in Software/Hardware. Dazu musste man die Software disassemblieren und mit einem Debugger untersuchen. Folgende Schwachstellen wurden ausgenutzt: Bootloader manipulieren, schlechte Zufallszahlengeneratoren (Kollisionen bei mehreren asymmetrischen Schlüsseln), Pufferüberläufe, Heap-überläufe, Format-Zeichenkettten, im Kernel |
Softwaresicherheit | x | Schwachstellen und Angriffsarten in Software, quasi die theoretischen Grundlagen des Kurses "Sicherheitslabor Eingebetteter Betriebssysteme" | |
Entwurf Eingebetteter Systeme (Projekt+Seminar) | x | x | Steuern eines Lego-Mindstorms-Roboters (NXT-Version) durch Aktoren und Sensoren auf Basis wissenschaftlicher Abhandlungen (sogen. "Papern") |