LABORATORIO DI FISICA COMPUTAZIONALE I

Obiettivi formativi

OBIETTIVI GENERALI: Il corso si pone come obiettivo principale quello di insegnare agli studenti l’uso del computer per la risoluzione di alcuni problemi fondamentali in fisica. Tale obiettivo viene raggiunto insegnando agli studenti alcuni elementi avanzati del linguaggio di programmazione C, insieme a diversi algoritmi che, sebbene semplici, sono di ampia applicabilità. Al termine del corso gli studenti avranno acquisito una conoscenza sufficientemente approfondita del linguaggio programmazione C e di altri strumenti operativi utili per l’analisi dei dati e la loro rappresentazione grafica. Avranno acquisito le capacità necessarie per risolvere con il computer problemi di fisica di media difficoltà, sapendo implementare autonomamente algoritmi di un certa complessità. OBIETTIVI SPECIFICI: A - Conoscenza e capacità di comprensione OF 1) Conoscere elementi avanzati di programmazione C (allocazione dinamica, struct, ricorsione) OF 2) Conoscere algoritmi di base ed avanzati per l’integrazione delle equazioni differenziali ordinarie, per la generazione dei numeri pseudo aleatori e per lo studio di semplici processi stocastici (random walk, gas reticolare e percolazione) OF 3) Comprendere un programma scritto in linguaggio C B – Capacità applicative OF 4) Essere in grado di implementare un algoritmo in linguaggio C OF 5) Saper risolvere con l’uso del computer problemi di fisica di media difficoltà che sono descritti da equazioni differenziali o da un semplice processo stocastico OF 6) Essere in grado di trovare gli errori in un programma scritto in linguaggio C (debugging) e saperli correggere OF 7) Essere in grado di eseguire, con strumenti informatici, semplici analisi dei dati, eseguendo medie e il calcolo dell’errore per misure indipendenti, e la loro rappresentazione grafica C - Autonomia di giudizio OF 8) Saper valutare autonomamente se un programma scritto in linguaggio C esegua correttamente un dato algoritmo e se tale implementazione sia efficiente D – Abilità nella comunicazione OF 9) Saper discutere le scelte effettuate nell’implementazione di un dato algoritmo in un programma scritto in linguaggio C OF 10) Saper presentare in forma scritta i risultati dello studio di un problema fisico effettuato grazie all’uso del computer E - Capacità di apprendere OF 11) Avere la capacità di consultare la descrizione di un nuovo algoritmo o comprendere un programma in linguaggio C scritto da altri

Canale 1
PAOLO PANI Scheda docente

Programmi - Frequenza - Esami

Programma
Maggiori informazioni: https://elearning.uniroma1.it/course/view.php?id=2315 La prima parte del corso è dedicata alla risoluzione numerica delle equazioni differenziali ordinarie e all’introduzione di elementi avanzati di programmazione C [15 ore circa]. Nella seconda parte del corso viene illustrata la generazione dei numeri pseudo aleatori e il loro uso nella simulazione di alcuni processi stocastici, che sono quindi studiati in dettaglio: random walk, gas reticolare e percolazione [15 ore circa]. Il corso prevede attività di laboratorio in cui gli studenti scrivono dei propri codici in linguaggio C per studiare i problemi discussi a lezione, implementando gli algoritmi descritti dal docente [30 ore circa].
Prerequisiti
E’ indispensabile conoscere le basi della programmazione in linguaggio C fornite nell'insegnamento di Laboratorio di Calcolo erogato nel primo anno della LT in Fisica E’ importante saper usare gli strumenti informatici di base, quali un editore di file per la scrittura dei programmi e un compilatore C E’ utile avere un computer con ambiente di lavoro di tipo Unix/Linux e saper effettuare in tale ambiente le operazioni di base (ad esempio il trasferimento di un file)
Testi di riferimento
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità insegnamento
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
Frequenza
Frequenza dei laboratorio obbligatoria (https://elearning.uniroma1.it/course/view.php?id=2315)
Modalità di esame
La valutazione degli studenti e la determinazione del loro voto finale si basa sui seguenti tre elementi con pesi simili: 1) la partecipazione ed il rendimento durante le esercitazioni di laboratorio, incluso la correttezza e la leggibilità dei programmi scritti, come anche la bontà delle analisi dei dati e la chiarezza delle rappresentazioni grafiche dei risultati; 2) la valutazione della prima prova in itinere che viene assegnata intorno alla metà del corso e viene di norma svolta autonomamente dagli studenti nell’arco di una settimana circa; 3) la valutazione della seconda prova in itinere che viene svolta verso la fine del corso in presenza presso i laboratori informatici della Sapienza. Il raggiungimento di una valutazione sufficiente in tutti e tre gli elementi qui elencati è condizione necessaria per poter accedere a qualsiasi appello di esame. Raggiungono una valutazione sufficiente nelle esercitazioni e nelle prove in itinere gli studenti che dimostrino di saper programmare in modo corretto gli algoritmi discussi nelle lezioni in aula, di saper identificare eventuali errori all’interno di un codice scritto in linguaggio C, di saper usare tali programmi per lo studio di un problema fisico, producendo una corretta analisi dati ed una valida presentazione grafica e discussione dei risultati ottenuti.
Bibliografia
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità di erogazione
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
PAOLO PANI Scheda docente

Programmi - Frequenza - Esami

