Informazioni generali A.A. 2015-2016
Le lezioni vengono tenute nel periodo compreso tra il 28 febbraio e il 22 dicembre 2015.
- Orario: mercoledì 17:30-19:00 in aula 4 della ex caserma Sani e venerdì 14:15-17:15 in aula 16 del Laboratorio Didattico di via Tiburtina 205 (orari)
- Docente: Camil Demetrescu
- Ricevimento studenti: dopo l'esercitazione del venerdì in aula 16 durante il corso, poi su appuntamento (si prega di prenotarsi in ogni caso scrivendo una email al docente)
- Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
- -- Rick Osborne
Obiettivi
L'obiettivo principale del corso è quello di migliorare le proprie capacità di programmazione assimilando i princìpi di base della programmazione funzionale e imparando ad applicarli per scrivere codice elegante, modulare, riusabile, e più efficacemente parallelizzabile. I concetti verranno esposti usando principalmente il linguaggio Scala, ma verranno messi in prospettiva in modo da essere fruibili anche programmando in altri linguaggi. Nella seconda parte del corso viene affrontata la programmazione in vari modelli di calcolo per le moderne architetture multi-core: vettorizzazione SSE/AVX su piattaforme x86-64, multi-threading e programmazione GPU in OpenCL.
Prerequisiti: conoscenza dei princìpi della programmazione imperativa e orientata agli oggetti, in particolare usando i linguaggi Java, C e Python