Il corso si prefigge di fornire i concetti di base comuni ai diversi linguaggi di programmazione per poi concentrarsi sull’implementazione di una serie di algoritmi scritti in ambiente Matlab. Verranno inoltre forniti gli elementi di base per scrivere simulazioni Montecarlo e per condurre un’analisi dei dati in autonomia. Queste sono competenze cruciali nel percorso formativo dello studente e che verranno arricchite e rafforzate dai corsi di probabilità e statistica oltre che dai diversi laboratori previsti nei semestri ed anni successivi.
Acquisiti i concetti di base della programmazione, gli studenti saranno in grado di: - Implementare semplici algoritmi di calcolo numerico - Identificare i bug all’interno del proprio codice - Scrivere semplici simulazioni Montecarlo - Decidere il metodo ottimale per la visualizzazione dei risultati - Confrontare i dati o il risultato delle simulazioni con i modelli fisici attesi
Prerequisiti
Non sono previsti prerequisiti
Metodi didattici
Dopo qualche lezione frontale in cui verranno introdotti i concetti di base della programmazione e l’ambiente software utilizzato in laboratorio (Matlab), gli studenti si confronteranno con una serie di esercizi atti a mettere in pratica e rafforzare le conoscenze acquisite.
Le lezioni sono generalmente strutturate in tre fasi: - Lezione frontale: il docente introduce i nuovi concetti utilizzando sia la lavagna che le slide - Attività di laboratorio: gli studenti sono incentivati a mettere in pratica quanto appreso scrivendo il proprio codice in classe sui PC dell’aula informatica. - Discussione dei risultati: il docente incoraggia un’analisi critica degli algoritmi implementati, del codice scritto o dei risultati ottenuti.
Verifica Apprendimento
La modalità di apprendimento si svolge in due fasi: - Prova pratica: lo studente ha 2-3h di tempo per scrivere tre algoritmi che toccano la maggior parte degli argomenti trattati a lezione. Sulla base del codice scritto, il docente valuterà chi ammettere all’orale. A ciascun algoritmo è assegnato un punteggio massimo di 10/30. - Orale: allo studente sarà chiesto di commentare in maniera esaustiva il codice scritto, eventuali errori commessi e la strategia utilizzata all’interno degli algoritmi. L’esame si conclude con l’analisi dei risultati ottenuti. L'orale serve a consolidare il voto assegnato alla prova pratica.
Contenuti
Il corso fornisce i concetti di base della programmazione ed il calcolo numerico. Di seguito sono elencati i principali argomenti: 1) Fondamenti di programmazione, le strutture di controllo, le funzioni e la gestione dei file 2) Gestione e rappresentazioni dei dati. 3) Processi iterativi e ricorsivi, algoritmi, generatori di numeri casuali e metodi Montecarlo 4) Introduzione all’analisi dei dati
Lingua Insegnamento
Italiano
Altre informazioni
Per richiedere un colloquio, si prega di contattare il docente tramite indirizzo e-mail: - Prof Romualdo Santoro , e-mail: romualdo.santoro@uninsubria.it