Vai al contenuto principale
Oggetto:
Oggetto:

Tecniche Informatiche per la Fisica A-B

Oggetto:

Computational Tecniques for Physics A-B

Oggetto:

Anno accademico 2024/2025

Codice attività didattica
MFN1309
Docente
Ezio Maina (Titolare del corso)
Corso di studio
008703 Laurea in Fisica
Anno
1° anno
Periodo
Primo semestre
Tipologia
F= Altro
Crediti/Valenza
3
SSD attività didattica
INF/01 - informatica
Erogazione
Tradizionale
Lingua
Italiano
Frequenza
Facoltativa
Tipologia esame
Prova pratica
Prerequisiti

Avere un account sul server degli studenti di Fisica per potersi collegare al Wi-Fi.
Una ragionevole conoscenza dell'inglese scientifico.
Scaricate e installate la distribuzione Anaconda da https://www.anaconda.com/products/individual (Windows,Linux,Mac) sul vostro laptop

You need an account on the physics student server.
Download and install the Anaconda distribution from https://www.anaconda.com/products/individual (Windows,Linux,Mac) on your laptop
Oggetto:

Sommario insegnamento

Oggetto:

Obiettivi formativi

Conoscenza degli elementi fondamentali della programmazione in Python 3 e delle principali librerie per il calcolo scientifico.

Basic knowledge of Python 3 programming and of the libraries most commonly used in scientific computation.

Oggetto:

Risultati dell'apprendimento attesi

Conoscenza e capacità di comprensione:

Comprensione dei principi della programmazione e conoscenza degli elementi fondamentali della programmazione in Python 3 e delle principali librerie per il calcolo scientifico: Numpy, Scipy e Matplotlib.

Capacità di applicare conoscenza e comprensione:

al termine dell'insegnamento gli studenti e le studentesse dovranno essere in grado di scrivere semplici programmi in Python per applicazioni scientifiche

 

Knowledge and understanding:

Understanding of the fundamentals of programming and basic knowledge of Python 3 programming and of the libraries most commonly used in scientific computation: Numpy, Scipy e Matplotlib

Applying knowledge and understanding:

at the end of the course, students should be able to write simple programs in Python to solve scientific problems.

 

Oggetto:

Programma

Nozioni fondamentali

  • I notebook Jupyter
  • Operazioni e funzioni matematiche elementari
  • Uso di variabili
  • Definizione e chiamata di funzioni
  • Input e return values
  • Valori di default e parametri opzionali
  • Tipi di dati e contenitori di dati: numeri, liste, stringhe, ntuple, dizionari
  • Indici e slicing
  • Copia di oggetti in Python
  • Uguaglianza e identita'
  • Input e output
  • Formattazione
  • Lettura e scrittura di file
  • Valori logici
  • if-then-else
  • for loops
  • while loops

Numpy: calcolo numerico in Python

  • Gli array
  • Algebra Lineare
  • Numpy per la Statistica: media, varianza, istogrammi delle frequenze
  • Fit di un set di dati a una curva

Matplotlib: grafici in Python

  • Scatter plot
  • Plot multipli e curve multiple
  • Plot logaritmici
  • Istogrammi
  • Legende, Annotazioni

Scipy: metodi numerici in Python

  • Integrazione numerica
  • Equazioni differenziali ordinarie
  • Ricerca delle radici
  • Ricerca degli estremi
  • Numeri casuali

 

Basics

  • Jupyter notebooks
  • Elementary mathematical operations and functions
  • Variables
  • Function definition and calling
  • Input and return values
  • Default values and optional parameters
  • Type of data and data containers: numbers, lists, strings, ntuples, dictionaries
  • Indices and slicing
  • Copying objects in Python
  • Equality and identity
  • Input and output
  • Formatting
  • Reading and writing files
  • Logical values
  • if-then-else
  • for loops
  • while loops

Numpy: numerical calculations in Python

  • Arrays
  • Linear Algebra
  • Numpy for Statistics: mean, variance, frequency histograms
  • Fit of a curve through a set of data points

Matplotlib: plots in Python

  • Scatter plots
  • Multiple plots and multiple curves 
  • Logarithmic plots
  • Histograms
  • Legends, Annotations

