Matematica con Python
Algoritmi | Simulazioni | Matematica | Applicazioni
Usa il computer per esplorare la matematica
Hai mai pensato di usare Python non solo per programmare, ma per esplorare problemi matematici, simulare fenomeni e mettere alla prova le tue idee?
In questo laboratorio partiremo da programmi già funzionanti, ne capiremo il funzionamento e li modificheremo per fare esperimenti. Dalla generazione dei frattali alla ricerca del percorso migliore, dalle simulazioni casuali ai database, arriveremo a costruire una piccola applicazione Web.
Non servono formule complicate: servono curiosità e voglia di sperimentare.
età: 12 anni +
COMPETENZE RICHIESTE
È necessaria una conoscenza di base di Python: variabili, condizioni, cicli e strutture dati semplici.
STRUMENTI
Useremo Python, VS Code, GitHub e SQLite. Nella parte finale entreremo nel mondo delle applicazioni Web con Django. E' necessario un PC con connessione ad internet.
ATTITUDINE
La cosa più importante è la curiosità. Non sarà necessario conoscere già gli algoritmi o la matematica che incontreremo: li scopriremo attraverso gli esperimenti.
finalità
Imparare Python attraverso la matematica
L’obiettivo non è imparare nuove istruzioni Python a memoria, ma imparare a leggere un programma, capire un algoritmo, modificarlo, sperimentare e interpretare i risultati.
Il computer diventa così un vero laboratorio per esplorare problemi matematici e scientifici.
Calendario
Obiettivi del percorso
Il programma è una mappa, non un percorso obbligato. Gli argomenti potranno essere approfonditi o modificati anche in base agli interessi dei partecipanti. I problemi più semplici permetteranno di partire tutti insieme; quelli più aperti lasceranno spazio a chi vorrà andare più lontano.
Step 1
Python come laboratorio matematico
Partiremo da problemi semplici ma sorprendenti: stimare π con il metodo Monte Carlo, visualizzare sequenze numeriche e studiare problemi come la congettura di Collatz.
In parole semplici: useremo il computer per fare esperimenti e verificare cosa succede quando cambiamo le condizioni.
Step 2
Quando poche regole creano mondi complessi
Scopriremo frattali, caos e sistemi dinamici. Costruiremo immagini come l’insieme di Mandelbrot e vedremo come piccole variazioni nelle condizioni iniziali possano produrre risultati completamente diversi.
In parole semplici: come può una regola molto semplice generare qualcosa di così complicato?
Step 3
Algoritmi: cercare, ordinare, trovare la soluzione
Affronteremo problemi come trovare un percorso in un labirinto, ordinare una serie di numeri o trovare un percorso ottimale tra molte città.
Confronteremo strategie diverse, come BFS, DFS, Dijkstra, ricerca esaustiva e algoritmi greedy, osservando quanto può cambiare il risultato scegliendo un algoritmo invece di un altro.
In parole semplici: spesso il problema non è solo trovare una soluzione, ma trovare un modo intelligente per trovarla.
Step 4
Simulare il mondo
Useremo numeri casuali e simulazioni per studiare probabilità, geometria e fenomeni più complessi.
Potremo simulare una passeggiata casuale, il movimento di particelle o la diffusione di un fenomeno e confrontare ciò che osserviamo con le nostre aspettative.
In parole semplici: quando un fenomeno è troppo complicato da calcolare direttamente, possiamo provare a simularlo migliaia di volte.
Step 5
Dai programmi ai dati
I programmi producono dati. Ma come possiamo salvarli, organizzarli e ritrovarli?
Scopriremo database, SQLite e SQL, imparando a interrogare i dati e a costruire semplici relazioni tra informazioni.
In parole semplici: costruiremo un archivio che il nostro programma può consultare e aggiornare.
Step 6
Dal programma al Web
Nella parte finale faremo un passo in più: trasformeremo alcuni degli algoritmi incontrati nel corso in una piccola applicazione Web.
Con Django capiremo cosa succede quando premiamo un pulsante nel browser, come il server esegue Python e come i risultati possono essere salvati nel database.
Alla fine proveremo a pubblicare online il nostro progetto.
In parole semplici: quello che abbiamo scritto sul computer diventa qualcosa che possiamo usare direttamente dal browser.
Al termine del laboratorio
COMPETENZE CHE SVILUPPERAI
COMPETENZE TECNICHE
Imparerai a leggere e comprendere codice Python, riconoscere e confrontare algoritmi, costruire simulazioni e visualizzazioni e lavorare con dati e database e le basi delle applicazioni web.
COMPETENZE TRASVERSALI
Svilupperai un metodo per affrontare un problema, formulare un'idea, scrivere un programma, sperimentare e capire dai risultati se la tua idea funziona.
