Seminario
Algoritmi Python
Relatore: David Leoni david.leoni@unitn.it
Assistente: Massimiliano Luca massimiliano.luca@unitn.it
Docente proponente: Ivano Bison
Anno 2018 - ediz Maggio
Queste slide : davidleoni.it/ap18
Obiettivi
Programma Google Calendar
Vedere slide successiva per appelli
Data | Argomento | Orario | Aula |
03/05/2018 | Ricerca su liste, ordinamenti | 16.00 - 19.00 | Lab 3 |
10/05/2018 | Dizionari, liste di liste, intro matrici | 16.00 - 19.00 | Lab 3 |
17/05/2018 | Matrici | 16.00 - 19.00 | Lab 3 |
24/05/2018 | Strutture ad albero, formati json, xml | 16.00 - 19.00 | Lab 3 |
25/05/2018 | Operazioni su sequenze, list comprehension | 9.00 - 12.00 | Lab 3 |
31/05/2018 | Introduzione ai database | 16.00 - 19.00 | Lab 3 |
Appelli per modalità d’esame, vedere slide seguente
Mandate una mail a david.leoni@unitn.it per farmi sapere a quali date intendete iscrivervi (se non rispondo consideratevi iscritti). Chi avesse problemi a partecipare agli appelli, faccia sapere che troviamo una qualche soluzione.
14/06/2018 | Appello 1 | Lab 3 | 17.00 | 19.00 |
21/06/2018 | Appello 2 | Lab 3 | 17.00 | 19.00 |
28/06/2018 | Appello 3 | Lab 3 | 17.00 | 19.00 |
Modalità d’esame
Editor: usaremo Spyder, perchè Jupyter ogni tanto inchioda Windows quando si fanno while infiniti. Quindi esercitatevi prima con Spyder
Materiale: L'esame sarà open book, se volete potete portarvi stampe di
- Pensare in Python�- i tutorial di Nicola Cassetta�- la documentazione ufficiale di Python 3�- slide del corso (anche fondamenti)
Questo materiale sarà comunque anche disponibile nei computer del laboratorio.
Molto probabilmente gli esercizi dell'esame saranno versioni leggermente modificate di esempi presi dal libro Pensare in Python e dai tutorial di Nicola Cassetta, quindi se vi fate tutte la parti indicate nelle slide avrete ottime probabilità di passare l'esame.
Materiale del corso
Libro Pensare in Python seconda edizione (Think Python)
Sito Tutorial Python di Nicola Cassetta
(+ qualche riferimento occasionale da sito SoftPython di David Leoni)
Google Colab
Per ciascuna lezione ci sarà un foglio condiviso su cui potrete temporaneamente editare per la durata della lezione (non vandalizzateli, grazie).
Software usati in laboratorio:
Python 3
Sistema operativo: Windows
Distribuzione: Anaconda
Editor durante il corso: Jupyter
Editor durante l’esame: Spyder
il TRE ! NON il due !
Spyder è un IDE, Integrated Development Editor.
Per eseguire il codice: F5
Per eseguire una sola riga o testo selezionato: F9
Ma va anche su Mac, Linux, dappertutto !
Distribuzione = Python + pacchetti python + librerie native
Jupyter è un notebook, cioè permette di inserire comandi Python in celle e vedere subito il risultato nella cella successiva
Python 3
Sistema operativo: Windows, Mac, Linux, ...
Distribuzione: Windows: Anaconda
Mac: Homebrew
Linux: librerie di sistema
Editor: Jupyter, Spyder
il TRE ! NON il due !
Distribuzione =
Python + pacchetti python + librerie native
Fatelo, perchè….
se non scrivete codice Python,
non imparate Python!
Ottimo sistema per visualizzare online l’esecuzione di codice Python
Sfruttatelo più che potete
Dovrebbe funzionare con la maggior parte degli esempi che tratteremo a lezione
Python Tutor 2/4
Python Tutor 3/4
Provate a inserire:
x = 5
y = 7
z = x + y
Python Tutor 4/4
Cliccando su Forward visualizzerete i cambiamenti nella memoria di Python
Lezione 1 - liste avanzate
Lezione 2 - Dizionari, liste di liste, intro matrici
Google Colab 2: link
Lezione 3 - Matrici
Google Colab 3: link
Lezione 4 - Strutture ad albero, formati JSON e XML
Google Colab 4: link
Per avere un idea del formato JSON:
Lezione 5 - Operazioni su sequenze, list comprehension
Lezione 6 - Database
Seguiremo il tutorial dal corso softpython
Google colab: link