Programma
Maggiori informazioni: https://elearning.uniroma1.it/course/view.php?id=2315 La prima parte del corso è dedicata alla risoluzione numerica delle equazioni differenziali ordinarie e all’introduzione di elementi avanzati di programmazione C [15 ore circa]. Nella seconda parte del corso viene illustrata la generazione dei numeri pseudo aleatori e il loro uso nella simulazione di alcuni processi stocastici, che sono quindi studiati in dettaglio: random walk, gas reticolare e percolazione [15 ore circa]. Il corso prevede attività di laboratorio in cui gli studenti scrivono dei propri codici in linguaggio C per studiare i problemi discussi a lezione, implementando gli algoritmi descritti dal docente [30 ore circa].
Prerequisiti
E’ indispensabile conoscere le basi della programmazione in linguaggio C fornite nell'insegnamento di Laboratorio di Calcolo erogato nel primo anno della LT in Fisica E’ importante saper usare gli strumenti informatici di base, quali un editore di file per la scrittura dei programmi e un compilatore C E’ utile avere un computer con ambiente di lavoro di tipo Unix/Linux e saper effettuare in tale ambiente le operazioni di base (ad esempio il trasferimento di un file)
Testi di riferimento
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità insegnamento
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
Frequenza
Frequenza dei laboratorio obbligatoria (https://elearning.uniroma1.it/course/view.php?id=2315)
Modalità di esame
La valutazione degli studenti e la determinazione del loro voto finale si basa sui seguenti tre elementi con pesi simili: 1) la partecipazione ed il rendimento durante le esercitazioni di laboratorio, incluso la correttezza e la leggibilità dei programmi scritti, come anche la bontà delle analisi dei dati e la chiarezza delle rappresentazioni grafiche dei risultati; 2) la valutazione della prima prova in itinere che viene assegnata intorno alla metà del corso e viene di norma svolta autonomamente dagli studenti nell’arco di una settimana circa; 3) la valutazione della seconda prova in itinere che viene svolta verso la fine del corso in presenza presso i laboratori informatici della Sapienza. Il raggiungimento di una valutazione sufficiente in tutti e tre gli elementi qui elencati è condizione necessaria per poter accedere a qualsiasi appello di esame. Raggiungono una valutazione sufficiente nelle esercitazioni e nelle prove in itinere gli studenti che dimostrino di saper programmare in modo corretto gli algoritmi discussi nelle lezioni in aula, di saper identificare eventuali errori all’interno di un codice scritto in linguaggio C, di saper usare tali programmi per lo studio di un problema fisico, producendo una corretta analisi dati ed una valida presentazione grafica e discussione dei risultati ottenuti.
Bibliografia
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità di erogazione
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
FRANCESCO MACHEDA Scheda docente

Programmi - Frequenza - Esami

Programma
Maggiori informazioni: https://elearning.uniroma1.it/course/view.php?id=2315 La prima parte del corso è dedicata alla risoluzione numerica delle equazioni differenziali ordinarie e all’introduzione di elementi avanzati di programmazione C [15 ore circa]. Nella seconda parte del corso viene illustrata la generazione dei numeri pseudo aleatori e il loro uso nella simulazione di alcuni processi stocastici, che sono quindi studiati in dettaglio: random walk, gas reticolare e percolazione [15 ore circa]. Il corso prevede attività di laboratorio in cui gli studenti scrivono dei propri codici in linguaggio C per studiare i problemi discussi a lezione, implementando gli algoritmi descritti dal docente [30 ore circa].
Prerequisiti
E’ indispensabile conoscere le basi della programmazione in linguaggio C fornite nell'insegnamento di Laboratorio di Calcolo erogato nel primo anno della LT in Fisica E’ importante saper usare gli strumenti informatici di base, quali un editore di file per la scrittura dei programmi e un compilatore C E’ utile avere un computer con ambiente di lavoro di tipo Unix/Linux e saper effettuare in tale ambiente le operazioni di base (ad esempio il trasferimento di un file)
Testi di riferimento
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità insegnamento
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
Frequenza
Frequenza dei laboratorio obbligatoria (https://elearning.uniroma1.it/course/view.php?id=2315)
Modalità di esame
La valutazione degli studenti e la determinazione del loro voto finale si basa sui seguenti tre elementi con pesi simili: 1) la partecipazione ed il rendimento durante le esercitazioni di laboratorio, incluso la correttezza e la leggibilità dei programmi scritti, come anche la bontà delle analisi dei dati e la chiarezza delle rappresentazioni grafiche dei risultati; 2) la valutazione della prima prova in itinere che viene assegnata intorno alla metà del corso e viene di norma svolta autonomamente dagli studenti nell’arco di una settimana circa; 3) la valutazione della seconda prova in itinere che viene svolta verso la fine del corso in presenza presso i laboratori informatici della Sapienza. Il raggiungimento di una valutazione sufficiente in tutti e tre gli elementi qui elencati è condizione necessaria per poter accedere a qualsiasi appello di esame. Raggiungono una valutazione sufficiente nelle esercitazioni e nelle prove in itinere gli studenti che dimostrino di saper programmare in modo corretto gli algoritmi discussi nelle lezioni in aula, di saper identificare eventuali errori all’interno di un codice scritto in linguaggio C, di saper usare tali programmi per lo studio di un problema fisico, producendo una corretta analisi dati ed una valida presentazione grafica e discussione dei risultati ottenuti.
Bibliografia
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità di erogazione
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
FRANCESCO MACHEDA Scheda docente
LORENZO CAPRINI Scheda docente

Programmi - Frequenza - Esami

