Programmazione Funzionale e Parallela

Corso di Laurea in Ingegneria Informatica e Automatica - A.A. 2021-2022

Home | Avvisi | Diario lezioni | Esercitazioni | Materiale didattico | Esami | Valutazioni studenti

Informazioni generali

Le lezioni vengono tenute in modalità didattica in presenza 50% e a distanza 50% nel periodo compreso tra il 22 febbraio e il 28 maggio 2021 secondo il calendario delle lezioni del corso di laurea.
  • Orario:
    • lunedì 8:00-10:00, aule 15 [RM025-E01PTEL024] e 16 [RM025-E01PTEL019] laboratorio Via Tiburtina 205 (oppure solo aula 15)
    • mercoledì 16:00-19:00, aula 108 [RM021-P01008] edificio Marco Polo
  • Docente: Camil Demetrescu
  • Esercitatore: Luca Borzacchiello
  • Ricevimento studenti: su prenotazione per email al docente
  • Live streaming lezione: https://uniroma1.zoom.us/my/camil.demetrescu
  • Codice OPIS: XRY5RUZ2

  • 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

[ A.A. 2015-2016 | A.A. 2016-2017 | A.A. 2017-2018 | A.A. 2018-2019 | A.A. 2019-2020 ]

Valid XHTML 1.0 Transitional     Valid CSS!