====== Programmazione Funzionale ======
----
**Le lezioni sono erogate esclusivamente con WebEx. Se vi sono problemi di connettività con WebEx in alternativa si userà Google Meet collegandosi alla sessione con nickname RosarioCulmone**
**Controllare nelle slides messe a disposizione della cartella Google condivisa la data di edizione (prima pagina). Le slides vengono aggiornate per correggere errori, aggiungere esempi, migliorarne i contenuti.**
----
===== Informazioni Generali =====
**Docente**:
* [[http://www.cs.unicam.it/culmone/|Rosario Culmone]]
**Link ESSE3**
* [[https://didattica.unicam.it/Guide/PaginaADErogata.do?ad_er_id=2019*N0*N0*S2*15162*9996&ANNO_ACCADEMICO=2019&mostra_percorsi=S]]
**Orario delle Lezioni**:
* martedì dalle ore 14 alle ore 16
* giovedì dalle ore 11 alle ore 13
**Ricevimento studenti**:
* Previo invio richiesta con posta elettronica
----
===== Obiettivi del Corso =====
* Conoscere i concetti fondamentali del paradigma funzionale
* Imparare i costrutti principali dei linguaggi di programmazione funzionali
* Essere capaci di realizzare programmi applicando il modello di programmazione funzionale
* Essere capaci di utilizzare gli strumenti per la programmazione funzionale
----
===== Contenuti del Corso =====
* Storia del modello di calcolo funzionale
* Lambda calcolo
* Il linguaggio LISP
* Il linguaggio LUA
* Funtori, applicazioni e monadi
* Coroutine
* Promise
* Programmazione ricorsiva
* Algoritmi e strutture dati per la programmazione ricorsiva
===== Materiale =====
**Slide del Corso e altro materiale didattico su**
* [[https://drive.google.com/open?id=1D_PWnhDoCJ_AVFJdmh-1gDyabsKGX61X|Google Drive]]
* L'accesso è consentito con le credenziali di posta elettronica istituzionale
* Consiglio l'uso di ZeroBraneStudio [[https://studio.zerobrane.com]] come ambiente di sviluppo per la presenza di una valida modalità di esecuzione in debug. Tuttavia qualsiasi altro strumento è accettato.
----
===== Videoregistrazioni =====
* Sala riunioni personale di Rosario Culmone-20200310 1306-1
https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/f917fb01e007436abd893e0472f44789
* Sala riunioni personale di Rosario Culmone-20200310 1317-1
https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/41f7d5894ad54185b0014d5fa33ea9c9
* Sala riunioni personale di Rosario Culmone-20200310 1324-1
https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/2056f40c0adc4212b95d9706684e2534
* Sala riunioni personale di Rosario Culmone-20200310 1348-1
https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/8e89e0bd732a4cbca1ea0b8ebd751900
* Sala riunioni personale di Rosario Culmone-20200312 1002-1
https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/a29724750bac46dd9f82d3b39ab22157
* Sala riunioni personale di Rosario Culmone-20200317 1305-1
https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/f4fb6854b2384155ba23099ac228bcaf
* Sala riunioni personale di Rosario Culmone-20200319 1010-1
https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/445a42f51a134d92bbc9843dd8b06800
* Sala riunioni personale di Rosario Culmone-20200324 1304-1
https://unicam.webex.com/recordingservice/sites/unicam/recording/playback/6e7e82256c714591a9affa9b6355c749
* Google meet 2/4/2020
https://drive.google.com/file/d/1O9I8Jf_G3sKt7i2tFtjFFl5Tu1zIz_O5/view?usp=sharing
* Google meet 7/4/2020
https://drive.google.com/file/d/1_XRJJfcTYipWLCWqqwHq_XmYE2zoT5IO/view?usp=sharing
* Google meet 9/4/2020
https://drive.google.com/file/d/1BelayaUJALRDMuF4PYMIuhPsnYC8po0z/view?usp=sharing
* Google meet 14/4/2020
https://drive.google.com/file/d/1FL6HagKjmvDlt9OvlxLLRvB4r26Ktjnl/view?usp=sharing
* Google meet 16/4/2020
https://drive.google.com/file/d/1A19TV0tukG-CkEulkq77cBR26x8VegCp/view?usp=sharing
* Google meet 21/4/2020
https://drive.google.com/file/d/1nrEpkxM97GzmCamGAM7Y0RzLquAthGMQ/view?usp=sharing
* Google meet 23/4/2020
https://drive.google.com/file/d/1oxmJMrDLOgrssirmIzfDpz5PIWZ4SFOi/view?usp=sharing
* Google meet 28/4/2020
https://drive.google.com/file/d/1CHpZen-W99DISi46ednELH65bL31rYlm/view?usp=sharing
* Google meet 5/5/2020
https://drive.google.com/file/d/13OHF_cXvpqZNEk3gRfd6mccpYmeeWj0P/view?usp=sharing
* Google meet 7/5/2020
https://drive.google.com/file/d/16gh54BMe89yJpkFvvOP-03q-AAQ2XcPs/view?usp=sharing
* Google meet 12/5/2020
https://drive.google.com/file/d/1RTusPdyOpJT9gC39cP9xQ5K2rXNVgyFt/view?usp=sharing
* Google meet 14/5/2020
https://drive.google.com/file/d/1zMHbRK0rWgOo0r2zew78Kfn5x4ofF1Ex/view?usp=sharing
* Google meet 19/5/2020
https://drive.google.com/file/d/1q6Sr__MaidKCaBTRUk228z9PMdhtTXxO/view?usp=sharing
* Google meet 21/5/2020
https://drive.google.com/file/d/1nQ8X_Z6asOPr5B1cvS6AJ1u_i9Xeo8_h/view?usp=sharing