Scipy: numerical methods in Python

  • Numerical integration
  • Ordinary differential equations
  • Finding roots
  • Finding extrema
  • Random Numbers

Oggetto:

Modalità di insegnamento

Durante l'a.a. 2023-24, le lezioni e le esercitazioni saranno svolte in presenza.

Il corso si compone di due ore di lezione frontale e di ventidue ore di laboratorio.

È possibile e consigliato utilizzare il proprio portatile. In alternativa sono a disposizione i terminali delle aule informatiche.

L'insegnamento utilizzerà il metodo dell'insegnamento capovolto https://it.wikipedia.org/wiki/Insegnamento_capovolto.

Il programma e il metodo dell'insegnamento verranno presentati in una lezione introduttiva.

La prima lezione sarà il 26/09 per il Corso A e il 27/09 per il Corso B. Le lezioni successive si svolgeranno nelle Aule Informatiche F e G al primo piano interrato.

Ciascuno studente dovrà studiare autonomamente il contenuto dei notebook prima di ogni incontro. Gli incontri serviranno per approfondimenti, chiarimento dei concetti, esercitazioni in gruppi.

Il materiale didattico, sotto forma di Notebooks Jupyter, è disponibile su:

http://personalpages.to.infn.it/~maina/didattica/TIF_2023/

Alternativamente può essere scaricato da https://github.com/mainaezio/TIF_2023_Introduction_to_Python cliccando "Code" e poi "Download ZIP"

In 2023-24, lectures will be delivered in person.

The course consists of two hours of formal lectures and twenty-two laboratory hours.  

You are encouraged to bring your own laptop to class. Alternatively, terminals are available in the classrooms.

The course will adopt the flipped classroom approach https://en.wikipedia.org/wiki/Flipped_classroom.

The syllabus and the method of the course will be presented in an introductory lecture.

The first lecture will take place on 26/09 for Corsa A and on 27/09 for Corso B. All other lectures will take place in Aule Informatiche F e G on the first underground floor.

The students are expected to learn the material in the notebooks before each meeting. The meetings will provide an in-depth discussion of the most relevant topics and of issues in need of clarification. Activity learning and homework exercises will be performed in small groups.

All teaching materials are available as Jupyter Notebook in:

http://personalpages.to.infn.it/~maina/didattica/TIF_2023/

Alternatively, it can be downloaded from https://github.com/mainaezio/TIF_2023_Introduction_to_Python clicking "Code" and then "Download ZIP"

 

Oggetto:

Modalità di verifica dell'apprendimento

Nell'ultima parte di alcune esercitazioni, sarà distribuita una prova contenente 3-4 esercizi da eseguire seduta stante. L'esame sarà superato se almeno il 60% degli esercizi verrà completato in modo corretto.

Durante le sessioni d'esame successive sarà possibile, ma fortemente scoraggiato, sostenere un esame, della durata di un'ora, che consisterà di esercizi da risolvere in laboratorio. 

In the last part of some laboratory sessions, there will be a test, containing 3-4 exercises, to be completed on the spot. If at least 60% of the exercises are correct, the course is passed.

During regular exam sessions it will be possible, but strongly discouraged, to take exams. It will require solving exercises in the computer lab.

Testi consigliati e bibliografia



Oggetto:
Altro
Titolo:  
Jupyter Notebooks
URL:  
Obbligatorio:  
No
Oggetto:



Oggetto:

Note

Nessuna propedeuticità obbligatoria. Frequenza non obbligatoria, ma fortemente consigliata.

Suddivisione:

- CORSO A1: studenti con cognome dalla lettera A alla C

- CORSO A2: studenti con cognome dalla lettera D alla F

- CORSO B1 studenti con cognome dalla lettera G alla P

- CORSO B2: studenti con cognome dalla lettera Q alla Z

No previous knowledge is required. Attendance is not mandatory but strongly encouraged.

- COURSE A1: for students with the first letter of their family name in the A-C range

- COURSE A2: for students with the first letter of their family name in the D-F range

- COURSE B1: for students with the first letter of their family name in the G-P range

- COURSE B2: for students with the first letter of their family name in the Q-Z range

Registrazione
  • Aperta
    Oggetto:
    Ultimo aggiornamento: 11/09/2023 10:16
    Location: https://fisica.campusnet.unito.it/robots.html
    Non cliccare qui!