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.

insieme di foto disposte in una griglia che illustrano le attività del laboratorio di matematica con python

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 1

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 2

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 3

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 4

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 5

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.

Step 6
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.

Torna in alto