Corsi di Laurea Corsi di Laurea Magistrale Corsi di Laurea Magistrale
a Ciclo Unico
Scuola di Scienze
INFORMATICA
Insegnamento
FUNCTIONAL LANGUAGES
SCP6076299, A.A. 2017/18

Informazioni valide per gli studenti immatricolati nell'A.A. 2017/18

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea magistrale in
INFORMATICA
SC1176, ordinamento 2014/15, A.A. 2017/18
N0
porta questa
pagina con te
Crediti formativi 6.0
Tipo di valutazione Voto
Denominazione inglese FUNCTIONAL LANGUAGES
Sito della struttura didattica http://informatica.scienze.unipd.it/2017/laurea_magistrale
Dipartimento di riferimento Dipartimento di Matematica
Obbligo di frequenza No
Lingua di erogazione INGLESE
Sede PADOVA
Corso singolo È possibile iscriversi all'insegnamento come corso singolo
Corso a libera scelta È possibile utilizzare l'insegnamento come corso a libera scelta

Docenti
Responsabile GILBERTO FILE' INF/01

Dettaglio crediti formativi
Tipologia Ambito Disciplinare Settore Scientifico-Disciplinare Crediti
CARATTERIZZANTE Discipline Informatiche INF/01 6.0

Modalità di erogazione
Periodo di erogazione Primo semestre
Anno di corso I Anno
Modalità di erogazione frontale

Organizzazione della didattica
Tipo ore Crediti Ore di
Corso
Ore Studio
Individuale
Turni
LABORATORIO 1.0 10 15.0 Nessun turno
LEZIONE 5.0 40 85.0 Nessun turno

Calendario
Inizio attività didattiche 02/10/2017
Fine attività didattiche 19/01/2018

Commissioni d'esame
Nessuna commissione d'esame definita

Syllabus
Prerequisiti: Programmazione imperativa ed orientata agli oggetti
Conoscenze e abilita' da acquisire: Apprezzare il paradigma funzionale di programmazione. In particolare viene studiato il linguaggio Haskell. Gli studenti imparano ad apprezzare l'importanza dei tipi come fondamentale mezzo per scoprire gli errori e imparano concetti quali il polimorfismo parametrico e la valutazione lazy. Imparano anche a capire la gestione run time dei programmi.
Modalita' di esame: L'esame consiste di una parte scritta e di una orale che contano ciascuna per il 50% del voto. L'esame scritto è sulle nozioni generali insegnate nel corso, mentre la parte orale è una discussione su esercizi per casa assegnati durante il corso.
Criteri di valutazione: L'esame mira a valutare il grado di comprensione raggiunto dagli studenti dei concetti insegnati e la capacità di usare questi concetti per affrontare problemi relativi alla programmazione ed ai linguaggi di programmazione.
Contenuti: Vengono insegnati due linguaggi funzionali : ML e soprattutto Haskell.
Pattern matching;
Curryficazione e funzioni di ordine superiore;
Inferenza di tipo: cos'è e come viene fatta;
Polimorfismo;
Lazy evaluation;
Funtori, funtori applicativi e monadi;
Eccezioni e I/O;
Supporto run-time.
Attivita' di apprendimento previste e metodologie di insegnamento: Il corso consiste di circa 40 ore di lezione frontale.
Oltre a queste lezioni, almeno 8 ore sono riservate ad esercizi proposti agli studenti in classe e che, dopo un tempo di riflessione da parte degli studenti, vengono discussi col docente. Ogni settimana vengono assegnati alcuni esercizi per casa che verranno discussi durante l'esame orale.
Eventuali indicazioni sui materiali di studio: Real World Haskell
by Bryan O'Sullivan, Don Stewart, and John Goerzen
O'Reilly Editor
disponibile gratuitamente all'indirizzo: http://book.realworldhaskell.org/
Testi di riferimento:
  • Bryan O'Sullivan, Don Stewart, and John Goerzen, Real World Haskell. --: --, --. Cerca nel catalogo