Programma
Maggiori informazioni: https://elearning.uniroma1.it/course/view.php?id=2315 La prima parte del corso è dedicata alla risoluzione numerica delle equazioni differenziali ordinarie e all’introduzione di elementi avanzati di programmazione C [15 ore circa]. Nella seconda parte del corso viene illustrata la generazione dei numeri pseudo aleatori e il loro uso nella simulazione di alcuni processi stocastici, che sono quindi studiati in dettaglio: random walk, gas reticolare e percolazione [15 ore circa]. Il corso prevede attività di laboratorio in cui gli studenti scrivono dei propri codici in linguaggio C per studiare i problemi discussi a lezione, implementando gli algoritmi descritti dal docente [30 ore circa].
Prerequisiti
E’ indispensabile conoscere le basi della programmazione in linguaggio C fornite nell'insegnamento di Laboratorio di Calcolo erogato nel primo anno della LT in Fisica E’ importante saper usare gli strumenti informatici di base, quali un editore di file per la scrittura dei programmi e un compilatore C E’ utile avere un computer con ambiente di lavoro di tipo Unix/Linux e saper effettuare in tale ambiente le operazioni di base (ad esempio il trasferimento di un file)
Testi di riferimento
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità insegnamento
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
Frequenza
Frequenza dei laboratorio obbligatoria (https://elearning.uniroma1.it/course/view.php?id=2315)
Modalità di esame
La valutazione degli studenti e la determinazione del loro voto finale si basa sui seguenti tre elementi con pesi simili: 1) la partecipazione ed il rendimento durante le esercitazioni di laboratorio, incluso la correttezza e la leggibilità dei programmi scritti, come anche la bontà delle analisi dei dati e la chiarezza delle rappresentazioni grafiche dei risultati; 2) la valutazione della prima prova in itinere che viene assegnata intorno alla metà del corso e viene di norma svolta autonomamente dagli studenti nell’arco di una settimana circa; 3) la valutazione della seconda prova in itinere che viene svolta verso la fine del corso in presenza presso i laboratori informatici della Sapienza. Il raggiungimento di una valutazione sufficiente in tutti e tre gli elementi qui elencati è condizione necessaria per poter accedere a qualsiasi appello di esame. Raggiungono una valutazione sufficiente nelle esercitazioni e nelle prove in itinere gli studenti che dimostrino di saper programmare in modo corretto gli algoritmi discussi nelle lezioni in aula, di saper identificare eventuali errori all’interno di un codice scritto in linguaggio C, di saper usare tali programmi per lo studio di un problema fisico, producendo una corretta analisi dati ed una valida presentazione grafica e discussione dei risultati ottenuti.
Bibliografia
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità di erogazione
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
LORENZO CAPRINI Scheda docente

Programmi - Frequenza - Esami

Programma
La prima parte del corso è dedicata alla risoluzione numerica delle equazioni differenziali ordinarie e all’introduzione di elementi avanzati di programmazione C [15 ore circa]. Nella seconda parte del corso viene illustrata la generazione dei numeri pseudo aleatori e il loro uso nella simulazione di alcuni processi stocastici, che sono quindi studiati in dettaglio: random walk, gas reticolare e percolazione [15 ore circa]. Il corso prevede attività di laboratorio in cui gli studenti scrivono dei propri codici in linguaggio C per studiare i problemi discussi a lezione, implementando gli algoritmi descritti dal docente [30 ore circa].
Prerequisiti
E’ indispensabile conoscere le basi della programmazione in linguaggio C fornite nell’insegnamento di Laboratorio di Calcolo erogato nel primo anno della LT in Fisica E’ importante saper usare gli strumenti informatici di base, quali un editore di file per la scrittura dei programmi e un compilatore C E’ utile avere un computer con ambiente di lavoro di tipo Unix/Linux e saper effettuare in tale ambiente le operazioni di base (ad esempio il trasferimento di un file)
Testi di riferimento
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Frequenza
La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
Modalità di esame
La valutazione degli studenti e la determinazione del loro voto finale si basa sui seguenti tre elementi con pesi simili: 1) la partecipazione ed il rendimento durante le esercitazioni di laboratorio, incluso la correttezza e la leggibilità dei programmi scritti, come anche la bontà delle analisi dei dati e la chiarezza delle rappresentazioni grafiche dei risultati; 2) la valutazione della prima prova in itinere che viene assegnata intorno alla metà del corso e viene di norma svolta autonomamente dagli studenti nell’arco di una settimana circa; 3) la valutazione della seconda prova in itinere che viene svolta verso la fine del corso in presenza presso i laboratori informatici della Sapienza. Il raggiungimento di una valutazione sufficiente in tutti e tre gli elementi qui elencati è condizione necessaria per poter accedere a qualsiasi appello di esame. Raggiungono una valutazione sufficiente nelle esercitazioni e nelle prove in itinere gli studenti che dimostrino di saper programmare in modo corretto gli algoritmi discussi nelle lezioni in aula, di saper identificare eventuali errori all’interno di un codice scritto in linguaggio C, di saper usare tali programmi per lo studio di un problema fisico, producendo una corretta analisi dati ed una valida presentazione grafica e discussione dei risultati ottenuti.
Modalità di erogazione
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche.
Canale 2
FABIO LEONI Scheda docente

Programmi - Frequenza - Esami

