Effiziente Programme
Offizieller Titel
185.190 Effiziente Programme (VU2)
Anrechnungen
Wahlfach für die Master-Studien "Software Engineering und Internet
Computing" und "Computational Intelligence".
Zeit
Anmeldung über TISS (Anmeldezeitraum siehe dort).
Vorlesungstermin: Do, 15:15-17:00 FAV Hörsaal 1 (Favoritenstrasse
9-11). Für ersten Termin
siehe TISS.
Vorlesungsteil beendet
Nach Ende des Vorlesungsteils ab 9.1.2020 Übungspräsentationen zum
gleichen Termin. Fuer den Termin am 16.1. hat sich niemand
angemeldet und er findet daher nicht statt. Die Termine am 9.1. und
am 23.1. finden statt.
Eventuell sind Sie auch an Stackbasierte
Sprachen interessiert, das am selben Ort anschliessend gehalten
wird.
Lehrziel
Nach positiver Absolvierung der Lehrveranstaltung sind Studierende in
der Lage, zu beurteilen, ob ein Programm effizient genug ist,
ineffiziente Teile zu ermitteln, und diese effizienter zu machen.
Inhalt
Ist Effizienz nötig, Arten von Effizienz, Spezifikation und
Effizienz, Design für Effizienz, die Rolle effizienter Algorithmen
(konstante Faktoren), Hardwarecharakteristik (Cache, Blockgrößen,
Register, Bandbreite), Mikrooptimierung, Werkzeuge.
Beurteilung
Abgabe eines effizienten Programmes mit Demonstration und Erklärung;
am schönsten wirkt die Demonstration, wenn es eine effiziente Version
eines anderen Programmes ist. Die Abgabe erfolgt im Rahmen einer
Präsentation vor den anderen Teilnehmern.
Aufgabenstellung und Terminvergabe
Abgabe-Directory
Wenn Sie Ihre Abgabe im Web veröffentlichen wollen (geht nicht in
die Beurteilung ein), legen Sie bitte mit Ihrem Account auf der g0 in
/nfs/unsafe/httpd/ftp/pub/anton/lvas/effizienz-abgaben/2019w ein
Directory an (das dürfen Sie, und nur Sie (und root) können es
dann entfernen) und legen Sie in diesem Directory die Programm-Sourcen
und ein bisschen Dokumentation ab. In der Dokumentation sollte
zumindest stehen, welche Aufgabenstellung bearbeitet wurde, wie man
die Programme aufruft (beim Standardbeispiel für dieses Semester
reicht ein Link), welche
Dateien zu welchen Programmversionen gehören, wieviel die
Optimierungen gebracht haben, und wer die Autoren sind; es ist
natürlich auch erlaubt, mehr zu schreiben, z.B. über
bemerkenswerte Features oder Programmiertechniken. Sinnvollerweise
schreibt man die Dokumentation oder einen Link darauf in eine Datei
HEADER.html, README.txt, oder index.html (je nach Namen ergibt das
unterschiedliche Effekte in der Web-Darstellung).
Frühere Abgaben
Unterlagen
Notizen (auf Anfrage auch als
Hardcopy erhältlich).
Vortragender/Betreuer
Anton Ertl