Differenze tra le versioni di "Programmazione funzionale 2012/2013"

Da WikiDsy.
(Diario del corso)
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
Riga 33: Riga 33:
 
=== Testi ===
 
=== Testi ===
  
'''Functional Programming using F# , Michael R. Hansen and Hans Rischel''', il libro non è ancora disponibile, il professore provvederà a lasciare il draft in fotocopisteria disponibile per chi lo voglia fotocopiare (quale fotocopisteria ed eventuale prezzo verrà inserito appena ci sarà detto).
+
'''Functional Programming using F# , Michael R. Hansen and Hans Rischel''', il libro non è ancora disponibile, il professore ha lasciato il draft del libro da fotocopiare per chi vuole alla '''fotocopisteria in Viale Umbria, 56''', per raggiungerla basta arrivare in fondo a via Comelico, attraversare la strada, e li di fianco al bar si trova il negozio.
  
 
=== Altro materiale di riferimento ===
 
=== Altro materiale di riferimento ===
Riga 58: Riga 58:
 
* Confronto con la programmazione ad oggetti (java).
 
* Confronto con la programmazione ad oggetti (java).
 
* Storia della programmazione funzionale.
 
* Storia della programmazione funzionale.
 +
 +
=== Lezione 2 - 07.03.2013 ===
 +
 +
* Presentazione degli strumenti di visual studio per interagire con F#
 +
** Scrittura di programmi sull'interprete e su file, passaggio da file all'interprete
 +
* Presentazione della sintassi generale del linguaggio, comando "let"
 +
* Funzioni in F#, differenti dalle funzioni tipiche degli altri linguaggi
 +
* Tipi di dati, int, float, string, tuple
 +
* Esercizi vari sulle basi del linguaggio
 +
* Sul [http://cooml.dsi.unimi.it/fp/Lez02/esercizio.txt sito] è presente un esercizio che comprende un po' tutto, è stato svolto in classe.
 +
http://cooml.dsi.unimi.it/fp/Lez03/ric.txt
 +
 +
=== Lezione 3 - 13.03.2013 ===
 +
 +
* Concetto di binding (dare ad un variabile un valore)
 +
* Concetto di enviroment, ambiente di valutazione
 +
* Differenza tra light syntax e verbose syntax, [http://cooml.dsi.unimi.it/fp/Lez03/esempi.fs esempi esemplificativi]
 +
* Definizione di funzioni ricorsive, [http://cooml.dsi.unimi.it/fp/Lez03/ric.txt esercizi], [http://cooml.dsi.unimi.it/fp/Lez03/ric1.fs alcune soluzioni]

Versione attuale delle 20:29, 13 mar 2013


News

Prove in itinere

Informazioni generali

Il corso coprirà: ricorsione, strutture dati avanzate, sistemi di tipi, funzioni di ordine superiore, valutazione “eager” e “lazy”, programmazione senza effetti collaterali, ma anche imperativa e altro ancora. Verranno anche presentati i presupposti teorici della programmazione funzionale, in particolare il lambda calcolo e l'inferenza di tipo, al fine di migliorare la comprensione del paradigma. Il corso sarà basato sul linguaggio di programmazione funzionale F#, un moderno linguaggio funzionale creato da Microsoft Research, e membro della famiglia di linguaggi di programmazione .NET.

Docenti

Prof. Camillo Fiorentini / Prof. Alberto Momigliano

Corsi di laurea

Orari e luogo delle lezioni

  • Mercoledì - 14:15 : 17:00 Via Comelico, 39/41 LABORATORIO Sigma
  • Giovedì - 14:15 : 17:00 Via Comelico, 39/41 LABORATORIO Tau

Informazioni specifiche

Siti del corso

Forum del corso, e affini

Testi

Functional Programming using F# , Michael R. Hansen and Hans Rischel, il libro non è ancora disponibile, il professore ha lasciato il draft del libro da fotocopiare per chi vuole alla fotocopisteria in Viale Umbria, 56, per raggiungerla basta arrivare in fondo a via Comelico, attraversare la strada, e li di fianco al bar si trova il negozio.

Altro materiale di riferimento

Altro materiale in Internet

Diario del corso

Lezione 1 - 06.03.2013

  • Presentazione del corso.
  • Perché la programmazione funzionale, perché F#.
  • Confronto con la programmazione ad oggetti (java).
  • Storia della programmazione funzionale.

Lezione 2 - 07.03.2013

  • Presentazione degli strumenti di visual studio per interagire con F#
    • Scrittura di programmi sull'interprete e su file, passaggio da file all'interprete
  • Presentazione della sintassi generale del linguaggio, comando "let"
  • Funzioni in F#, differenti dalle funzioni tipiche degli altri linguaggi
  • Tipi di dati, int, float, string, tuple
  • Esercizi vari sulle basi del linguaggio
  • Sul sito è presente un esercizio che comprende un po' tutto, è stato svolto in classe.

http://cooml.dsi.unimi.it/fp/Lez03/ric.txt

Lezione 3 - 13.03.2013

  • Concetto di binding (dare ad un variabile un valore)
  • Concetto di enviroment, ambiente di valutazione
  • Differenza tra light syntax e verbose syntax, esempi esemplificativi
  • Definizione di funzioni ricorsive, esercizi, alcune soluzioni