Programma
Maggiori informazioni: https://elearning.uniroma1.it/course/view.php?id=2315 La prima parte del corso è dedicata alla risoluzione numerica delle equazioni differenziali ordinarie e all’introduzione di elementi avanzati di programmazione C [15 ore circa]. Nella seconda parte del corso viene illustrata la generazione dei numeri pseudo aleatori e il loro uso nella simulazione di alcuni processi stocastici, che sono quindi studiati in dettaglio: random walk, gas reticolare e percolazione [15 ore circa]. Il corso prevede attività di laboratorio in cui gli studenti scrivono dei propri codici in linguaggio C per studiare i problemi discussi a lezione, implementando gli algoritmi descritti dal docente [30 ore circa].
Prerequisiti
E’ indispensabile conoscere le basi della programmazione in linguaggio C fornite nell'insegnamento di Laboratorio di Calcolo erogato nel primo anno della LT in Fisica E’ importante saper usare gli strumenti informatici di base, quali un editore di file per la scrittura dei programmi e un compilatore C E’ utile avere un computer con ambiente di lavoro di tipo Unix/Linux e saper effettuare in tale ambiente le operazioni di base (ad esempio il trasferimento di un file)
Testi di riferimento
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità insegnamento
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
Frequenza
Frequenza dei laboratorio obbligatoria (https://elearning.uniroma1.it/course/view.php?id=2315)
Modalità di esame
La valutazione degli studenti e la determinazione del loro voto finale si basa sui seguenti tre elementi con pesi simili: 1) la partecipazione ed il rendimento durante le esercitazioni di laboratorio, incluso la correttezza e la leggibilità dei programmi scritti, come anche la bontà delle analisi dei dati e la chiarezza delle rappresentazioni grafiche dei risultati; 2) la valutazione della prima prova in itinere che viene assegnata intorno alla metà del corso e viene di norma svolta autonomamente dagli studenti nell’arco di una settimana circa; 3) la valutazione della seconda prova in itinere che viene svolta verso la fine del corso in presenza presso i laboratori informatici della Sapienza. Il raggiungimento di una valutazione sufficiente in tutti e tre gli elementi qui elencati è condizione necessaria per poter accedere a qualsiasi appello di esame. Raggiungono una valutazione sufficiente nelle esercitazioni e nelle prove in itinere gli studenti che dimostrino di saper programmare in modo corretto gli algoritmi discussi nelle lezioni in aula, di saper identificare eventuali errori all’interno di un codice scritto in linguaggio C, di saper usare tali programmi per lo studio di un problema fisico, producendo una corretta analisi dati ed una valida presentazione grafica e discussione dei risultati ottenuti.
Bibliografia
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità di erogazione
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
FABIO LEONI Scheda docente
CARLO MANCINI TERRACCIANO Scheda docente

Programmi - Frequenza - Esami

Programma
Maggiori informazioni: https://elearning.uniroma1.it/course/view.php?id=2315 La prima parte del corso è dedicata alla risoluzione numerica delle equazioni differenziali ordinarie e all’introduzione di elementi avanzati di programmazione C [15 ore circa]. Nella seconda parte del corso viene illustrata la generazione dei numeri pseudo aleatori e il loro uso nella simulazione di alcuni processi stocastici, che sono quindi studiati in dettaglio: random walk, gas reticolare e percolazione [15 ore circa]. Il corso prevede attività di laboratorio in cui gli studenti scrivono dei propri codici in linguaggio C per studiare i problemi discussi a lezione, implementando gli algoritmi descritti dal docente [30 ore circa].
Prerequisiti
E’ indispensabile conoscere le basi della programmazione in linguaggio C fornite nell'insegnamento di Laboratorio di Calcolo erogato nel primo anno della LT in Fisica E’ importante saper usare gli strumenti informatici di base, quali un editore di file per la scrittura dei programmi e un compilatore C E’ utile avere un computer con ambiente di lavoro di tipo Unix/Linux e saper effettuare in tale ambiente le operazioni di base (ad esempio il trasferimento di un file)
Testi di riferimento
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità insegnamento
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
Frequenza
Frequenza dei laboratorio obbligatoria (https://elearning.uniroma1.it/course/view.php?id=2315)
Modalità di esame
La valutazione degli studenti e la determinazione del loro voto finale si basa sui seguenti tre elementi con pesi simili: 1) la partecipazione ed il rendimento durante le esercitazioni di laboratorio, incluso la correttezza e la leggibilità dei programmi scritti, come anche la bontà delle analisi dei dati e la chiarezza delle rappresentazioni grafiche dei risultati; 2) la valutazione della prima prova in itinere che viene assegnata intorno alla metà del corso e viene di norma svolta autonomamente dagli studenti nell’arco di una settimana circa; 3) la valutazione della seconda prova in itinere che viene svolta verso la fine del corso in presenza presso i laboratori informatici della Sapienza. Il raggiungimento di una valutazione sufficiente in tutti e tre gli elementi qui elencati è condizione necessaria per poter accedere a qualsiasi appello di esame. Raggiungono una valutazione sufficiente nelle esercitazioni e nelle prove in itinere gli studenti che dimostrino di saper programmare in modo corretto gli algoritmi discussi nelle lezioni in aula, di saper identificare eventuali errori all’interno di un codice scritto in linguaggio C, di saper usare tali programmi per lo studio di un problema fisico, producendo una corretta analisi dati ed una valida presentazione grafica e discussione dei risultati ottenuti.
Bibliografia
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità di erogazione
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
CARLO MANCINI TERRACCIANO Scheda docente
ANDREA CIARDIELLO Scheda docente

Programmi - Frequenza - Esami

