INTRODUZIONE

COME E' NATO IL TUTORIAL

Da qualche anno (ho iniziato nel 2015) sto tenendo dei corsi pomeridiani di programmazione in Python per gli studenti della mia scuola (Liceo Scientifico). Ricordo che all'epoca, preparando il materiale, trovai poca documentazione didattica per Python 3 (molti tutorial erano vecchi di anni, fermi a Python 2 e non più aggiornati) ed alla fine decisi di scrivere da me qualche appunto e qualche programma da sottoporre agli studenti. Questi appunti sono stati poi rielaborati fino a confluire nel mio tutorial di base su Python 3.

Secondo la mia esperienza didattica molti giovani studenti si appassionano facilmente alla programmazione, ma il loro entusiasmo viene un po' frustrato dal fatto che tutto l'I/O, al livello di un principiante, si svolge attraverso l'interfaccia a caratteri della console. I ragazzi sono ormai abituati ad interagire con applicazioni piene di effetti grafici e quindi vorrebbero rapidamente raggiungere qualche risultato di questo tipo.

Le interfaccie grafiche sono però legate alla programmazione orientata agli oggetti, in quanto i vari elementi che le compongono (finestre, bottoni, etc.) non sono facilmente rappresentabili con i tipi di dati fondamentali, ma sono appunto "oggetti" piuttosto complessi. Python, come tutti i linguaggi più moderni, permette questo tipo di programmazione, ma questo argomento è decisamente complesso e non può essere trattato compiutamente in un tutorial introduttivo. Moltissime opere didattiche o programmi di esempio sulla grafica usano ampiamente le classi sin dall'inizio, tagliando fuori il principiante che conosce solo le caratteristiche di base del linguaggio.

Ho pensato quindi di scrivere un tutorial che trattasse la grafica usando inizialmente solo concetti basilari, fornendo man mano le informazioni teoriche necessarie e tenendo sempre d'occhio la facilità e il divertimento di chi sta imparando. Ho scelto di usare pygame, una libreria orientata alla creazione di videogiochi (vedi il sito ufficiale) e che ha ormai un'ampia base di utenti.

In definitiva, questi sono gli obiettivi di questa serie di lezioni:

A CHI E' RIVOLTO IL TUTORIAL

Questo tutorial presuppone quindi una conoscenza di base di Python 3. Tranne poche eccezioni, saranno usate solo le funzionalità più comuni del linguaggio (istruzioni per il controllo del flusso, liste, funzioni): sono tutti argomenti che potete trovare nel mio tutorial di base o in qualsiasi altro tutorial su Python 3 (ricordo che Python 2.x è ufficialmente dismesso dal gennaio 2020). Solo in alcune lezioni finali ho usato qualche funzionalità più evoluta, cercando sempre di darne una breve spiegazione. Per informazioni generali su Python bisogna sempre tenere conto del sito di riferimento italiano http://www.python.it. E' necessario anche conoscere IDLE, l'interfaccia per dialogare con Python inclusa nell'installazione standard, alla quale farò sempre riferimento. Naturalmente se sapete usare qualche IDE più evoluta come PyCharm tanto meglio.

CONTATTARE L'AUTORE

Per qualunque suggerimento e rilevazione di errori potete contattarmi all'indirizzo nicolaDOTcassettaATtiscaliDOTit. Ricordo che se avete domande specifiche su Python potete usare il forum del sito italiano, nel quale c'è una sezione appositamente dedicata ai principianti, dove si possono fare domande anche molto semplici.

Per chi è interessato ecco qui una piccola storia del tutorial.