Informazioni generali
Le lezioni vengono tenute nel periodo compreso tra il 25 settembre e il 21 dicembre 2017.
- Orario provvisorio (sito corso di laurea):
- mercoledì 12:00-13:30 in aula 8, via Eudossiana 18 (90 minuti netti di lezione, slot unico 12:00-13.30)
- giovedì 13:30-16:00 in aula 11, via Eudossiana 18 (130 minuti netti di lezione, due slot 13:30-14:35 e 14:45-15:50, pausa intermedia di 10 minuti)
- Docente: Camil Demetrescu
- Ricevimento studenti: da concordare a lezione (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
[
Home A.A. 2015-2016 |
Home A.A. 2016-2017 ]