Programma
Maggiori informazioni: https://elearning.uniroma1.it/course/view.php?id=2315 La prima parte del corso è dedicata alla risoluzione numerica delle equazioni differenziali ordinarie e all’introduzione di elementi avanzati di programmazione C [15 ore circa]. Nella seconda parte del corso viene illustrata la generazione dei numeri pseudo aleatori e il loro uso nella simulazione di alcuni processi stocastici, che sono quindi studiati in dettaglio: random walk, gas reticolare e percolazione [15 ore circa]. Il corso prevede attività di laboratorio in cui gli studenti scrivono dei propri codici in linguaggio C per studiare i problemi discussi a lezione, implementando gli algoritmi descritti dal docente [30 ore circa].
Prerequisiti
E’ indispensabile conoscere le basi della programmazione in linguaggio C fornite nell'insegnamento di Laboratorio di Calcolo erogato nel primo anno della LT in Fisica E’ importante saper usare gli strumenti informatici di base, quali un editore di file per la scrittura dei programmi e un compilatore C E’ utile avere un computer con ambiente di lavoro di tipo Unix/Linux e saper effettuare in tale ambiente le operazioni di base (ad esempio il trasferimento di un file)
Testi di riferimento
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità insegnamento
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
Frequenza
Frequenza dei laboratorio obbligatoria (https://elearning.uniroma1.it/course/view.php?id=2315)
Modalità di esame
La valutazione degli studenti e la determinazione del loro voto finale si basa sui seguenti tre elementi con pesi simili: 1) la partecipazione ed il rendimento durante le esercitazioni di laboratorio, incluso la correttezza e la leggibilità dei programmi scritti, come anche la bontà delle analisi dei dati e la chiarezza delle rappresentazioni grafiche dei risultati; 2) la valutazione della prima prova in itinere che viene assegnata intorno alla metà del corso e viene di norma svolta autonomamente dagli studenti nell’arco di una settimana circa; 3) la valutazione della seconda prova in itinere che viene svolta verso la fine del corso in presenza presso i laboratori informatici della Sapienza. Il raggiungimento di una valutazione sufficiente in tutti e tre gli elementi qui elencati è condizione necessaria per poter accedere a qualsiasi appello di esame. Raggiungono una valutazione sufficiente nelle esercitazioni e nelle prove in itinere gli studenti che dimostrino di saper programmare in modo corretto gli algoritmi discussi nelle lezioni in aula, di saper identificare eventuali errori all’interno di un codice scritto in linguaggio C, di saper usare tali programmi per lo studio di un problema fisico, producendo una corretta analisi dati ed una valida presentazione grafica e discussione dei risultati ottenuti.
Bibliografia
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità di erogazione
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
ANDREA CIARDIELLO Scheda docente
Canale 3
VINCENZO MARINARI Scheda docente

Programmi - Frequenza - Esami

Programma
Maggiori informazioni: https://elearning.uniroma1.it/course/view.php?id=2315 La prima parte del corso è dedicata alla risoluzione numerica delle equazioni differenziali ordinarie e all’introduzione di elementi avanzati di programmazione C [15 ore circa]. Nella seconda parte del corso viene illustrata la generazione dei numeri pseudo aleatori e il loro uso nella simulazione di alcuni processi stocastici, che sono quindi studiati in dettaglio: random walk, gas reticolare e percolazione [15 ore circa]. Il corso prevede attività di laboratorio in cui gli studenti scrivono dei propri codici in linguaggio C per studiare i problemi discussi a lezione, implementando gli algoritmi descritti dal docente [30 ore circa].
Prerequisiti
E’ indispensabile conoscere le basi della programmazione in linguaggio C fornite nell'insegnamento di Laboratorio di Calcolo erogato nel primo anno della LT in Fisica E’ importante saper usare gli strumenti informatici di base, quali un editore di file per la scrittura dei programmi e un compilatore C E’ utile avere un computer con ambiente di lavoro di tipo Unix/Linux e saper effettuare in tale ambiente le operazioni di base (ad esempio il trasferimento di un file)
Testi di riferimento
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità insegnamento
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
Frequenza
Frequenza dei laboratorio obbligatoria (https://elearning.uniroma1.it/course/view.php?id=2315)
Modalità di esame
La valutazione degli studenti e la determinazione del loro voto finale si basa sui seguenti tre elementi con pesi simili: 1) la partecipazione ed il rendimento durante le esercitazioni di laboratorio, incluso la correttezza e la leggibilità dei programmi scritti, come anche la bontà delle analisi dei dati e la chiarezza delle rappresentazioni grafiche dei risultati; 2) la valutazione della prima prova in itinere che viene assegnata intorno alla metà del corso e viene di norma svolta autonomamente dagli studenti nell’arco di una settimana circa; 3) la valutazione della seconda prova in itinere che viene svolta verso la fine del corso in presenza presso i laboratori informatici della Sapienza. Il raggiungimento di una valutazione sufficiente in tutti e tre gli elementi qui elencati è condizione necessaria per poter accedere a qualsiasi appello di esame. Raggiungono una valutazione sufficiente nelle esercitazioni e nelle prove in itinere gli studenti che dimostrino di saper programmare in modo corretto gli algoritmi discussi nelle lezioni in aula, di saper identificare eventuali errori all’interno di un codice scritto in linguaggio C, di saper usare tali programmi per lo studio di un problema fisico, producendo una corretta analisi dati ed una valida presentazione grafica e discussione dei risultati ottenuti.
Bibliografia
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità di erogazione
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
VINCENZO MARINARI Scheda docente

Programmi - Frequenza - Esami

