TECNICHE INFORMATICHE PER LA FISICA¶

Ezio Maina¶

  • Assumerò che non sappiate nulla di programmazione e che abbiate solo una vaga idea di cosa sia un programma e di cosa faccia un programmatore
  • Useremo python 3
  • Useremo l'interfaccia Jupyter Lab e i notebook Jupyter
  • Python verrà utilizzato per l'analisi dati di Sperimentazioni di Fisica
  • Utilizzate le tecniche imparate a TIF per fare/verificare gli esercizi di Analisi e Algebra/Geometria. Due piccioni con una fava
  • Questo corso mira a mettervi rapidamente in grado di utilizzare un calcolatore per fare le cose essenziali per uno studente di Fisica: fare calcoli, disegnare grafici. Useremo le librerie fondamentali: numpy, matplotlib, scipy
  • Start now, perfect it later. Molti dettagli importanti verranno lasciati da parte e ripresi in Introduzione alla Programmazione

Il nome Python non deriva dal serpente pitone ma da una surreale serie comica trasmessa dalla BBC fra il 1969 e il 1974.

Scaricate e installate la distribuzione Anaconda da https://www.anaconda.com/download (Windows,Linux,Mac) sul vostro laptop prima della prossima lezione¶

Organizzazione del corso¶

Il corso adotta la metodologia dell'INSEGNAMENTO CAPOVOLTO (https://it.wikipedia.org/wiki/Insegnamento_capovolto) o FLIPPED CLASSROOM (https://en.wikipedia.org/wiki/Flipped_classroom)

  • Il materiale sarà presentato in notebooks che dovranno essere scaricati e studiati prima delle lezioni
  • Le lezioni verranno utilizzate per mettere in pratica i concetti appresi dai notebook attraverso esercizi, approfondimenti, attività di gruppo
  • Durante le lezioni saranno presenti dei tutor per rispondere alle vostre domande
  • I notebook sono disponibili e scaricabili sul mio sito: http://personalpages.to.infn.it/~maina/didattica/TIF_2023 in formato html (sola lettura) e in formato ipynb (eseguibile). Si può scaricare l'intero tree da https://github.com/mainaezio/TIF_2023_Introduction_to_Python.git.

Valutazione¶

  • Il corso non ha voto finale. Approvato/Non approvato
  • Alla fine di alcune sessioni in laboratorio una prova con alcuni esercizi. Valutati.

Sarete informati delle date delle prove con sufficiente anticipo.

  • La prima prova sarà alla terza lezione in laboratorio.
  • Se almeno il 60% degli esercizi viene completato in modo soddisfacente l'esame è passato. Verrà registrato a gennaio. La difficoltà degli esercizi crescerà progressivamente. Un cattivo risultato nelle prime prove non impedisce di superare l'esame.

Soddisfacente vuol dire:

  • Il codice può essere eseguito: la sintassi è corretta
  • Il codice fornisce le risposte giuste
  • Iniziate a lavorare subito
  • Seguite le lezioni e fate con costanza gli esercizi e saranno i 3 crediti più facili della vostra carriera
  • Se preferite un esame più tradizionale, sarà possibile (ma fortissimamente sconsigliato) averne uno alla fine del semestre. Consisterà di esercizi da risolvere in laboratorio

Metodo di apprendimento¶

  • Non potete imparare a programmare mandando a memoria
  • Imparate solo facendo. Fare significa sedersi al computer, battere i comandi e, provando e riprovando, farli funzionare, ottenendo il risultato corretto
  • 1 CFU equivale a 25 ore di impegno per lo studente di cui solo 8 sono di lezione.
  • Molte delle abilità che svilupperete nello scrivere programmi, la capacità di analizzare un problema e di spezzarlo in elementi semplici, l'attenzione a tutti i dettagli, la capacità di rendersi conto se il risultato ottenuto è sensato e la capacità di trovare dove si è sbagliato se non lo è, sono le abilità necessarie per comprendere e risolvere qualsiasi problema fisico
  • La partecipazione attiva durante le lezioni è molto apprezzata
  • La collaborazione durante i laboratori, con l'eccezione del periodo d'esame, è fortemente incoraggiata
  • Becoming fluent in technical English is a must

Informazioni pratiche¶

  • Il mio indirizzo email è maina@to.infn.it
  • Registatevi al corso appena possibile sulla pagina Campusnet del corso in modo che io possa raggiungervi via mail per eventuali comunicazioni.

Strumenti bibliografici addizionali¶

Il materiale su Python sul web è talmente abbondante che diventa difficile raccapezzarsi. Non tutte le informazioni sono aggiornate.
Qualche suggerimento:

Tutorial di Python:
Real Python: Introduction to Python
The Python Tutorial

Tutorial di Jupyter:
Real Python: Jupyters Notebook: An Introduction

Libri/Lezioni:
Hans Fanghor - Python for Computational Science and Engineering
Robert Johansson - Scientific Computing with Python
Allen Downey - Think Python
Sven Linge, Hand Petter Langtangen - Programming for Computations

In [ ]: