Python è il linguaggio di programmazione più usato nelle università tecniche italiane, dall’ingegneria alla fisica passando per data science e bioinformatica. La buona notizia è che si può imparare bene in poche settimane, se segui una progressione sensata. La cattiva è che il 90% dei tutorial online ti fa partire dalla parte sbagliata.
Questa è la roadmap che uso con i miei studenti: sei settimane, due ore al giorno, con esercizi mirati e collegamenti diretti a matematica e fisica del liceo.
Settimana 1: basi del linguaggio
Obiettivo: scrivere il primo programma e capire cosa è una variabile, un tipo, un’espressione.
- Installazione di Python e di un editor (consiglio Visual Studio Code).
- Tipi base:
int,float,str,bool. - Operatori aritmetici (
+ - * / // % **) e logici (and or not). - Input e output con
input()eprint(). - Controlli di flusso:
if,elif,else.
Esercizio chiave della settimana: scrivi un programma che chiede all’utente i coefficienti a, b, c di un’equazione di secondo grado e stampa le soluzioni reali (o un messaggio se il discriminante è negativo). Esercizio classico, ma copre tutto quello che hai visto.
Settimana 2: cicli e strutture dati
Obiettivo: capire come ripetere operazioni e raccogliere dati.
whileefor.- Liste, tuple, dizionari, set: cosa sono e quando usarli.
- Indicizzazione e slicing (
lista[2:5]). - Comprensioni di lista (
[x**2 for x in range(10)]).
Esercizio: dato un elenco di voti di una classe, calcola media, voto massimo e numero di voti sopra il 6. È il tipo di problema che ti farà vedere quanto Python sia più rapido di un foglio di calcolo per certe cose.
Settimana 3: funzioni e modularità
Obiettivo: scrivere codice riutilizzabile.
- Definizione di funzioni con
def. - Argomenti posizionali, di default,
*argse**kwargs. - Scope delle variabili (locale vs. globale).
- Return values multipli (
return a, b). - Importare moduli (
math,random).
Esercizio: scrivi una funzione risolvi_secondo_grado(a, b, c) che restituisce una tupla con le due soluzioni (o None se reali non ci sono). Poi scrivi una funzione che prende una lista di terne e applica la prima a tutte. Stai costruendo un mini-toolkit.
Settimana 4: file, errori e librerie scientifiche
Obiettivo: leggere dati dal mondo reale e usarli.
- Lettura e scrittura di file (
open,with). - Gestione delle eccezioni con
try / except. - Introduzione a NumPy: array, operazioni vettorizzate.
- Introduzione a Matplotlib: il primo grafico.
Esercizio: leggi da un file CSV una serie di misure (per esempio, posizione e tempo di un oggetto in caduta libera), calcola la velocità media tra coppie di punti consecutivi e disegna il grafico velocità-tempo. Qui Python smette di essere “un giochino” e diventa uno strumento.
Settimana 5: applicare Python a matematica e fisica
Obiettivo: usare quello che sai per risolvere problemi del programma scolastico.
- Calcolo numerico di derivate e integrali (metodo di Eulero, regola dei trapezi).
- Risoluzione di equazioni con il metodo di bisezione.
- Simulazione del moto di un proiettile con resistenza dell’aria.
- Plot di funzioni e studio grafico di max e min.
Un esempio concreto: simulare il moto di un grave con dt = 0.01 e l’integrazione di Eulero. In 30 righe ottieni la traiettoria, e puoi giocare con angolo, velocità iniziale, attrito. Quando ho fatto questo esercizio con uno studente di quarta, ha capito la cinematica meglio di quanto avesse fatto in tre mesi di scuola.
Se vuoi una panoramica completa di cosa si fa nel corso di informatica, c’è la pagina dedicata con i programmi che seguo.
Settimana 6: progetto personale
Obiettivo: applicare tutto a qualcosa che ti interessa.
Niente di astratto: scegli un progetto concreto. Esempi che ho assegnato:
- Un convertitore di unità di misura (forze, energie, pressioni) per un esame di fisica.
- Un quiz di matematica con punteggio e cronometro.
- Un programma che scarica e plotta i dati di una stazione meteo.
- Un risolutore di sistemi lineari 3x3 con metodo di Cramer.
Il progetto è la parte che resta. Le sei settimane di esercizi sono il pretesto per arrivare qui con basi solide.
Errori da evitare nelle prime settimane
- Saltare gli esercizi: leggere codice senza scriverlo non insegna niente.
- Copiare senza capire: se prendi una soluzione da Stack Overflow o da un assistente AI, ricostruiscila riga per riga.
- Iniziare con framework complessi: Django, Flask, machine learning sono utili, ma non al primo mese. Stai lì sui fondamentali.
- Non leggere gli errori: il messaggio di errore di Python ti dice quasi sempre dove e cosa è andato storto. Leggilo, non chiudere il terminale.
Quando ha senso avere un tutor
Il problema di imparare Python da soli non è il linguaggio: è capire perché una certa soluzione è buona e un’altra no, perché un certo errore è strutturale e un altro è banale. Una lezione settimanale, anche solo per la prima fase, accorcia mesi di tentativi.
Se vuoi seguire questa roadmap con qualcuno che corregge i tuoi esercizi e ti aiuta a costruire il progetto finale, scrivimi su WhatsApp oppure dai un’occhiata ai pacchetti. Posso costruirti un percorso adattato al tuo livello e ai tempi che hai.