Approccio metodologico alla programmazione (PAS)

Questa è la pagina del primo modulo didattico del PAS per il settore «Informatica» (A042).

Modalità e calendario delle prove

In fondo a questa pagina trovate le modalità d’esame e il calendario delle prove per il primo appello.

Argomento del corso e materiale didattico

Obiettivo del corso è presentare un approccio metodologico alla programmazione basato su una serie di analogie con il metodo scientifico che costituisce il paradigma culturale centrale delle discipline scientifiche e tecniche insegnate nella scuola superiore.

Ogni lezione sarà accompagnata da materiale di riferimento di volta in volta segnalato in questa sezione della pagina. Tale materiale sarà costituito da: libri di testo e approfondimento, articoli e pubblicazioni varie, software e strumenti.

Lo scaffale del programmatore contiene una serie di riferimenti aggiuntivi, legati all’ambito della programmazione e non solo.

Tutti i sorgenti ed il materiale addizionale è raccolto in un apposito repository il cui accesso è consentito previa autorizzazzione da parte del docente.

Organizzazione dei contenuti

Il corso è organizzato in 5 lezioni di teoria e 4 lezioni di laboratorio. Le lezioni si tengono dalle ore 15:00 alle ore 18:00 in una delle aulette.

Una descrizione di massima degli argomenti trattati è contenuta nella tabella seguente:

Data

Tipo

Argomento

13 febbraio

T-1

Gli elementi concettuali della programmazione, Scratch

14 febbraio

L-1

Esercizi con Scratch

19 febbraio

T-2

Introduzione al linguaggio Python

20 febbraio

T-3

Cenni alla libreria standard di Python

21 febbraio

L-2

Esercizi con Python

26 febbraio

L-3

Esercizi con Python

27 febbraio

T-4

Proposte di progetto finale

28 febbraio

L-4

Esercizi con Python

5 marzo

T-5

Discussione delle proposte di progetto finale

La scansione degli argomenti corrisponde logicamente a tre moduli concettuali: Formulare una teoria, Dedurre comportamenti e Osservare.

Formulare una teoria

Questo modulo copre le prime tre lezoni: le prime due di natura più «motivazionale» hanno per argomento gli elementi concettuali della programmazione e sono incentrate sullo strumento visuale di programmazione Scratch; l’ultima lezione offre una introduzione al (segmento imperativo della versione 3 del) linguaggio Python, che sarà utilizzato nella restante parte del corso.

Dedurre comportamenti

Questo modulo copre le successive tre lezoni che, anche grazie all’introduzione delle funzionalità offerte dalla libreria standard di Python, verteranno sullo sviluppo di alcuni progetti di programmazione che si prestano a cogliere gli aspetti di progetto e deduttivi legati alla programmazione; gli esempi sono scelti anche in funzione della loro attrattività interdisciplinare.

Osservare

Questo modulo copre le ultime tre lezoni che hanno per argomento debugging e testing che, tra gli argomenti collegati alla programmazione, sono quelli che più naturalmente si pongono in relazione con il metodo scientifico. In fine, saranno accennati i temi della calcolabilità (teoremi di Kleene e Rice) e complessità attraverso esempi concreti basati su Python.

Modalità d’esame e calendario delle prove

Modalità d’esame

L’esame si compone di tre parti:

  • la stesura di un «progetto di didattica della programmazione» (da svolgere a casa e consegnare secondo le modalità illustrate di seguito),

  • la soluzione di alcuni semplici esercizi di programmazione (da svolgere in laboratorio, nella prima ora di ciascuna sessione d’esame),

  • la discussione orale del progetto e delle soluzioni agli esercizi di cui sopra (da svolgere entro il termine della sessione d’esame).

Segue una illustrazione delle varie parti e relative modalità di consegna o svolgimento a cui i candidati sono pregati di attenersi.

Il progetto

Il progetto di didattica della programmazione è costituito da una breve relazione e da un prototipo di codice che illustrino il materiale didattico che il candidato intende utilizzare per svolgere una, o più, lezioni tese a mostrare agli studenti, in modo convincente ed efficace e nello spirito illustrato durante il corso, uno degli aspetti precipui della programmazione (elaborazione automatica dell’informazione, strutture di controllo, strutture dati, costrutti paradigmatici…).

La relazione deve essere consegnata in formato PDF (Portable Document Format) e avere un forntespizio che rechi: il cognome e nome del candidato, il titolo dell’insegnmento cui si riferisce, la data di consegna e un breve titolo.

Il prototipo di codice (composto da uno, o più file sorgente, preferibilmente in Python 3.x — ma, previo accordo coi docenti, anche in altro linguaggio a scelta del candidato) deve funzionare correttamente e costituire parte del materiale didattico su cui il candidato intende basarsi nel corso delle lezioni. Assieme al codice sorgente va eventualmente consegnato tutto il materiale accessorio e necessario al funzionamento del codice.

La relazione ed il codice vanno consegnate sotto forma di un solo archivio ossia di un (singolo) file in formato ZIP contenente tutto il materiale. La consegna va effettuata entro 72 ore prima della sessione d’esame tramite l’apposito sito di upload nella sessione «METODI PER L’INSEGNAMENTO DELLA PROGRAMMAZIONE (PAS A042) ELABORATO FINALE, PRIMO APPELLO» a cui potete accedere tramite le credenziali che vi sono state assegnate per l’accesso alle risorse di calcolo del SiLab.

Attenzione

Si osservi che il materiale consegnato fuori dai termini di scandenza, in formato diverso da quello prescritto (ad esempio, costituito da più file di tipo diverso e non da un archivio), o con modalità diverse da quelle indicate (ad esempio per email) non sarà preso in considerazione.

Esercizi di programmazione

All’inizio della sessione d’esame, al candidato verranno assegnati alcuni semplici esercizi di programmazione allo scopo di valutare la sua capacità di risolere problemi elementari attraverso l’uso della programmazione. Il candidato avrà un’ora a disposizione per svolgere gli esercizi in Python 3.x oppure, previo accordo coi docenti, in qualunque altro linguaggio di programmazione (preferibilmente, per cui le risorse di calcolo del laboratorio comprendano un ambiente di sviluppo, ossia un interprete, o compilatore).

La soluzione agli esercizi sarà valutata durante la prima parte della discussione orale. I candidati che non saranno in grado di svolgere in modo corretto la metà più uno degli esercizi assegnati non potranno concludere la prova orale e dovrnno pertanto presentarsi ad un appello successivo.

Discussione orale

La discussione orale verterà sul progetto didattico e sulla soluzione degli esercizi, nonchè su tutto il materiale presentato durante il corso, e sarà tesa a mettere in luce le capacità didattiche del candidato nell’ambito della programmazione.

Calendario delle prove

Di seguito sono riporate le date di convocazione dei candiati. Le prove si svolgono a partire dalle ore 14:30 alle ore 18:30 in aula Omega.

I candidati che non possono presentarsi alla data loro assegnata possono, previo accordo con un altro candidato e dandone segnalazione ai docenti con congruo anticpio, effettuare un singolo scambio (ossia il candidato A può presentarsi alla data assegnata al cadidato B e viceversa).

I candidati che non si presenteranno alla data assegnata (o in quella che deriva da uno scambio effettuato secondo le modalità di cui sopra) saranno considerati assenti e dovranno pertanto presentarsi ad un appello successivo.

Data

Candidati

Giovedì 27 marzo

Valbonesi, Vallone, Zuccalà, Scorza

Giovedì 3 aprile

Mileo, Tottoli; L. Catapano, Macario

Venerdì 11 aprile

De Santis, D’Onghia, A. Catapano, Cremascoli