Laurea magistrale in Mathematics

Mathematical methods for computer science

Codice insegnamento
4S001438
Docente
Ugo Solitro
Coordinatore
Ugo Solitro
crediti
6
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Inglese
Periodo
I semestre dal 1-ott-2019 al 31-gen-2020.

Orario lezioni

Vai all'orario delle lezioni

Obiettivi formativi

Obiettivo del corso è lo studio dei fondamenti degli algoritmi, dei linguaggi di programmazione e dei paradigmi in una prospettiva didattica e applicativa. Si analizzeranno, progetteranno e svilupperanno metodologie per l’insegnamento e l’apprendimento dell’informatica come disciplina scientifica in generale e l’utilizzo dei linguaggi di programmazione. Si esamineranno tecniche di risoluzione costruttiva dei problemi e le metodologie cooperative di sviluppo. A conclusione del corso lo studente avrà acquisito - dimestichezza con i principi fondamentali dei diversi linguaggi; - confidenza con i diversi stili di programmazione; - conoscenza di almeno due linguaggi di programmazione; - capacità di affrontare un qualunque linguaggio di programmazione o ambiente per lo sviluppo di soluzioni; - abilità a utilizzare le conoscenze e le abilità conseguite sia in ambito didattico che applicativo.

Programma

CONTENUTI

Il corso sviluppa alcuni temi fondamentali dell’informatica, lo sviluppo e la codifica delle soluzioni, i linguaggi e i paradigmi, specie in rapporto con la matematica.

Durante lo svolgimento del corso saranno trattati i temi e le attività descritti qui di seguito.

- Sistemi di computazione effettiva e algoritmi: macchine astratte, funzioni computabili e ricorsive, sistemi di riscrittura, modelli funzionali e orientati agli oggetti.
- Logica, tipi e linguaggi.
- Paradigmi di programmazione: imperativo, funzionale, funzionale, ad oggetti e (cenni) logico.
- Fondamenti della programmazione orientata agli oggetti.
- Introduzione ad alcuni linguaggi di programmazione paradigmatici
- Sviluppo di progetti e attività di interesse matematico, formativo e/o applicativo.

MODALITÀ DIDATTICA

L'attività didattica si svolgerà secondo due distinte modalità.

- Presentazione e studio degli argomenti sopra elencati.
- Sviluppo di attività e progetti in relazione con gli argomenti trattati.

Le attività di approfondimento e di progetto (anche pratico) potranno enfatizzare gli aspetti educativi, teorici o applicativi secondo l'orientamento degli studi dei singoli studenti.

(ultimo aggiornamento: 26/09/2018)

Testi di riferimento
Autore Titolo Casa editrice Anno ISBN Note
O. Hazzan, T. Lapidot, N. Ragonis Guide to Teaching Computer Science (Edizione 2) Springer 2015 978-1-4471-6629-0
Mirabel Fernandez Models of Computation: An Introduction to Computability Theory Springer Verlag 2009 9781848824348

Modalità d'esame

L'esame finale consiste di norma di una prova scritto e un colloquio orale.

La prova scritta comprende domande generali ed esercizi.

Il colloquio orale riguarda l'elaborato scritto, l'attività svolta e gli argomenti del corso.

L'ammissione al colloquio orale è condizionata dal superamento della prova scritta.

La prova scritta può essere parzialmente sostituita da prove parziali o lo sviluppo progetti e attività concordati con il docente.

Il candidato dovrà mostrare di aver conseguito le seguenti conoscenze e abilità.

- Comprendere i principi fondamentali dei linguaggi di programmazione e dei paradigmi, e i fondamenti matematici dei linguaggi di programmazione;
- Essere in grado di utilizzare efficacemente un linguaggio di programmazione, discuterne i principi e i problemi con particolare riferimento ai contenuti del corso;
- Saper utilizzare le conoscenze acquisite nelle applicazioni e/o in un ambito educativo.





© 2002 - 2019  Università degli studi di Verona
Via dell'Artigliere 8, 37129 Verona  |  P. I.V.A. 01541040232  |  C. FISCALE 93009870234