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