Programma
PROGRAMMA: MODULO EQUAZIONI DIFFERENZIALI ORDINARIE (30 ore) Integrazione di equazioni differenziali con condizioni iniziali. Metodo di Eulero. Errore locale e errore globale. Oscillatore armonico.
 Metodo di Eulero-Cromer. Studio dell'errore di integrazione. Il prototipo della funzione main e gli argomenti da linea di comando. La gestione dell’input/output:  stdin, stdout, stderr. Redirezione di input e output dalla linea di comando. Trasferimento dei file tra macchine in remoto. Uso di gnuplot per la generazione di grafici di dati. Stabilità: il caso delle oscillazioni e crescita/decrescita esponenziale. Proprietà di stabilità dei metodi di Eulero e Eulero-Cromer. Importanza delle scale di tempo caratteristiche. Metodi di integrazione: Reversibilità nel metodo di Eulero-Cromer e metodo di Verlet. Leggi di conservazione lungo le traiettorie approssimate dell'oscillatore armonico. Pendolo semplice. Misura del periodo e studio delle piccole oscillazioni. Oscillazioni con smorzamento lineare. Calcolo del tempo di dimezzamento e dello smorzamento critico. Uso delle macro del precompilatore per la compilazione condizionale: #if, #elif, #else, #endif, #ifdef. L'opzione -D del compilatore gcc. 
