Dr. D. Komm, Dr. T. Kohn, Dr. J. Závodný

Clevere Algorithmen programmieren

Kontakt

Inhalt

Wir besprechen Ansätze, um effiziente Algorithmen für verschiedene konkrete Berechnungsprobleme zu entwickeln und analysieren deren Laufzeit. Hierbei achten wir vor allem auf eine Verknüpfung von Theorie und praktischer Implementierung in Python und C++.

Termine

Die Kurse beginnen jeweils um 18:00 Uhr und gehen ca. 90 Minuten.

Datum Ort Inhalt
13.09.2017 ETH Zürich, ETH-Hauptgebäude HG F 33.1 Kurs-Beginn, Primzahltests
20.09.2017 ETH Zürich, ETH-Hauptgebäude HG F 33.1 Addition grosser Zahlen
27.09.2017 ETH Zürich, ETH-Hauptgebäude HG F 33.5 Multiplikation grosser Zahlen
12.10.2017 ETH Zürich, ETH-Hauptgebäude HG F 26.1 Potenzieren und Wurzelziehen grosser Zahlen, Nim-Spiele
18.10.2017 ETH Zürich, ETH-Hauptgebäude HG F 26.3 Cäsar-Verschlüsselung
25.10.2017 ETH Zürich, ETH-Hauptgebäude HG F 26.3 Stacks und Queues
01.11.2017 ETH Zürich, ETH-Hauptgebäude HG F 33.1 Kombinatorik und Rekursion 1
08.11.2017 ETH Zürich, ETH-Hauptgebäude HG F 33.1 Kombinatorik und Rekursion 2
15.11.2017 ETH Zürich, ETH-Hauptgebäude HG F 33.1 Matrizen und Zahlenbilder
22.11.2017 ETH Zürich, ETH-Hauptgebäude HG F 26.3 Labyrinthe durchsuchen 1
29.11.2017 ETH Zürich, ETH-Hauptgebäude HG F 26.3 Labyrinthe durchsuchen 2
06.12.2017
ETH Zürich, ETH-Hauptgebäude HG F 26.3 Berechenbarkeit
17.01.2018 ETH Zürich, ETH-Hauptgebäude HG G 26.3 tba
24.01.2018 ETH Zürich, ETH-Hauptgebäude HG F 26.3 tba
31.01.2018 ETH Zürich, ETH-Hauptgebäude HG F 26.3 tba

Material

Slides

Python-Programme

Labyrinthe

Kryptografie

Zufallsstrings

Ein Perl-Skript, das Zufallsstrings der Länge n mit Zahlen zwischen 0 und m erstellt mit ./gen.pl n m. Dateien mit Zufallszahlen (Einbinden mit eingabe = inputFromFile("1000x10.txt") etc.).