Willkommen im Trainingskurs Algorithmenkonstruktion

Welcome to the Workshop on Design of Algorithms

 

Lehre
 

Studium generale
Sommerschule Informatik
Begabtenförderung

 
 

I. Studium Generale

Im Rahmen des Studium generale/Veranstaltungen für Hörer aller Fakultäten und für Gäste führe ich im Wintersemester 2005/2006 die Vorlesung

Algorithmenkonstruktion

durch.

Ort: Hörsaalzentrum (HSZ) der TU Dresden, Bergstr. 64, Raum HSZ 101
Zeit: Montag, 5. DS (14.50 - 16.20 Uhr)
Beginn: 10.10.2005

Die Lehrveranstaltung wendet sich an Studentinnen und Studenten der Mathematik, der Natur-, Ingenieur-, Wirtschafts- und Geisteswissenschaften, an interessierte Senioren sowie an Schülerinnen und Schüler ab Klasse 11.

Nach einer einführenden Darstellung der Algorithmenkonstruktion

  • als anwendungsorientiertes bidirektionales Bindeglied zwischen Mathematik und Informatik,
  • als einer grundlegenden Teildisziplin der Informatik im Vorfeld von Programmierungstechnik und Softwaretechnologie,
  • zugleich aber auch als ein adäquates Übungsfeld für (computerorientierte) Problemlösungstechniken sowie für strategisches, taktisches, vernetztes und flexibles Denken werden anhand anspruchsvoller Beispiel-Module Methoden, Herangehensweisen und Anregungen zum innovativen Arbeiten auf diesem Gebiet vermittelt.