Compilazione condizionale e funzioni macro. Approfondimenti sull’uso di gnuplot: grafici in scala bilogaritmica ("set log”), definizione di funzioni di una variabile indipendente, aggiustare i parametri delle funzioni con gnuplot ("fit via”). Metodi di Runge-Kutta del II e IV ordine. Strutture C: struct, puntatori a struct. Pendolo forzato. Cenni sul caos. Sezione di Poincaré. Bacini di attrazione. Diagrammi di biforcazione. Moto in un piano. Equazioni accoppiate. Moto di pianeti intorno a stella fissa. Unità di misura astronomiche. Calcolo del periodo di un'orbita chiusa nello spazio delle fasi. Considerazioni sulla precisione del calcolo floating-point nella scelta del passo di integrazione. Grafici tridimensionali con gnuplot. Stabilità per oscillazioni ed errore relativo sul calcolo dell'energia con i metodi di Runge-Kutta. MODULO CAMMINI ALEATORI (20 ore) Allocazione dinamica di memoria: malloc(), calloc(), realloc(), free(), sizeof(). Moto browniano. Random Walk in una dimensione. Generazione di numeri casuali con distribuzione qualunque: inversione della cumulativa, metodo "accetta o rifiuta”. Trasformazione di Box-Müller. Numeri pseudocasuali uniformemente distribuiti: Generatori Congruenziali Lineari. Generatori notevoli (nel bene e nel male) e di uso comune: Minimal Standard, Randu, puramente moltiplicativi di l’Ecuyer. Funzioni di libreria del C: rand(), lrand48(), drand48() Costruzione dell'istogramma dei valori di un random walk unidimensionale al tempo t fisso. Binning di un istogramma. Random walk in più dimensioni spaziali. Probabilità di ritorno. Richiami sui sistemi numerici posizionali. Sistema Esadecimale. Rappresentazione dei numeri interi sul calcolatore. Operatori bitwise "&","|", "^","~".  Operatori di scorrimento di bit "", "
Prerequisiti
Laboratorio di Calcolo, basi di unix, bash e programmazione C
Testi di riferimento
ITA: L.Barone, E. Marinari, G. Organtini, F. Ricci Tersenghi, "Programmazione scientifica", Pearson Italia (2006)
Modalità insegnamento
Circa 30 ore di lezioni frontali e 10 esperienze in laboratorio (https://elearning.uniroma1.it/course/view.php?id=2315)
Frequenza
La frequenza alle esercitazioni di laboratorio e' obbligatoria.
Modalità di esame
LABORATORIO DI FISICA COMPUTAZIONALE 1 STRUTTURA DEGLI ESAMI DI PROFITTO Il corso di Laboratorio di Fisica Computazionale 1 (primo semestre del secondo anno della Laurea Triennale in Fisica) è un corso teorico e pratico, che prevede la frequenza obbligatoria di esercitazioni di laboratorio computazionale. Il corso prevede in totale circa trenta ore di lezione cattedratica e circa trenta ore di frequenza del laboratorio computazionale. Una proficua partecipazione alle esercitazioni di laboratorio è obbligatoria: eventuali assenze non evitabili possono essere recuperate in accordo con i docenti del corso. Il lavoro in laboratorio si svolge in gruppi, ognuno composto da due studenti, ma è naturalmente cruciale che entrambi i componenti del gruppo contribuiscano in modo fattivo al lavoro comune. Le caratteristiche del corso richiedono una valutazione in forma articolata, diversa dalla valutazione dei corsi che si svolgono solo in aula. Gli ingredienti fondamentali sono le valutazioni delle due prove in itinere, entrambe obbligatorie, e la valutazione del lavoro fatto in laboratorio, sia durante le esercitazioni che nella sua forma finale, con valutazione dei codici e dei risultati prodotti in laboratorio. La prima prova in itinere viene di solito proposta intorno alla metà del corso (primi di novembre) e viene svolta a casa: c'è a disposizione per svolgerla circa una settimana, e si richiede di analizzare un problema di fisica non banale (del livello atteso per uno studente che comincia il secondo anno della Laurea Triennale in Fisica) con l’ausilio degli strumenti di programmazioni insegnati nel corso. Bisogna scrivere un codice, verificarlo, ed utilizzarlo per analizzare e comprendere i comportamenti fisici del sistema sotto esame. Oltre al codice viene richiesto di consegnare una relazione che descriva i principali risultati. La prova è individuale, e sia lo sviluppo del codice che la preparazione della relazione vanno svolti dallo studente in modo completamente autonomo. Non è previsto il recupero di questa prova, a meno di ritardi causati da dimostrata forza maggiore, che verranno discussi caso per caso. La seconda prova in itinere si svolge di solito la settimana successiva all'ultima esercitazione di laboratorio. Si tratta di una prova individuale da sostenere al computer, nei nostri laboratori computazionali, e serve a dimostrare le competenze acquisite durante il corso di laboratorio. La parte principale della prova ha di solito a che fare con la correzione di una codice e/o con la scrittura di frammenti di codice o di brevi codici interi, ed infine con la produzione di grafici, fit ed istogrammi. In casi di forza maggiore che devono essere certificati, come malattia o impegni assolutamente irrinunciabili, lo studente può accedere a una prova di recupero. In entrambe le prove in itinere possono essere contenute domande "teoriche" relative esclusivamente al materiale discusso durante le lezioni cattedratiche ed incluso nel programma. I codici prodotti in laboratorio vengono valutati, sia durante le singole esercitazioni che alla fine del corso nella forma definitiva in cui vengono ufficialmente consegnati. Viene valutata la correttezza, la completezza e la pulizia dei codici, la loro efficienza, così come vengono valutate le conclusioni raggiunte con quei codici (figure e dati). In questo caso non sono richieste né previste relazioni esplicative. Il voto finale di "esonero dal laboratorio" viene composto attraverso una combinazione dei voti discussi nei paragrafi precedenti, con pesi diversi, che possono variare a seconda della effettiva difficoltà delle prove presentate (tipicamente, come ordine di grandezza, la prima prova e la seconda prova avranno rispettivamente un peso vicino a 0.3 per la prima e a 0.4 per la seconda, e le valutazioni fatte in laboratorio avranno un peso totale vicino a 0.3). Essere esonerati dal laboratorio con un voto sufficiente certifica che il laboratorio è stato seguito con profitto, ed è condizione necessaria per poter sorpassare l'esame. Chi non ottiene la dichiarazione di esonero dal laboratorio non ha avuto un profitto tale da consentirgli di sorpassare l'esame, e dovrà seguire nuovamente le esercitazioni in laboratorio in un futuro anno accademico. Le prove in itinere del corso sono obbligatorie proprio perché sono lo strumento principale di valutazione, il cui scopo è quello di certificare l’apprendimento reale dello studente durante il laboratorio. Come già detto, coloro che sono stati assenti per gravi motivi possono recuperarle immediatamente dopo la data delle prove stesse. Tuttavia le prove non possono essere ripetute in altri periodi dell’anno perché sono prove in itinere e sono parte integrante del laboratorio, che si conclude con la fine del corso. Nella gran parte dei casi il voto finale di "esonero dal laboratorio" viene proposto agli studenti, che possono accettarlo, come voto finale. Per gli studenti che accettano il voto quest’ultimo viene verbalizzato al primo appello utile, senza ulteriori verifiche delle conoscenze acquisite. Solo in alcuni casi, in cui i risultati delle prove in itinere, pur potenzialmente sufficienti, non forniscano un’evidenza chiara del livello di conoscenze e competenze raggiunto dallo studente, viene richiesto di sostenere una prova finale, orale-pratica. Questi casi vengono motivati in dettaglio singolarmente. Nel caso in cui sia necessario sostenere un'ulteriore prova orale-pratica, o nel caso in cui lo studente decida di non accettare il voto proposto come voto finale da verbalizzare, è possibile sostenere la prova orale-pratica in tutti gli appelli previsti dai regolamenti e fissati dai docenti. In questi casi il voto di "esonero dal laboratorio", che resterà invariato e valido per l'intero anno accademico, verrà mediato con il risultato dell'esame orale-pratico, e per essere promossi sarà necessario che questa media raggiunga la sufficienza. La prova-orale pratica verte sia sugli argomenti teorici contenuti nel programma e illustrati durante le lezioni cattedratiche, sia sulle pratiche di programmazione e debugging che potranno essere svolte al computer durante l'esame orale-pratico.
Bibliografia
“Numerical Recipes in C”, Press, Teukolsky, …
Modalità di erogazione
Circa 30 ore di lezioni frontali e 10 esperienze in laboratorio (https://elearning.uniroma1.it/course/view.php?id=2315)
MATTEO NEGRI Scheda docente

Programmi - Frequenza - Esami

Programma
Maggiori informazioni: https://elearning.uniroma1.it/course/view.php?id=2315 La prima parte del corso è dedicata alla risoluzione numerica delle equazioni differenziali ordinarie e all’introduzione di elementi avanzati di programmazione C [15 ore circa]. Nella seconda parte del corso viene illustrata la generazione dei numeri pseudo aleatori e il loro uso nella simulazione di alcuni processi stocastici, che sono quindi studiati in dettaglio: random walk, gas reticolare e percolazione [15 ore circa]. Il corso prevede attività di laboratorio in cui gli studenti scrivono dei propri codici in linguaggio C per studiare i problemi discussi a lezione, implementando gli algoritmi descritti dal docente [30 ore circa].
Prerequisiti
E’ indispensabile conoscere le basi della programmazione in linguaggio C fornite nell'insegnamento di Laboratorio di Calcolo erogato nel primo anno della LT in Fisica E’ importante saper usare gli strumenti informatici di base, quali un editore di file per la scrittura dei programmi e un compilatore C E’ utile avere un computer con ambiente di lavoro di tipo Unix/Linux e saper effettuare in tale ambiente le operazioni di base (ad esempio il trasferimento di un file)
Testi di riferimento
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità insegnamento
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
Frequenza
Frequenza dei laboratorio obbligatoria (https://elearning.uniroma1.it/course/view.php?id=2315)
Modalità di esame
La valutazione degli studenti e la determinazione del loro voto finale si basa sui seguenti tre elementi con pesi simili: 1) la partecipazione ed il rendimento durante le esercitazioni di laboratorio, incluso la correttezza e la leggibilità dei programmi scritti, come anche la bontà delle analisi dei dati e la chiarezza delle rappresentazioni grafiche dei risultati; 2) la valutazione della prima prova in itinere che viene assegnata intorno alla metà del corso e viene di norma svolta autonomamente dagli studenti nell’arco di una settimana circa; 3) la valutazione della seconda prova in itinere che viene svolta verso la fine del corso in presenza presso i laboratori informatici della Sapienza. Il raggiungimento di una valutazione sufficiente in tutti e tre gli elementi qui elencati è condizione necessaria per poter accedere a qualsiasi appello di esame. Raggiungono una valutazione sufficiente nelle esercitazioni e nelle prove in itinere gli studenti che dimostrino di saper programmare in modo corretto gli algoritmi discussi nelle lezioni in aula, di saper identificare eventuali errori all’interno di un codice scritto in linguaggio C, di saper usare tali programmi per lo studio di un problema fisico, producendo una corretta analisi dati ed una valida presentazione grafica e discussione dei risultati ottenuti.
Bibliografia
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Modalità di erogazione
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche. La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
MATTEO NEGRI Scheda docente

