Vai al contenuto principale
Oggetto:
Oggetto:

Tecniche Informatiche per la Fisica A-B-C-D

Oggetto:

Computational Tecniques for Physics A-B-C-D

Oggetto:

Anno accademico 2020/2021

Codice dell'attività didattica
MFN1309
Docente
Prof. Ezio Maina (Titolare del corso)
Corso di studi
008703 Laurea in Fisica
Anno
1° anno
Periodo didattico
Primo semestre
Tipologia
F= Altro
Crediti/Valenza
3
SSD dell'attività didattica
INF/01 - informatica
Modalità di erogazione
A distanza
Lingua di insegnamento
Italiano
Modalità di frequenza
Facoltativa
Tipologia d'esame
Prova pratica
Prerequisiti
Avere un account sul server degli studenti di Fisica.
Una ragionevole conoscenza dell'inglese scientifico.
Scaricate e installate la distribuzione Anaconda da https://www.anaconda.com/distribution/ (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/distribution/ (Windows,Linux,Mac) on your laptop
Oggetto:

Sommario insegnamento

Oggetto:

Obiettivi formativi

CONOSCENZA E CAPACITÀ DI COMPRENSIONE

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

KNOWLEDGE AND UNDERSTANDING

Basic knowledge Python programming and of the libraries most commonly used in science.

Oggetto:

Risultati dell'apprendimento attesi

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE

Al termine del corso gli studenti dovranno essere in grado di scrivere semplici programmi in Python per applicazioni scientifiche: calcolo numerico e  produzione di grafici usando le librerie Numpy, Scipy e Matplotlib.

APPLYING KNOWLEDGE AND UNDERSTANDING  

At the end of the course students will be able to write simple programs in Python to solve scientific problems: numerical calculations and generating plots using the libraries Numpy, Scipy e Matplotlib.

 

Oggetto:

Modalità di insegnamento

Durante l'a.a. 2020-21, le lezioni e le esercitazioni saranno svolte da remoto in modalità sincrona.

Il link per seguire lezioni ed esercitazioni è: https://unito.webex.com/meet/ezio.maina

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

Il corso e il suo metodo verranno presentato presentati in una lezione introduttiva via web.

Gli studenti dovranno consultare autonomamente il contenuto del materiale registrato 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_2020/

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

In 2020-21, lectures will be delivered sincronously on the web at the URL 

https://unito.webex.com/meet/ezio.maina

Prerecorded lectures and laboratory sessions in distance learning.

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

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

The students are expected to learn the material in the prerecorded videos 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_2020/

Alternatively, it can be downloaded from https://github.com/mainaezio/TIF_2020_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 1-2 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 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 session there will be a test, containing 1-2 execises, 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, solving exercises in the computer lab.

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
  • Fit polinomiale a una curva
  • Numpy per la Statistica: media, varianza, istogrammi delle frequenze
  • Fit Lineare
  • Fit quadratico

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
  • Interpolazione
  • Fit di una curva
  • 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 od 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
  • Polynomial Fit of a curve
  • Numpy for Statistics: mean, variance, frequency histograms
  • Linear Fit
  • Quadratic Fit

Matplotlib: plots in Python

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

Scipy: numerical methods in Python

  • Numerical integration
  • Ordinary differential equations
  • Finding roots
  • Interpolation
  • Fitting a curve
  • Random Numbers

Testi consigliati e bibliografia

Oggetto:

Le videoregistrazione e i notebook sono disponibili in:

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

 

Tra la miriade di pagine dedicate a Python sul web, queste sono le più utili:

Hans Fanghor - Python for Computational Science and Engineering su cui è basato questo corso.

Robert Johanson - Scientific Computing with Python

The Jupyter notebooks and the video recordings  are available in:

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

 

Among the staggering amount of Python related documents available on the web, these are most useful:

Hans Fanghor - Python for Computational Science and Engineering  on which this course is based. 

Robert Johanson - Scientific Computing with Python 



Oggetto:

Orario lezioni

Lezioni: dal 28/09/2020 al 06/11/2020

Oggetto:

Note

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

Suddivisione:

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

- CORSO B: studenti con cognome dalla lettera D alla L

- CORSO C: studenti con cognome dalla lettera M alla P

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

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

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

- COURSE B: for students with the first letter of theri family name in the D-L range

- COURSE C: for students with the first letter of theri family name in the M-P range

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

Oggetto:
Ultimo aggiornamento: 06/10/2020 10:27
Non cliccare qui!