Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/wikka.php on line 315
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/libs/Wakka.class.php on line 176
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/libs/Wakka.class.php on line 463
Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/demetres/public_html/didattica/ae2008/wikka.php on line 120
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/safehtml.php on line 308
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/HTMLSax.php on line 159
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/HTMLSax.php on line 161
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/HTMLSax.php on line 162
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/HTMLSax.php on line 163
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/HTMLSax.php on line 165
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/HTMLSax.php on line 166
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/HTMLSax.php on line 167
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/HTMLSax.php on line 243
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/HTMLSax.php on line 250
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/HTMLSax.php on line 259
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/HTMLSax.php on line 266
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/HTMLSax.php on line 273
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/HTMLSax.php on line 280
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/HTMLSax.php on line 467
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/HTMLSax.php on line 469
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae2008/3rdparty/core/safehtml/classes/HTMLSax.php on line 471
Informazioni generali
Le lezioni vengono tenute nel 2° trimestre nel periodo compreso tra il 14 Gennaio e il 15 Marzo 2008 nell'aula 23 della sede di Via Eudossiana 18 secondo il seguente orario:
Lunedi: 10:15-11:45 |
Martedi: 12:00-13:30 |
Mercoledi: 12:00-13:30
Docente:
Camil Demetrescu∞
Obiettivi
L'obiettivo del corso è quello di approfondire aspetti prestazionali legati allo sviluppo del software, coniugando il progetto e l'analisi teorica di algoritmi e strutture dati efficienti con la loro effettiva codifica in un linguaggio di programmazione reale e la loro validazione sperimentale. Il corso affronterà sia aspetti teorici che implementativi.
Esempi di domande che verranno affrontate nel corso includono:
- Quali guadagni prestazionali si possono ottenere in pratica utilizzando algoritmi teoreticamente efficienti? Fino a che punto l'analisi teorica può predire accuratamente il comportamento di un algoritmo in un contesto reale?
- Come catturare in un modello di costo teorico aspetti architetturali complessi quali la presenza di memorie gerarchiche? Come progettare algoritmi efficienti in questi modelli?
- Che influenza hanno le cache nelle prestazioni di codice algoritmico e come trarne vantaggio? Come processare efficientemente grandi moli di dati che non entrano in memoria centrale?
- Come ottenere il massimo delle prestazioni dall'implementazione di un algoritmo? Che impatto può avere la scelta del linguaggio di programmazione? Ad esempio, un algoritmo implementato in Java è più lento di uno implementato in C?
- Come analizzare sperimentalmente algoritmi e identificare quello più adatto per una specifica applicazione? Quali lezioni è possibile trarre dagli esperimenti e quali rischi di trarre conclusioni errate si corrono?
- Come progettare e usare una libreria di algoritmi e strutture dati coniugando ottimizzazione dell'uso delle risorse, modularità, incapsulamento e genericità?
Prerequisiti
Linguaggi di programmazione Java e C. Tecniche di programmazione. Algoritmi e strutture dati. Analisi matematica. Calcolo delle probabilità. Architetture dei calcolatori elettronici.