Programmi - Frequenza - Esami

Programma
La prima parte del corso è dedicata alla risoluzione numerica delle equazioni differenziali ordinarie e all’introduzione di elementi avanzati di programmazione C [15 ore circa]. Nella seconda parte del corso viene illustrata la generazione dei numeri pseudo aleatori e il loro uso nella simulazione di alcuni processi stocastici, che sono quindi studiati in dettaglio: random walk, gas reticolare e percolazione [15 ore circa]. Il corso prevede attività di laboratorio in cui gli studenti scrivono dei propri codici in linguaggio C per studiare i problemi discussi a lezione, implementando gli algoritmi descritti dal docente [30 ore circa].
Prerequisiti
E’ indispensabile conoscere le basi della programmazione in linguaggio C fornite nell’insegnamento di Laboratorio di Calcolo erogato nel primo anno della LT in Fisica E’ importante saper usare gli strumenti informatici di base, quali un editore di file per la scrittura dei programmi e un compilatore C E’ utile avere un computer con ambiente di lavoro di tipo Unix/Linux e saper effettuare in tale ambiente le operazioni di base (ad esempio il trasferimento di un file)
Testi di riferimento
“Programmazione Scientifica” (Seconda Edizione) Luciano Barone, Enzo Marinari, Giovanni Organtini e Federico Ricci-Tersenghi Pearson Italia (2019)
Frequenza
La partecipazione a tutte le esercitazioni di laboratorio è obbligatoria.
Modalità di esame
La valutazione degli studenti e la determinazione del loro voto finale si basa sui seguenti tre elementi con pesi simili: 1) la partecipazione ed il rendimento durante le esercitazioni di laboratorio, incluso la correttezza e la leggibilità dei programmi scritti, come anche la bontà delle analisi dei dati e la chiarezza delle rappresentazioni grafiche dei risultati; 2) la valutazione della prima prova in itinere che viene assegnata intorno alla metà del corso e viene di norma svolta autonomamente dagli studenti nell’arco di una settimana circa; 3) la valutazione della seconda prova in itinere che viene svolta verso la fine del corso in presenza presso i laboratori informatici della Sapienza. Il raggiungimento di una valutazione sufficiente in tutti e tre gli elementi qui elencati è condizione necessaria per poter accedere a qualsiasi appello di esame. Raggiungono una valutazione sufficiente nelle esercitazioni e nelle prove in itinere gli studenti che dimostrino di saper programmare in modo corretto gli algoritmi discussi nelle lezioni in aula, di saper identificare eventuali errori all’interno di un codice scritto in linguaggio C, di saper usare tali programmi per lo studio di un problema fisico, producendo una corretta analisi dati ed una valida presentazione grafica e discussione dei risultati ottenuti.
Modalità di erogazione
Il corso si svolge per circa la metà delle ore con lezioni frontali in aula svolte prevalentemente alla lavagna e per la restante metà delle ore in un laboratorio informatico. Nelle lezioni in aula sono illustrati i problemi fisici che si vogliono studiare, il modo in cui tale studio possa essere fatto con una simulazione numerica, diversi algoritmi che permettono tale studio e molti dettagli sull’implementazione tecnica in linguaggio C. Nelle esercitazioni di laboratorio gli studenti mettono in pratica tutte le nozioni fornite dal docente in aula allo scopo di elaborare un proprio programma in linguaggio C che permetta loro di studiare il problema fisico discusso nelle lezioni in aula. Il docente presente in laboratorio fornisce suggerimenti sulla scrittura dei programmi e su come realizzare le simulazioni numeriche.
  • Codice insegnamento1012086
  • Anno accademico2024/2025
  • CorsoFisica
  • CurriculumFisica applicata
  • Anno2º anno
  • Semestre1º semestre
  • SSDINF/01
  • CFU6
  • Ambito disciplinareAttività formative affini o integrative