M.Sc.Comp.Sc.-Kurse

 

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")