{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "TECNICHE INFORMATICHE PER LA FISICA\n", "====================================\n", "Ezio Maina\n", "-----------" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- 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\n", "- Useremo python 3\n", "- Useremo l'interfaccia Jupyter Lab e i notebook Jupyter\n", "- Python verrà utilizzato per l'analisi dati di Sperimentazioni di Fisica\n", "- Utilizzate le tecniche imparate a TIF per fare/verificare gli esercizi di Analisi e Algebra/Geometria. Due piccioni con una fava\n", "- 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\n", "- Start now, perfect it later. Molti dettagli importanti verranno lasciati da parte e ripresi in Introduzione alla Programmazione\n", "\n", "
\n", " \n", "
\n", " \n", "Il nome Python non deriva dal serpente pitone ma da una surreale serie comica trasmessa dalla BBC fra il 1969 e il 1974. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Scaricate e installate la distribuzione Anaconda da https://www.anaconda.com/download (Windows,Linux,Mac) sul vostro laptop prima della prossima lezione" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Organizzazione del corso\n", "-------------------------\n", "\n", "Il corso adotta la metodologia dell'**INSEGNAMENTO CAPOVOLTO** (https://it.wikipedia.org/wiki/Insegnamento_capovolto)\n", "o **FLIPPED CLASSROOM** (https://en.wikipedia.org/wiki/Flipped_classroom)
\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Il materiale sarà presentato in notebooks che dovranno essere scaricati e studiati **prima** delle lezioni\n", "- Le lezioni verranno utilizzate per mettere in pratica i concetti appresi dai notebook attraverso esercizi, approfondimenti, attività di gruppo\n", "- Durante le lezioni saranno presenti dei tutor per rispondere alle vostre domande\n", "- 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." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Valutazione\n", "-----------\n", "\n", "- Il corso non ha voto finale. Approvato/Non approvato\n", "- Alla fine di alcune sessioni in laboratorio una prova con alcuni esercizi. Valutati.\n", "\n", "Sarete informati delle date delle prove con sufficiente anticipo.\n", "\n", "- La prima prova sarà alla terza lezione in laboratorio." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- 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.\n", "\n", "Soddisfacente vuol dire:\n", "\n", "- Il codice può essere eseguito: la sintassi è corretta\n", "- Il codice fornisce le risposte giuste" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Iniziate a lavorare subito\n", "- Seguite le lezioni e fate con costanza gli esercizi e saranno i 3 crediti più facili della vostra carriera\n", "- Se preferite un esame più tradizionale, sarà possibile (ma *fortissimamente* sconsigliato) averne uno alla fine del semestre. Consisterà di esercizi da risolvere in laboratorio" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Metodo di apprendimento\n", "-----------------------\n", "\n", "- Non potete imparare a programmare mandando a memoria\n", "- Imparate solo facendo. Fare significa sedersi al computer, battere i comandi e, provando e riprovando, farli funzionare, ottenendo il risultato corretto\n", "- 1 CFU equivale a 25 ore di impegno per lo studente di cui solo 8 sono di lezione.\n", "- 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" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- La partecipazione attiva durante le lezioni è molto apprezzata\n", "- La collaborazione durante i laboratori, con l'eccezione del periodo d'esame, è fortemente incoraggiata\n", "- Becoming fluent in technical English is a must " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Informazioni pratiche\n", "\n", "- Il mio indirizzo email è \n", "- Registatevi al corso appena possibile sulla [pagina Campusnet del corso](https://fisica.campusnet.unito.it/do/corsi.pl/Show?_id=c6ay)\n", "in modo che io possa raggiungervi via mail per eventuali comunicazioni.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Strumenti bibliografici addizionali\n", "\n", "Il materiale su Python sul web è talmente abbondante che diventa difficile raccapezzarsi. Non tutte le informazioni sono aggiornate.
\n", "Qualche suggerimento:
\n", " \n", "Tutorial di Python:
\n", "[Real Python: Introduction to Python](https://realpython.com/learning-paths/python3-introduction/)
\n", "[The Python Tutorial](https://docs.python.org/3/tutorial/)\n", " \n", "Tutorial di Jupyter:
\n", "[Real Python: Jupyters Notebook: An Introduction](https://realpython.com/jupyter-notebook-introduction/)\n", "\n", "Libri/Lezioni:
\n", "[Hans Fanghor - Python for Computational Science and Engineering](https://fangohr.github.io/teaching/python/book.html)
\n", "[Robert Johansson - Scientific Computing with Python](http://raw.github.com/jrjohansson/scientific-python-lectures/master/Scientific-Computing-with-Python.pdf)
\n", "[Allen Downey - Think Python](http://www.greenteapress.com/thinkpython/html/index.html)
\n", "[Sven Linge, Hand Petter Langtangen - Programming for Computations](https://link.springer.com/book/10.1007/978-3-319-32428-9)
" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "hide_input": false, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.12" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 4 }