PON Algoritmi Avanzati @Liceo Da Vinci

Docente :    David Leoni     david.leoni.work@gmail.com
Sito del corso :     davidleoni.it/dvds
Ambito: PON TEC-THINK EXPLORE CREATE
Sede: Liceo Scientifico Da Vinci, Trento

Materiale su Python

Guida Python di Nicola Cassetta
(ai quiz ci si arriva anche cliccando in fondo alla pagina di ogni lezione)

Lezione 1: Uso di Idle – Espressioni con numeri e Quiz
Lezione 2: Stringhe e dati booleani e Quiz
Lezione 3: Variabili e tipi di dato e Quiz
Lezione 4: Funzioni e Quiz
Lezione 5: il primo programma e Quiz
Lezione 6: La funzione input() e Quiz
Lezione 7: Le istruzioni condizionali if then else e Quiz
Lezione 8: l’istruzione while e Quiz
Lezione 9: break e continue e Quiz
Lezione 10: i moduli e Quiz
Lezione 11: le liste e Quiz
Lezione 12: tuple e range e Quiz
Lezione 13: L’istruzione for e Quiz
Lezione 16: definizione di funzioni e Quiz
Lezione 17: Ancora sulle funzioni e Quiz

Per dizionari, vedere: Pensare in Python: Capitolo 11

Per altri riferimenti su Python vedere sito SoftPython, sezione Materiale

Orario e contenuti

Modulo A – Data Wrangling

Mercoledì 12 Febbraio 14:00-16:00
A.1 Tuffiamoci nei dati
–  introduzione (slide)
formati dati (slide)
Mercoledì 19 febbraio 14:00 – 16:00
A.2 Dati, produttori, licenze
formati dati (slide) (proseguito fino a tutorial pubs and cafè Trento)

Modulo B – Fondamenti Python


Mercoledì 26 febbraio 14:00 – 16:00
B.1 Robocards
Animali popolari
Robocards
– input
– dizionario
liste
– while

Mercoledì 29 aprile 14:00 – 17:00
B.2 Robocards con funzioni

Tools (slide) – in particolare online
– finiamo Robocards
Tutorial Raspberry Foundation
– Progetto Trinket Robocards con funzioni:
da modificare
completo

Mercoledì 6 maggio 14:00 – 17:00
Role Playing Game

– Tutorial RPG Raspberry Foundation
– RPG Grafico con Funzioni:
Trinket con funzioni, da modificare
Trinket con funzioni, completo

Mercoledì 13 maggio 14:00 – 17:00

Tutorial Creazioni colorate Raspberry Foundation
– dizionari
– color encoding
– turtle

Tutorial Arte moderna Raspberry Foundation
– funzioni
– cicli for in range
– turtle

Progetto Trinket da modificare (LEGGERE LE NOTE INIZIALI !!!)Finire RPG Grafico con funzioni
Trinket con funzioni, da modificare
Trinket con funzioni, completo

Possibili aggiunte:
– punti vita:
– si parte con 15 punti vita
– se il giocatore incontra il mostro, perde 5 punti vita
– con 0 punti è game over
– aggiungere comando ‘drink potion’, che funziona solo se si ha
la pozione e fa guadagnare 10 punti vita, che però non possono
superare 15
– mostrarli a video
– aggiungere oggetto spada: se si ha la spada e si incontra il mostro, questo
viene ucciso
– aggiungere campo booleano ‘luce’ ad una stanza
– Se la stanza ha ‘luce’ a False, non è possibile raccogliere oggetti
– mostrare il valore del campo a video
– aggiungere item ‘torcia’: se si possiede la torcia, il valore di ‘luce’
non ha effetto
– muovere il mostro a caso:
– per debuggare, all’inizio vi conviene fissare la direzione in cui
si muove (per es sempre a nord)

Mercoledì 20 maggio 14:00 – 17:00

Tutorial Arte moderna Raspberry Foundation
– funzioni
– cicli for in range
– turtle

Tutorial Gara di tartarughe Raspberry Foundation
– cicli for in range
– numeri casuali
– turtle
Aggiunte:
– aggiungere una lista vincitori con ordine di vittoria. Quando una tartaruga tart arriva, chiamare vincitori.append(tart)
– far ruotare solo il vincitore


Mercoledì 27 maggio 14:00 – 17:00

Tutorial Dov’è la Stazione Spaziale Raspberry Foundation
Trinket con funzioni, da modificare (usa file gif !!)
– Trinket Con Funzioni, completo (usa file gif !!)
– chiamate webapi, ciclo for, dizionari, liste, turtle,
– (aggiunta: funzioni) (aggiunta: ciclo while)
– Usabile anche in repl.it con Python TRE (la configurazione con Python 3 permette di aggiungere file come immagini e anche usare turtle – anche se è un po’ instabile e disegna il testo troppo grande rispetto a trinket)

This image has an empty alt attribute; its file name is image.png

Tutorial Gioco Snake su Edureka (in inglese)
Progetto Trinket da modificare (LEGGERE LE NOTE INIZIALI !!!)
Progetto Trinket Completo
– funzioni, if, for, liste, turtle, input
Possibili aggiunte:
– aggiungere possibilità di muoversi in diagonale con lettere QEZC
– aggiungere nemici grandi come un quadratino che si muovono in orizzontale da un lato all’altro
– far muovere i nemici sempre verso la testa del serpente
– usare un triangolo per la testa del serpente. Il triangolo deve sempre puntare nella direzione di movimento.
– Dopo che il serpente ha mangiato, aggiungere scritta “BURP!” in prossimità della testa

Mercoledì 3 giugno 14:00 – 17:00
Tutorial Asteroids

Lunedì 8 giugno 14:00 – 17:00
Tutorial Asteroids (aggiornato):
– bomba di prossimità

Mercoledì 10 giugno 14:00 – 17:00
Tutorial Asteroids (aggiornato):
– bomba positronica
– buchi neri e attrazione gravitazionale
– menzione Marble Madness