Offerta Didattica
FISICA
LABORATORIO INFORMATICO
Classe di corso: L-30 - Scienze e tecnologie fisiche
AA: 2017/2018
Sedi: MESSINA
SSD | TAF | tipologia | frequenza | moduli |
---|---|---|---|---|
INF/01 | Base | Libera | Libera | No |
CFU | CFU LEZ | CFU LAB | CFU ESE | ORE | ORE LEZ | ORE LAB | ORE ESE |
---|---|---|---|---|---|---|---|
7 | 0 | 7 | 0 | 70 | 0 | 70 | 0 |
LegendaCFU: n. crediti dell’insegnamento CFU LEZ: n. cfu di lezione in aula CFU LAB: n. cfu di laboratorio CFU ESE: n. cfu di esercitazione FREQUENZA:Libera/Obbligatoria MODULI:SI - L'insegnamento prevede la suddivisione in moduli, NO - non sono previsti moduli ORE: n. ore programmate ORE LEZ: n. ore programmate di lezione in aula ORE LAB: n. ore programmate di laboratorio ORE ESE: n. ore programmate di esercitazione SSD:sigla del settore scientifico disciplinare dell’insegnamento TAF:sigla della tipologia di attività formativa TIPOLOGIA:LEZ - lezioni frontali, ESE - esercitazioni, LAB - laboratorio
Obiettivi Formativi
Fornire conoscenze su cognizioni e strumenti informatici di base utili nell’ambito dei laboratori di fisica: Introduzione ai sistemi operativi, linguaggi di programmazione e compilatori (c++, fortran), introduzione all'analisi dei dati (rappresentazioni di dati, istogrammi, fit etc), programmazione procedurale e orientata agli oggetti.Learning Goals
Provide basic knowledge of informatic tools useful in the physics laboratories: Introduction to Operating Systems, program language and compilers (c++, fortran), introduction to data analysis (plot of data, histograms, fit etc), procedural and object oriented programmation.Metodi didattici
Lezioni frontali sui metodi per tradurre in algoritmi funzionanti le strategie per risolvere problemi pratici, e sulla sintassi per scrivere in modo corretto i codici. Realizzazione al calcolatore di tutti gli esempi trattati durante le lezione.Teaching Methods
Lessons on the methods to translate the strategies to solve practical problems in algoritm, and the sintax to correctely write the programs. All codes discussed during the lessons will be implemented in the Laboratory.Prerequisiti
Conoscenze di base di logica e matematica.Prerequisites
Basic knowledge of logic and mathematics.Verifiche dell'apprendimento
Verrà richiesto di implementare una serie di programmi in c++, root e fortran capaci di risolvere problemi generali nel campo della fisica. Il codice sarà giudicato per la sua completezza e funzionalità.Assessment
Students have to implement a c++, root, and fortran codes able to solve a physics problems. The codes will be evaluated taking into account the ability to solve the problem and if they really works.Programma del Corso
1. 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++, g77, gfortran, 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++ (e parallelamente in fortran). Dichiarazione delle variabili numeriche, booleane e caratteri; vettori mono e multi-dimensionali (matrici); operazioni sulle variabili; operazioni di input-output su terminale e file; strutture di controllo; cicli. (sarà mostrata la scrittura equivalente in linguaggio fortran). Gestione dinamica della memoria e puntatori (solo C++). 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. (Tutti i programmi saranno implementati parallelamente in fortran, compilati ed testati). 4. Introduzione alla programmazione orientata agli oggetti: cosa sono le classi e gli oggetti, le loro proprieta' 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. (Programmi implementati in C++ usando il framework ROOT (sviluppato al CERN). 6. Scrittura di documenti in ambiente LATEX.Course Syllabus
1. Introduction on Unix-like operative systems. Instruction on how-to-use terminal, instructions like: ls, cd, cp, mkdir, rmdir, rm, gzip, ssh, scp, chmod, chown, cat, paste, awk, gcc, g++, g77, gfortran, make etc; use of script usefull to automating the procedures. 2. Programming fundamentals (reference language is C++): ability to translate the procedures to solve a problem into a working algoritm runnable on a pc. Structure of a C++ program ( in parallel it will be implemented the version in Fortran). Declaration of numericals, booleans and character variables; mono and multi-dimensional array; input-output operation on shell and on file, controll structures, loop. (It will be shown the equivalent in forran). Dynamical memory assignment. Implementation of functions, with values passed by value or by reference. 3) Implementation of algorithm: sum, estimation of average value, standard deviation, intagral of a function, sorting methods, maximum and minimum searches. (All code will be implemented in parallel in fortran, compiled and tested) 4) Introduction to Object Oriented programmation. Class, object, methods. 5. Introduction to data analysis: histograms, operation on histograms, plot, fit methods, data distributions. (Introduction to the use of ROOT (developped at CERN). 6. Use of Latex to write scientific documents.Testi di riferimento: https://github.com/gmandaglio75/Laboratorio_Informatico_FisUnime
Tutorials and suggested websites
C++. Fondamenti di programmazione, H.M. Deitel, PJ Deitel, Apogeo
Esami: Elenco degli appelli
Elenco delle unità didattiche costituenti l'insegnamento
LABORATORIO INFORMATICO
Docente: GIUSEPPE MANDAGLIO
Orario di Ricevimento - GIUSEPPE MANDAGLIO
Giorno | Ora inizio | Ora fine | Luogo |
---|---|---|---|
Martedì | 11:00 | 13:00 | Edificio A, corpo C - Dipartimento MIFT |
Note: