Studiare
In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.
Piano Didattico
Il piano didattico è l'elenco degli insegnamenti e delle altre attività formative che devono essere sostenute nel corso della propria carriera universitaria.
Selezionare il piano didattico in base all'anno accademico di iscrizione.
1° Anno
Insegnamenti | Crediti | TAF | SSD |
---|
2° Anno Sarà attivato nell'A.A. 2025/2026
Insegnamenti | Crediti | TAF | SSD |
---|
Insegnamenti | Crediti | TAF | SSD |
---|
Insegnamenti | Crediti | TAF | SSD |
---|
1 module between the following:
- A.A. 2024/2025 Computational algebra not activated;
- A.A. 2025/2026 Homological Algebra not activated.
1 module between the following
3 modules among the following
Legenda | Tipo Attività Formativa (TAF)
TAF (Tipologia Attività Formativa) Tutti gli insegnamenti e le attività sono classificate in diversi tipi di attività formativa, indicati da una lettera.
Mathematical methods for computer science (2024/2025)
Codice insegnamento
4S001438
Docente
Coordinatore
Crediti
6
Lingua di erogazione
Inglese
Settore Scientifico Disciplinare (SSD)
INF/01 - INFORMATICA
Periodo
I semestre dal 1 ott 2024 al 31 gen 2025.
Corsi Singoli
Autorizzato
Obiettivi di apprendimento
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.
Prerequisiti e nozioni di base
Per la partecipazione alle attività del corso sono utili alcune specifiche conoscenze e abilità in ambito informatico e matematico:
- dimestichezza con l’uso del computer e, in particolare, con editor e terminale;
- conoscenza di almeno un linguaggio di programmazione;
- capacità di scrittura di codice in stile imperativo;
- elementi di logica e sistemi deduttivi.
Programma
Il corso tratta alcuni temi fondamentali dell’informatica, introduce alle metodologie per lo sviluppo e la codifica delle soluzioni, esplora i linguaggi e i paradigmi della programmazione.
In particolare, durante lo svolgimento del corso saranno sviluppati gli argomenti e le attività descritte qui di seguito.
- Algoritmi e Sistemi di Computazione effettiva:
- macchine astratte,
- funzioni computabili e ricorsive,
- sistemi di riscrittura,
- modelli computazionali specifici.
- Tipi, Logica e Strutture di Dati.
- Paradigmi della programmazione: imperativo, funzionale, funzionale, ad oggetti.
- Fondamenti della programmazione funzionale e orientata agli oggetti.
- Introduzione ad alcuni linguaggi di programmazione paradigmatici
- Sviluppo di progetti e attività di interesse educativo e/o applicativo.
Nello sviluppo del corso si affronteranno alcune metodologie didattiche e di apprendimento connesse agli argomenti indicati.
Bibliografia
Modalità didattiche
L'attività didattica si svilupperà in generale a partire da uno dei temi del corso come segue:
- introduzione al tema;
- approfondimento degli argomenti correlati e con discussione conseguente;
- preparazione di un’attività connessa al tema trattato;
- sviluppo dell’attività e
- presentazione della stessa con discussione finale.
Parte del lavoro potrà essere sviluppato autonomamente dagli studenti secondo la loro inclinazione e il risultato discusso con il docente e gli altri studenti.
Le attività di potranno enfatizzare gli aspetti educativi, fondazionali o applicativi secondo la natura del tema.
Le modalità di svolgimento delle attività didattiche, di studio e di sviluppo potranno subire variazioni in relazione alle necessità dell’insegnamento.
Modalità di verifica dell'apprendimento
L'esame finale consiste di norma in una prova scritto e un colloquio orale.
- La prova scritta riguarda gli argomenti sviluppati a lezione e comprende domande generali, esercizi e lo sviluppo di un tema.
- Il colloquio orale riguarda l'elaborato scritto, l'attività svolta e, in generale, 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 dallo sviluppo di attività concordati con il docente.
Criteri di valutazione
Il candidato dovrà mostrare di aver conseguito le seguenti conoscenze e abilità.
- Comprendere e saper utilizzare efficacemente i principi fondamentali dei linguaggi e dei paradigmi di programmazione.
- Conoscere i fondamenti matematici dei linguaggi di programmazione.
- Essere in grado di utilizzare almeno un linguaggio di programmazione, conoscerne gli aspetti fondamentali e i problemi rilevanti connessi al suo utilizzo.
- Saper utilizzare le conoscenze e le esperienze acquisite in un ambito applicativo e educativo.
Criteri di composizione del voto finale
Il voto finale è dato dalla media della valutazione dell’elaborato scritto e del colloquio finale.
Lingua dell'esame
english and italian