Skip to Main Content (Press Enter)

Logo UNIFE
  • ×
  • Home
  • Corsi
  • Insegnamenti
  • Professioni
  • Persone
  • Pubblicazioni
  • Strutture

UNI-FIND
Logo UNIFE

|

UNI-FIND

unife.it
  • ×
  • Home
  • Corsi
  • Insegnamenti
  • Professioni
  • Persone
  • Pubblicazioni
  • Strutture
  1. Insegnamenti

67219 - OBJECT-ORIENTED PROGRAMMING FOR EXPERIMENTAL DATA ANALYSIS

insegnamento
ID:
67219
Tipo Insegnamento:
Opzionale
Durata (ore):
60
CFU:
6
Url:
Dettaglio Insegnamento:
FISICA/PERCORSO COMUNE Anno: 3
Anno:
2024
  • Dati Generali
  • Syllabus
  • Corsi
  • Persone

Dati Generali

Periodo di attività

Primo Semestre (16/09/2024 - 20/12/2024)

Syllabus

Obiettivi Formativi

L’obiettivo principale del corso è quello di fornire agli studenti le capacità di gestire e analizzare dati sperimentali con linguaggi di programmazione ad oggetti.

Il corso fornirà le seguenti conoscenze:
principi di base dei linguaggi orientati agli oggetti;
Tecniche di programmazione a oggetti;
Linguaggio C++;
Linguaggio Python;
Tecniche di scripting su shell linux (bash);
Strumenti per la gestione delle versioni del codice con Git.

Il corso fornirà le seguenti capacità:
trasformazione di dataset(s) mediante script Python e/o Bash per successive elaborazioni;
Elementi di sviluppo in collaborazione con Git;
Analisi e soluzione di problemi di gestione dei dati e analisi con codice orientato agli oggetti;
Utilizzo di framework di analisi dati.

Prerequisiti

Sono necessarie le seguenti conoscenze pregresse, fornite dal corso “Laboratorio di Fisica con elementi di statistica e informatica” al primo anno della laurea triennale:
principi di programmazione strutturata;
Linguaggio C;
Elementi di programmazione per l’analisi dati.

Metodi didattici

Lezioni frontali sugli argomenti del programma del corso.
Lezioni pratiche in laboratorio, con calcolatore, su C++, Python, Bash e Git.

Verifica Apprendimento

L’esame finale consiste di tre parti:
prova scritta con 3-6 domande sugli argomenti del corso per verificare le conoscenze acquisite;
Discussione di un progetto di laboratorio assegnato durante il corso e sviluppato dallo studente con il fine di verificare il raggiungimento delle abilità acquisite nello sviluppo di software di analisi dati;
Prova orale (eventualmente opzionale) per verificare sia le conoscenze sia le abilità acquisite.
Il punteggio massimo per ciascuna parte è 30/30. Il punteggio finale è dato dalla media aritmetica dei tre punteggi parziali.

Testi

Dispense fornite dal docente su argomenti selezionati.
Testo di riferimento sul C++
Testo di riferimento su Python;
L. Barone, E. Marinari, G. Organtini, F. Ricci-Tesenghi PROGRAMMAZIONE SCIENTIFICA ed Pearson Education;
P. R. Bevington, D. K. Robinson DATA REDUCTION AND ERROR ANALYSIS FOR PHYSICAL SCIENCES, 3 ed., Mc Graw Hill;
Eventuali altri libri di riferimento suggeriti o da concordare con il docente

Contenuti

Il corso si svolge per 51 ore (6 crediti), suddivisi in 24 ore di lezioni frontali e 27 ore di lezioni pratiche in laboratorio.
Il programma svolto è il seguente:
Introduzione alla programmazione orientata agli oggetti (OOP) e utilizzo di IDE (Eclipse, XCode, etc…), 3h
Linguaggio C++ (12h): Core syntax and types, Arrays and Pointers, Operators, Compound data types, Functions, Control instructions, Headers and interfaces; Objects and Classes, Inheritance, Constructors/destructors, Static members, Allocating objects, Exceptions; Object orientation, Operators, Value, pointers and references, Constness, Functors, Templates, The STL, Useful tools; [C++11 and C++14 opzionale] Generalized Constant Expressions, Range based loops, auto keyword, override and final keywords, non-member begin/end, Initializers, Constructors, Exceptions, Lambdas, Move semantic, pointers and RAII, Concurrency and asynchronicity, Mutexes.
Linguaggio Python (6h): Sintassi e utilizzo di Python e iPython; Objects and operators, Numbers, Strings, Lists and looping, Dictionaries, Conditions, Methods, Scripting, Modules.
Strumenti utili per la gestione e l’analisi dei dati: script di shell Bash e controllo delle versioni con Git (3h): Navigating and working with Files and Directories, Pipes and Filters, Loops, Shell Scripts, Finding Things, Environmental variables; Setting Up Git, Creating a Repository, Tracking Changes, Exploring History, Ignoring Things, Sharing a repository with others, Collaborating with Pull Requests, Conflicts.
Esercitazioni in laboratorio su C++ (10h)
Esercitazioni in laboratorio su Pyhton (10h)
Esercitazioni in laboratorio su Bash e Git (4h)
Esercitazioni in laboratorio sull’utilizzo di framework di analisi dati con C++, Python e Bash (3h)

Lingua Insegnamento

INGLESE

Corsi

Corsi

FISICA 
Laurea
3 anni
No Results Found

Persone

Persone

TOMASSETTI Luca
Settore PHYS-01/A - Fisica sperimentale delle interazioni fondamentali e applicazioni
Gruppo 02/PHYS-01 - FISICA SPERIMENTALE DELLE INTERAZIONI FONDAMENTALI E APPLICAZIONI
AREA MIN. 02 - Scienze fisiche
Docenti di ruolo di IIa fascia
No Results Found
  • Utilizzo dei cookie

Realizzato con VIVO | Designed by Cineca | 25.5.3.0