"
]
},
{
"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
}