ID:
A000797
Durata (ore):
60
CFU:
6
Url:
FISICA/PERCORSO COMUNE Anno: 1
Anno:
2023
Dati Generali
Periodo di attività
Primo Semestre (25/09/2023 - 12/01/2024)
Syllabus
Obiettivi Formativi
Fornire conoscenze su gli strumenti informatici di base utili nell’ambito della elaborazione dei dati sperimentali. Fornire conoscenze su sistemi operativi e linguaggi di programmazione. In particolare, sono fondamentali i seguenti argomenti:
Caratteristiche fondamentali dei sistemi operativi
Diagrammi di flusso ed esempi di algoritmi per la stesura di procedure utili in ambito scientifico
Fondamenti di programmazione in C++
Gestione della memoria e puntatori
Programmazione orientata agli oggetti
Analisi dati, rappresentazione e procedure di regressione
Introduzione ai linguaggi pseudo-compilati
Introduzione ai linguaggi orientati anche alla elaborazione di segnali e immagini
Caratteristiche fondamentali dei sistemi operativi
Diagrammi di flusso ed esempi di algoritmi per la stesura di procedure utili in ambito scientifico
Fondamenti di programmazione in C++
Gestione della memoria e puntatori
Programmazione orientata agli oggetti
Analisi dati, rappresentazione e procedure di regressione
Introduzione ai linguaggi pseudo-compilati
Introduzione ai linguaggi orientati anche alla elaborazione di segnali e immagini
Prerequisiti
Conoscenze di matematica di base e logica matematica.
Metodi didattici
Lezioni frontali sui metodi per elaborare algoritmi capaci di risolvere problemi pratici di interesse fisico quali: l’elaborazione dei dati, il calcolo numerico, la rappresentazione grafica e la modellizzazione dei dati.
Esercitazioni mediante realizzazione individuale al calcolatore di tutti gli esempi trattati durante le lezioni.
Esercitazioni mediante realizzazione individuale al calcolatore di tutti gli esempi trattati durante le lezioni.
Verifica Apprendimento
Prova pratica al calcolatore che richiede l’implementazione di codici in C++ per la risoluzione di problemi e l’elaborazione di dati:
Il compito tipo avrà la seguente struttura
1)Elaborazione dati 2) Calcolo numerico 3) Rappresentazione ed elaborazione grafica dei dati 4) Modellizzazione dei dati tramite tecniche di fit.
Alla prova pratica seguirà la correzione e la discussione di quanto prodotto nella prova pratica.
Le prove 1 e 2 avranno una valutazione massima di 7 punti ciascuna, mentre le prove 3 e 4 una valutazione massima di 8, per un totale di massimo 30 punti. La lode potrà essere conseguita dimostrando nella discussione del compito completa padronanza delle tecniche apprese e del trattamento dei dati.
Il compito tipo avrà la seguente struttura
1)Elaborazione dati 2) Calcolo numerico 3) Rappresentazione ed elaborazione grafica dei dati 4) Modellizzazione dei dati tramite tecniche di fit.
Alla prova pratica seguirà la correzione e la discussione di quanto prodotto nella prova pratica.
Le prove 1 e 2 avranno una valutazione massima di 7 punti ciascuna, mentre le prove 3 e 4 una valutazione massima di 8, per un totale di massimo 30 punti. La lode potrà essere conseguita dimostrando nella discussione del compito completa padronanza delle tecniche apprese e del trattamento dei dati.
Testi
C++. Fondamenti di programmazione, H.M. Deitel, PJ Deitel, Apogeo.
Materiale didattico:
https://github.com/gmandaglio75/Laboratorio_Informatico_FisUnime
https://www.overleaf.com/read/ykgjcndqntkq
Materiale didattico:
https://github.com/gmandaglio75/Laboratorio_Informatico_FisUnime
https://www.overleaf.com/read/ykgjcndqntkq
Contenuti
Introduzione all'uso del sistema operativo tipo Unix. Istruzioni base per
lavorare da terminale, uso delle istruzioni: ls, cd, cp, mkdir, rmdir, rm,
gzip, ssh, scp, chmod, chown, cat, paste, awk, gcc, g++, make etc; uso
degli script utili per l'automatizzazione delle procedure.
2. Fondamenti di Programmazione (linguaggio di riferimento C++):
traduzione di una procedura per la risoluzione di un problema pratico in
un algoritmo comprensibile ed eseguibile da parte di un calcolatore.
Struttura di un programma in C++. Dichiarazione delle variabili
numeriche, booleane e caratteri; vettori mono e multidimensionali
(matrici); operazioni sulle variabili; operazioni di input-output su
terminale e file; strutture di controllo; cicli. Gestione dinamica della
memoria e puntatori. Implementazione di funzioni (routine e subroutine).
Passaggio di informazioni alle funzioni \by value" o \by reference".
3. Implementazione di programmi: sommatoria, calcolo di media e
deviazione standard, integrale di una funzione, metodi di ordinamento di
una lista, ricerca di massimi e minimi relativi e assoluti in funzioni o in
liste di numeri.
4. Introduzione alla programmazione orientata agli oggetti: cosa sono le
classi e gli oggetti, le loro proprietà e come si utilizzano.
5. Introduzione all'analisi dati: creazione di un istogramma, operazioni
sugli istogrammi, rappresentazioni di dati con i relativi errori (simmetrici
o asimmetrici) attraverso punti, spezzata o curva spline su piano. Fit di
istogrammi o distribuzione di dati. Scrittura di macro in C++ usando il
framework di analisi dati ROOT. 6. Scrittura di documenti in ambiente
LATEX.
lavorare da terminale, uso delle istruzioni: ls, cd, cp, mkdir, rmdir, rm,
gzip, ssh, scp, chmod, chown, cat, paste, awk, gcc, g++, make etc; uso
degli script utili per l'automatizzazione delle procedure.
2. Fondamenti di Programmazione (linguaggio di riferimento C++):
traduzione di una procedura per la risoluzione di un problema pratico in
un algoritmo comprensibile ed eseguibile da parte di un calcolatore.
Struttura di un programma in C++. Dichiarazione delle variabili
numeriche, booleane e caratteri; vettori mono e multidimensionali
(matrici); operazioni sulle variabili; operazioni di input-output su
terminale e file; strutture di controllo; cicli. Gestione dinamica della
memoria e puntatori. Implementazione di funzioni (routine e subroutine).
Passaggio di informazioni alle funzioni \by value" o \by reference".
3. Implementazione di programmi: sommatoria, calcolo di media e
deviazione standard, integrale di una funzione, metodi di ordinamento di
una lista, ricerca di massimi e minimi relativi e assoluti in funzioni o in
liste di numeri.
4. Introduzione alla programmazione orientata agli oggetti: cosa sono le
classi e gli oggetti, le loro proprietà e come si utilizzano.
5. Introduzione all'analisi dati: creazione di un istogramma, operazioni
sugli istogrammi, rappresentazioni di dati con i relativi errori (simmetrici
o asimmetrici) attraverso punti, spezzata o curva spline su piano. Fit di
istogrammi o distribuzione di dati. Scrittura di macro in C++ usando il
framework di analisi dati ROOT. 6. Scrittura di documenti in ambiente
LATEX.
Lingua Insegnamento
ITALIANO
Corsi
Corsi
FISICA
Laurea
3 anni
No Results Found
Persone
Persone
Professori/esse Associati/e
No Results Found