ID:
507289
Durata (ore):
56
CFU:
6
SSD:
INFORMATICA
Anno:
2024
Dati Generali
Periodo di attività
Primo Semestre (26/09/2024 - 15/01/2025)
Syllabus
Obiettivi Formativi
Scopo del corso è fornire allo studente i primi strumenti elementari, teorici e tecnici, per inquadrare correttamente la relazione fra matematica e la programmazione al calcolatore. Mediante le attività proposte si cercherà di sviluppare negli studenti la capacità di programmare alcuni algoritmi fondamentali (ad esempio, ricerca binaria e algoritmi di ordinamento), utilizzando le strutture dati appropriate (liste, insieme, dizionari). Come linguaggio di programmazione si utilizzerà Python.
Nella scelta degli esercizi di programmazione si cercherà di privilegiare quelli che permettono di stabilire delle connessioni con gli altri corsi del primo semestre (Analisi e algebra lineare), come ad esempio, algoritmi per l'applicazione del metodo di Newton per il calcolo della radice quadrata di numero o per il calcolo del determinate di matrici.
Nella scelta degli esercizi di programmazione si cercherà di privilegiare quelli che permettono di stabilire delle connessioni con gli altri corsi del primo semestre (Analisi e algebra lineare), come ad esempio, algoritmi per l'applicazione del metodo di Newton per il calcolo della radice quadrata di numero o per il calcolo del determinate di matrici.
Prerequisiti
Conoscenze di base nell'utilizzo del calcolatore.
Essendo un corso di base del primo anno e del primo semestre, non sono previsti prerequisiti di altri corsi universitari.
Essendo un corso di base del primo anno e del primo semestre, non sono previsti prerequisiti di altri corsi universitari.
Metodi didattici
Lezioni ed esercitazioni pratiche, entrambe al calcolatore.
Per la parte di lezione frontale, tutto il materiale usato a lezione dal docente sarà reso disponibile agli studenti usando KIRO, il moodle di ateneo.
Per le esercitazioni di laboratorio, le soluzioni degli esercizi proposti in aula sarà resa disponibile dopo due settimane, in modo di poter dare agli studenti di maturare in modo autonomo delle soluzioni. Al termine del corso tutte le soluzioni delle esercitazioni saranno rese disponibili agli studenti su KIRO.
Per la parte di lezione frontale, tutto il materiale usato a lezione dal docente sarà reso disponibile agli studenti usando KIRO, il moodle di ateneo.
Per le esercitazioni di laboratorio, le soluzioni degli esercizi proposti in aula sarà resa disponibile dopo due settimane, in modo di poter dare agli studenti di maturare in modo autonomo delle soluzioni. Al termine del corso tutte le soluzioni delle esercitazioni saranno rese disponibili agli studenti su KIRO.
Verifica Apprendimento
Prova pratica di programmazione al calcolatore (ovvero, prova di "live coding" su un sistema Linux usando i computer del laboratorio informatico).
Il voto sarà dato in trentesimi. Durante l'esame verranno proposti in media 10 esercizi, e per ogni esercizio sarà noto il punteggio. La somma dei punti disponibili sarà pari a 31.
Durata: 2.5 ore (150 minuti)
Il voto sarà dato in trentesimi. Durante l'esame verranno proposti in media 10 esercizi, e per ogni esercizio sarà noto il punteggio. La somma dei punti disponibili sarà pari a 31.
Durata: 2.5 ore (150 minuti)
Testi
Dispense distribuite dal docente e reperibili dal sito web del corso accessibile su KIRO, il moodle di ateneo.
Testo complementare consigliato:
- Introduction to Computation and Programming Using Python - With Application to Understanding Data, by John V. Guttag. MIT Press (second edition)
Testo complementare consigliato:
- Introduction to Computation and Programming Using Python - With Application to Understanding Data, by John V. Guttag. MIT Press (second edition)
Contenuti
Introduzione al concetto di elaborazione automatica, rappresentazione dei numeri in un calcolatore (numeri floating-point), round-off error, propagazione degli errori e relativi esempi. Illustrazione dell’ambiente di sviluppo di Python:
- comandi general purpose
- gestione delle variabili, utilizzo di liste e funzioni builtins
- operatori logici e di relazione
- istruzioni di controllo, costrutto if-then-else
- lettura e scrittura di file CSV
- Introduzione alla programmazione funzionale (funzioni e ricorsione)
- Costruzione di successioni numeriche e relativi grafici
- Introduzione alla funzione procedurale
- Risoluzione di alcuni problemi fondamentali di ottimizzazione (problema di zaino, problema di cammino minimo, problema del commesso viaggiatore)
- comandi general purpose
- gestione delle variabili, utilizzo di liste e funzioni builtins
- operatori logici e di relazione
- istruzioni di controllo, costrutto if-then-else
- lettura e scrittura di file CSV
- Introduzione alla programmazione funzionale (funzioni e ricorsione)
- Costruzione di successioni numeriche e relativi grafici
- Introduzione alla funzione procedurale
- Risoluzione di alcuni problemi fondamentali di ottimizzazione (problema di zaino, problema di cammino minimo, problema del commesso viaggiatore)
Lingua Insegnamento
Italiano
Altre informazioni
Il corso sarà affiancato da una attività di tutorato (facoltativa) tenute da studenti della magistrale o di dottorato.
Corsi
Corsi
MATEMATICA
Laurea
3 anni
No Results Found
Persone
Persone
No Results Found