Inhalt:

  • Zum Algorithmusbegriff, Notierungssysteme für Algorithmen

    Algorithmus
    Allgemeingültige, detaillierte, eindeutige und formalisiert („rein mechanisch“) ausführbare Vorschrift zum Lösen (bzw. näherungsweisen Lösen) einer lösbaren Aufgabenklasse (d.h., aller durch konkrete Parameterwerte charakterisierten Aufgaben dieses Typs, z.B. Lösen der quadratischen Gleichung x2 + px + q = 0 für alle Parameterwerte p und q). Diese Lösungsvorschrift besteht aus einer endlichen Folge von Anweisungen, die gemäß einer Steuerstruktur mit den Elementen Sequenz (unbedingte Folge), Selektion (bedingte Auswahl) und Zyklus (bedingte Wiederholung) in eindeutiger und terminierender Reihenfolge ausgeführt wird. Dabei wird ein Input in Form einer endlichen Folge von (elementaren) Schritten in einen Output transformiert. Dieser algorithmische Prozess ist eindeutig reproduzierbar. Die Konstruktion eines konkreten Algorithmus ist immer durch das zu lösende Problem und den dabei zur Verfügung stehenden Prozessortyp (Mensch, PC, HPC, neuronales Netz, ..) bestimmt. Der Algorithmus soll dabei aus Informatiksicht korrekt, effizient (minimaler Verbrauch an Ressourcen (Rechenzeit, Speicherplatz, Übertagungskapazität, ..), robust, erweiterbar, in Teilen wiederverwendbar, .. sein. Ein Algorithmus muß als endlicher Text in einer vereinbarten Notierungsform niederschreibbar und niedergeschrieben und in diesem Sinne allgemeinverständlich sein. Durch Einbringen nichtdeterministischer, stochastischer, evolutiver, .. Elemente gelangt man zu Algorithmen, die zum Lösen (bzw. näherungsweisen Lösen) bestimmter Aufgabenklassen wesentlich leistungsfähiger als die vorstehend beschriebenen deterministischen Algorithmen bzw. praktisch überhaupt erst fähig sind: stochastische (probabilistische), heuristische, genetische, Quanten-, .. Algorithmen.

  • Zur Geschichte der Mathematik und der Algorithmenkonstruktion, antike Algorithmen aus heutiger Sicht: sqrt(a), pythagoreische Tripel, π, a/3, ggT(a,b), Primzahlsieb, Lösen algebraischer Gleichungen
  • Algorithmen zur Berechnung mathematischerKonstanten (π, e, δ, ...)
  • Numerische Algorithmen
  • Algorithmen im Bereich der analytischen Geometrie, computational geometry
  • Matrizenalgorithmen zur Analyse und Synthese binärer Relationen, Verallgemeinerung und Anwendung in Informatik und Elektrotechnik
  • Suchalgorithmen, Selektionsalgorithmen
  • Sortieralgorithmen
  • Divide and conquer, Dynamische Programmierung, Greedy-Strategie
  • Data Mining Algorithmen
  • Algorithmen aus Informations- und Kommunikationstechnik
  • Bilderzeugungs-, Bildverarbeitungs- und Bilderkennungsalgorithmen
  • Prädiktionsalgorithmen
  • Anregungen für den Algorithmenkonstrukteur aus Natur- und Ingenieurwissenschaften
  • Deterministischer Automat als Notierungssystem und Konstruktionswerkzeugfür Algorithmen
  • Turingmaschine als Notierungssystem für Algorithmen
  • Spigot-Algorithmen
  • Wie kann man Algorithmen schneller machen? Tuning von Algorithmen
  • Probabilistische Algorithmen, heuristische Algorithmen, genetische Algorithmen

Internet-Präsenz:
Trainingskurs Algorithmenkonstruktion
http://www.DresdenAlgorithmicsChannel.de/
Kontakt: Tel. (0351) 463 38236, e-mail: es7@irz.inf.tu-dresden.de

 
     
   
zum Seitenanfang
 

II. Sommerschule Informatik

Die Fakultät Informatik der TU Dresden, das St. Benno-Gymnasium Dresden und das Gymnasium Dresden-Blasewitz "Martin Andersen Nexö" führen in der ersten Woche des neuen Schuljahres gemeinsam die

Sommerschule Informatik

zum Themenkreis Algorithmenkonstruktion durch.

Die Sommerschule ist auch für Teilnehmer aus anderen Gymnasien offen, sofern eine entsprechende Freistellung für die erste Schulwoche erfolgt.

Softwaretechnologie (Software engineering) - die industriell organisierte Planung, Herstellung und Pflege umfangreicher Softwareprodukte - ist heute einer der kommerziell wesentlichsten Zweige der Informatik. Trotzdem sind allenthalben kritische Stimmen zum heutigen Stand dieser Ingenieurdisziplin zu hören: "Software chronisch mangelhaft" (vgl. Spektrum der Wissenschaft 1994, H.12, S. 56-63). Neben vielen anderen Ursachen hierfür liegt eine der Defizitquellen auch auf dem Gebiet der Algorithmenkonstruktion, d.h. der Herstellung von computergerechten effizienten Algorithmen im Vorfeld der Programmierung. Hier sind solide Berufserfahrung, ständiges Verfolgen des internationalen Kenntnis- und Entwicklungsstandes, breite und anwendungsbereite Mathematikkenntnisse, aber genauso auch Kreativität, Erfindungskraft und Phantasie gefragt!

Wer auf diesem anspruchsvollen Gebiet der Informatik später einmal arbeiten will, kann damit nicht früh genug und von der Pike auf beginnen. Die geplante Sommerschule für Schülerinnen und Schüler Dresdner Gymnasien will ein solches "Eindenken" fördern und unterstützen; sie baut auf guten Grundkenntnissen, Begabung und Begeisterung für Mathematik und Informatik (vielleicht auch bereits einem entsprechenden Studienwunsch) auf. Es soll dabei nicht stocktrocken zugehen, aber im Hintergrund steht schon die Maxime "res severa, verum gaudium".

Nach einer einführnden Darstellung der Algorithmenkonstruktion

  • als einer grundlegenden Teildisziplin der Informatik im Vorfeld von Programmierungstechnik und Softwaretechnologie,
  • zugleich aber auch als ein adäquates Übungsfeld für strategisches, taktisches, vernetztes und flexibles Denken
werden anhand anspruchsvoller Beispiel-Module Methoden, Herangehensweisen und Anregungen zum innovativen Arbeiten auf diesem Gebiet vermittelt.

Häufig wird dabei von dem konstruktiv sehr interessanten mathematischen Modell "deterministischer Automat" Gebrauch gemacht (z.B. bei der Konstruktion von Steuerungs- und Erkennungsalgorithmen).

Alle Module sind (und das macht das konzeptionelle Charakteristikum dieses Vorhabens aus) nach oben offen gestaltet und systematisch mit Anregungen für eine aktive Fortführung der Bearbeitung versehen, die, wenn möglich, bis an die Grenzen der gegenwärtigen terra cognita reichen; hier beginnt die ganz eigene Faszination des "Abenteuers Algorithmus".

Die erarbeiteten Algorithmen sollten i.a. implementiert werden, die erhaltenen Programme bilden jedoch nicht das "Ergebnis" der Bearbeitung eines Bausteins, sondern sind Grundlage für dessen obligaten Bestandteil "Experimentelle Arbeit" (detailliertes Studium der erhaltenen Algorithmen unter Benutzung geeigneter interaktiv gestalteter graphischer bzw. multimedialer Oberflächen; Verbesserung, Erweiterung, Modifikation im Dialog, ...).

Zur Auswahl stehen folgende Beispiel-Module:

  • Zum Algorithmusbegriff, Notierungssysteme für Algorithmen
  • Zur Geschichte der Mathematik und der Algorithmenkonstruktion, antike Algorithmen aus heutiger Sicht: sqrt(a), pythagoreische Tripel, π, a/3, ggT(a,b), Primzahlsieb, Lösen algebraischer Gleichungen
  • Algorithmen zur Berechnung mathematischerKonstanten (π, e, δ, ...)
  • Numerische Algorithmen
  • Algorithmen im Bereich der analytischen Geometrie, computational geometry
  • Matrizenalgorithmen zur Analyse und Synthese binärer Relationen, Verallgemeinerung und Anwendung in Informatik und Elektrotechnik
  • Suchalgorithmen, Selektionsalgorithmen
  • Sortieralgorithmen
  • Divide and conquer, Dynamische Programmierung, Greedy-Strategie
  • Data Mining Algorithmen
  • Algorithmen aus Informations- und Kommunikationstechnik
  • Bilderzeugungs-, Bildverarbeitungs- und Bilderkennungsalgorithmen
  • Prädiktionsalgorithmen
  • Anregungen für den Algorithmenkonstrukteur aus Natur- und Ingenieurwissenschaften
  • Deterministischer Automat als Notierungssystem und Konstruktionswerkzeugfür Algorithmen
  • Turingmaschine als Notierungssystem für Algorithmen
  • Spigot-Algorithmen
  • Wie kann man Algorithmen schneller machen? Tuning von Algorithmen
  • Probabilistische Algorithmen, heuristische Algorithmen, genetische Algorithmen

 
     
   
 

 III. Begabtenförderung

Das Projekt Begabtenförderung an der TU Dresden hat zum Ziel, begabten und motivierten SchülerInnen, zunächst der Dresdener Gymnasien Martin-Andersen-Nexö und St. Benno, frühzeitig, d.h., in den Jahrgangsstufen 11 und 12, den Zugang zu universitären Lehrveranstaltungen in den Studiengängen Informatik, Medieninformatik und Informationssystemtechnik zu ermöglichen.

Die SchülerInnen sollen dadurch schon weit vor Aufnahme eines solchen Studiums mit der Universität als Institution und mit universitärer Arbeitstechnik (einschließlich moderner Rechentechnik) vertraut gemacht werden.

Angeboten werden zunächst Informatik- und Mathematiklehrveranstaltungen des Grundstudiums.

Jahrgangsstufe

Lehrveranstaltung

SWS

Vorlesung

Übung

Ansprechpartner

11/I

Algorithmen und Datenstrukturen

2/2

-

-

-

Logik I

2/1

-

-

-

11/II

Programmierung

2/2

-

-

-

Logik II

1/1

-

-

-

12/I

Mathematik für Informatiker I

4/2

-

-

-

Softwaretechnologie

2/2

-

-

-

12/II

Mathematik II

2/2

-

-

-

Rechnerarchitektur

2/1

-

-

-

Die teilnehmenden Schüler können auch die zugehörigen regulären Prüfungen ablegen. Die Leistungsnachweise und die Ergebnisse bestandener Prüfungen werden im Falle der späteren Aufnahme eines Studiums in den vorgenannten Studiengängen an der TU Dresden anerkannt, sofern sie zum Zeitpunkt der Immatrikulation nicht länger als drei Jahre zurückliegen. Diese Studienergebnisse werden auch als Schulleistungen anerkannt, etwa im Grundkurs Informatik oder als besondere Lernleistung.

Im Idealfall soll dieses Engagement der SchülerInnen auch zu einer Verkürzung der Studienzeiten für besonders Begabte führen, in jedem Falle aber Freiräume während des Studiums (z.B. für Auslandsaufenthalte, Besuch zusätzlicher Lehrveranstaltungen, ...) bei Einhaltung der Regelstudienzeit schaffen.

Die Schüler sollen durch spezielle Übungen gezielt begleitet und gefördert werden. Alle Schüler werden zusätzlich durch einen Hochschullehrer speziell persönlich betreut, auch und gerade um bei persönlichen Problemen der Teilnehmer des Programms zur Seite stehen zukönnen.

Die teilnehmenden Schulen sollen durch besondere Maßnahmen einen leistungsfähigen Zugang zu den Rechnernetzen der Universität und damit zum Internet erhalten. Die technischen und rechtlichen Voraussetzungen für die Einrichtung einer Richtfunkstrecke versuchen wir zur Zeit zu schaffen.

Die Sommerschule Informatik soll zugleich auch einen Einstieg in das Projekt Begabtenförderung ermöglichen.


Aufgaben Begabtenförderung

Vollständige Aufgabensammlung alle Aufgaben [.ps]
Aufgabe 20 Aufgabe 20 [.ps]
Aufgabe 19 Aufgabe 19 [.ps]
Aufgabe 18 Aufgabe 18 [.ps]

... wird noch ergänzt!