Aktuelle Entwicklungen in Programmiersprachen
Alle 18 Monate verdoppelt sich die Anzahl der Transistoren auf einem Chip. Bis vor einigen Jahren konnte dieser Fortschritt in der Fertigungstechnik direkt in schnellere Prozessoren umgemünzt werden. Dies ist seit einigen Jahren nicht mehr so. Die Leistungsfähigkeit einzelner Prozessoren steigt kaum mehr oder nimmt gar ab. Stattdessen hat man immer mehr Prozessoren auf einem Chip. Das heißt, dass man Software nicht mehr durch den Kauf schnellerer Hardware beschleunigen kann.
Das bedeutet einen radikalen Wandel in der Programmierung: Heutige Software muss also Nebenläufigkeit und Parallelität aufweisen und ausnutzen um eine Leistungssteigerung aus solchen Mehrkern-Prozessoren zu schöpfen. Unser gängiges Programmiermodell und die entsprechenden Sprachen sind aber für sequentielle Sprachen konzipiert. Dies macht es schwierig, mit Nebenläufigkeit und Parallelität effizient und effektiv umzugehen.
Ich stelle in meinem Vortrag die Kernprobleme der nebenläufigen und parallelen Programmierung dar und setze sie mit der aktuellen Hardware-Landschaft in Beziehung. Des Weiteren stelle ich neue Programmiermodelle, Sprachen und Compiler-Techniken vor, die zumindest für einige Aspekte der Parallelprogrammierung eine produktive Programmierung ermöglichen.
Bildverarbeitung und Computergrafik mit Ideen aus der Natur
Wir alle kennen die Bionik, ein Teilgebiet der Technik, das seine Inspirationen aus der Natur schöpft. Weniger bekannt ist jedoch die Tatsache, dass auch einige der modernsten Verfahren aus Bildverarbeitung und Computergrafik wertvolle Ideen aus der Natur nutzen. Dies werden wir an zwei Themenkreisen erarbeiten, die einerseits aktuelle Forschungsgebiete in unserer Arbeitsgruppe darstellen, aber andererseits auch intuitiv zu verstehen sind und an der Schule vermittelt werden können.
Das erste Thema befasst sich mit dem sogenannten Halftoningproblem: Wir möchten ein Grauwertbild drucken, haben aber lediglich schwarzen Toner oder schwarze Tinte zur Verfügung. In der Druckerbranche werden hierzu Verfahren eingesetzt, die Grauwerte durch geeignet verteilte kleine schwarze Kreisscheiben approximieren. Das Problem der optimalen Verteilung dieser Kreisscheiben ist sehr anspruchsvoll. Wir werden sehen, wie wir es mit einfachen Ideen aus der Elektrostatik, die in der Schule vermittelt werden, in einer Qualität lösen können, die den aktuellen Stand der Kunst markiert. Durch weitere Anpassungen werden wir zudem interessante grafische und künsterische Anwendungen kennenlernen.
Im zweiten Themenkreis werden wir gemeinsam versuchen, das Konzept der Osmose für die Bildverarbeitung und die Computergrafik nutzbar zu machen. Bekannterweise beschreibt Osmose einen unsymmtrischen Transportprozess durch eine halbdurchlässige Membran, bei dem sich unterschiedliche Konzentrationen auf beiden Seiten einstellen. Diese Idee werden wir nutzen, um beispielsweise störende Schatten aus Bildern zu entfernen und Bilder nahtlos zu fusionieren. Zudem werden wir sehen, dass das Anwendungspotenzial der Osmose bis in den Überwachungsbereich und in die Mikroskopie reichen kann.
Schülerprogramme "MentoMINT" und "UniCamp" der UdS
Trotz ausgezeichneter Voraussetzungen und hoher Qualifizierung entscheiden sich wenige Schülerinnen für ein Studium im MINT-Bereich (Mathematik, Informatik, Naturwissenschaften und Technik). Warum ist das so? Und worin liegen die Ursachen begründet?
Die Koordinationsstelle Gender Equality MINT beschäftigt sich mit genau dieser Thematik. Sie fungiert als Vernetzung zwischen Gleichstellungsbüro und dem Exzellenzcluster für Informatik der Universität des Saarlandes und ist Anlaufstelle für alle Genderfragen im MINT-Bereich. Es gilt zu ergründen, warum Studentinnen, Promovendinnen und Professorinnen immer noch in diesen Fachbereichen unterrepräsentiert sind, und in Anbetracht der aktuellen Datenlage werden Lösungsvorschläge zur Verbesserung der Situation erarbeitet sowie Projekte initiiert und durchgeführt.
In ihrem Vortrag stellt Frau Klein die im MINT-Bereich angesiedelten Schülerprogramme "MentoMINT" und "UniCamp" der Universität des Saarlandes vor. Ein anschließender Austausch zum Aufbau und Ausbau eines Netzwerks ist sehr erwünscht!
Abenteuer Informatik, Abenteuer Technik und Computational Thinking
Aus den USA, von Jeannette M. Wing, kommt der neue Begriff "Computational Thinking", der auch eine tragende Säule in den Bildungsstandards der ACM-CSTA (Informatiklehrerorganisation in den USA) und in den Vorschlägen für ein Informatik-Curriculum in Großbritannien darstellt. Das ist höchst kompatibel mit den Grundsätzen in Deutschland, die etwa von der Gesellschaft für Informatik geprägt werden. Im Vortrag erfahren Sie, was man sich unter Computational Thinking vorzustellen hat und wie es auf praktische Art und Weise den täglichen Unterricht bereichern kann, etwa durch die Konzepte, die an der TU Darmstadt mit "Abenteuer Informatik" und "Abenteuer Technik" erarbeitet und erprobt wurden.
Quantencomputer in Theorie und Praxis
Die Miniaturisierung unserer Rechentechnik stößt schon heute an die Grenzen der klassischen Physik. Unterschreiten unsere Computer eine gewisse Größenordnung, so betreten wir die Welt der Quantenmechanik, in der völlig andere, uns nicht vertraute Gesetze gelten. Der Quantencomputer nutzt eben jene Effekte, um - zumindest theoretisch - unvorstellbar komplizierte Berechnungen effizient auszuführen. Peter Shor zeigte 1994, wie man mit solchen Computern effizient Faktorisieren und Diskrete Logarithmen berechnen kann und damit die beiden meistbenutzten Verschlüsselungsverfahren heutiger Zeit knackt. Seitdem leben Kryptographen in aller Welt mit der ständigen Angst, dass hinreichend große Quantencomputer irgendwann wirklich gebaut werden können.
Dieser Vortrag gibt zunächst einen Einblick in die physikalischen Prinzipien des Quantencomputers. Wir betrachten verschiedene Ansätze solche Computer zu bauen, deren Vor- und Nachteile, sowie deren praktische Umsetzung. An einfachen Algorithmen, wie zum Beispiel Grovers Suchalgorithmus, zeigen wir, wie man mit Quantencomputern rechnet und warum es klassische Public-Key Kryptosysteme gibt, die bisher auch gegen Quantencomputer sicher sind. Wir werden mit dem Quantenschlüsselaustausch den ersten marktreifen Quantenalgorithmus erläutern, sowie Informationen mittels Quantenteleportation schneller als das Licht übertragen.
(Un)Sichere Smartphones - Wieviel Kontrolle hat der Benutzer?
Smartphones haben in den letzten Jahren massiven Einzug in unser Privat- und Geschäftsleben erhalten. Ihre Funktionsvielfalt und einfache Bedienbarkeit machen sie zu treuen Begleitern in unserem Alltag. Doch welchen Preis zahlen wir dafür?
Ein Großteil der Komfortfunktionen von Smartphones setzen den Zugang zu jeder Menge sensibler Daten voraus - seien es unsere Kontakte und Termine, oder sogar unsere aktuelle Position (GPS) und unsere aktuellen Gespräche (Mikrophon). Darüber hinaus gibt es eine Vielzahl an Apps, die vorgeben, bestimmte Daten zu benötigen, ohne dass es hierfür einen für den Benutzer ersichtlichen Grund gibt. Daher stellt sich die Frage: Wieviel Kontrolle haben wir als Benutzer über die Daten auf unseren Smartphones? Wie können wir unsere Privatsphäre schützen?
Wir zeigen aktuelle Sicherheitsprobleme an konkreten Beispielen auf und präsentieren unsere aus der Forschung heraus entstandenen Lösungsansätze.
Kann der Computer selbst programmieren?
Der Traum, Programme automatisch zu erzeugen, reicht zurück bis in die frühen Anfänge der Informatik. Dem Softwareentwickler soll ermöglicht werden, auf einem abstrakten Niveau zu beschreiben, WAS berechnet werden soll, anstatt im Detail festlegen zu müssen, WIE dies zu geschehen hat. Synthesealgorithmen leiten aus der Spezifikation der gewünschten Programmeigenschaften automatisch, ohne Mithilfe eines menschlichen Programmierers, ein lauffähiges und garantiert fehlerfreies Programm ab. Leider (bzw., im Hinblick auf die menschlichen Programmierer, vielleicht auch erfreulicherweise) gehört die Programmsynthese zu den unentscheidbaren und daher nicht allgemein zu lösenden Problemen. Dennoch ist es der Forschung während der letzten Jahrzehnte gelungen, immer mehr Aspekte der Synthese genau zu verstehen und algorithmischen Lösungen zugänglich zu machen. Wichtige Meilensteine sind die Reduktion des Syntheseproblems auf spieltheoretische Fragen (hat das "gute" Systeme eine gewinnende Strategie gegen die "böse" Umgebung?) und die Entwicklung von automatischen Entscheidungsprozeduren für viele wichtige Programmtheorien, wie beispielsweise dynamische Datenstrukturen, Mengentheorie und lineare Arithmetik. In dem Vortrag werden wir diese spannenden Entwicklungen verfolgen und die Grenzen des heute Möglichen ausloten.