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, 14:15-16:00 online, beginnend mit dem 8.10.2020. Der Link wird Ihnen am Vormittag des 8.10. zugeschickt, wenn Sie sich angemeldet haben. Vorlesungsteil beendet

Nach Ende des Vorlesungsteils ab 7.1.2021 Übungspräsentationen zum gleichen Termin.

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/2020w 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