6
1 Candidata: Buralli Lorella Classe di concorso: A076 Unità didattica Il lavoro preparato, è un modo per avvicinare gli alunni all’informatica e in particolare agli algoritmi. Benché non siano richiesti prerequisiti per lo studio della disciplina, in questa unità didattica, sono stati affrontati solo alcuni argomenti fondamentali per evitare di appesantire le lezioni con un approccio molto teorico, a cui i ragazzi non sono abituati. Il percorso è stato attuato in una classe prima di un Istituto Professionale e con alunni in possesso di conoscenze a livello intuitivo e una scarsa padronanza dei mezzi informatic i e della matematica di base. Premessa agli obiettivi: ad essere fondamentali non sono più le conoscenze, ma le abilità e le competenze, che bisognerebbe contribuire a sviluppare. Diventano quindi elementi di fondamentale importanza la conoscenza approfondita della classe, la collaborazio ne con gli insegnanti del medesimo team (o Consiglio di Classe), la collaborazione con gli insegnanti della medesima materia (riunioni di dipartimento), l’adesione al POF dell’istituto. Gli obiettivi didattici riguarderanno : Conoscere gli algoritmi e la metodologia per formalizzare il procedimento risolutivo di un problema. Riuscire a fare l’analisi di un problema e fornire una rappresentazione chiara e ordinata dell’algoritmo con linguaggio di progetto e con diagrammi di flusso. Conoscere e saper organizzare le istruzioni di un algoritmo usando le strutture di controllo di sequenza, selezione e ripetizione. Al termine dell’unità, gli alunni avranno il compito di effettuare delle verifiche di apprendimento attraverso discussione interattiva e partecipata con l’insegnante, tale da stimolare il feed-beek capace di generare nuovi quesiti e attività che potenziano ulteriormente i contenuti già enunciati. Tale attività in classe vista come momento di acquisizione di conoscenze e abilità, può prevedere lezioni frontali, lavori di gruppo, esercitazioni, studio individuale, creazione di brainstorming con l’obiettivo di stimolare le domande che titolo dell’unità e compito d i prestazione faranno nascere. PROVA UNIFICATA D'ESAME PER I CORSI: "ALGORITMICA E PROBLEM SOLVING", "LINGUAGGI DI PROGRAMMZIONE PER L’INSEGNAMENTO” “LABORATORIO DIDATTICO-PEDAGOGICO PER L’INSEGNAMENTO DEL’INFORMATICA 1”

Unità didattica - University of Pisasbrinz.di.unipi.it/peppe/UploadedFiles/EsameCisGroPre...1 Candidata: Buralli Lorella Classe di concorso: A076 Unità didattica Il lavoro preparato,

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Unità didattica - University of Pisasbrinz.di.unipi.it/peppe/UploadedFiles/EsameCisGroPre...1 Candidata: Buralli Lorella Classe di concorso: A076 Unità didattica Il lavoro preparato,

1

Candidata: Buralli Lorella Classe di concorso: A076

Unità didattica Il lavoro preparato, è un modo per avvicinare gli alunni all’informatica e in particolare agli algoritmi. Benché non siano richiesti prerequisiti per lo studio della disciplina, in

questa unità didattica, sono stati affrontati solo alcuni argomenti fondamentali per evitare di appesantire le lezioni con un approccio molto teorico, a cui i ragazzi non sono abituati.

Il percorso è stato attuato in una classe prima di un Istituto Professionale e con alunni in possesso di conoscenze a livello intuitivo e una scarsa padronanza dei mezzi informatic i e della matematica di base.

Premessa agli obiettivi: ad essere fondamentali non sono più le conoscenze, ma le abilità

e le competenze, che bisognerebbe contribuire a sviluppare. Diventano quindi elementi

di fondamentale importanza la conoscenza approfondita della classe, la collaborazione

con gli insegnanti del medesimo team (o Consiglio di Classe), la collaborazione con gli

insegnanti della medesima materia (riunioni di dipartimento), l’adesione al POF

dell’istituto.

Gli obiettivi didattici riguarderanno:

Conoscere gli algoritmi e la metodologia per formalizzare il procedimento risolutivo di un problema.

Riuscire a fare l’analisi di un problema e fornire una rappresentazione chiara e ordinata dell’algoritmo con linguaggio di progetto e con diagrammi di flusso.

Conoscere e saper organizzare le istruzioni di un algoritmo usando le strutture di controllo di sequenza, selezione e ripetizione.

Al termine dell’unità, gli alunni avranno il compito di effettuare delle verifiche di apprendimento attraverso discussione interattiva e partecipata con l’insegnante, tale da

stimolare il feed-beek capace di generare nuovi quesiti e attività che potenziano ulteriormente i contenuti già enunciati.

Tale attività in classe vista come momento di acquisizione di conoscenze e abilità, può prevedere lezioni frontali, lavori di gruppo, esercitazioni, studio individuale, creazione di brainstorming con l’obiettivo di stimolare le domande che titolo dell’unità e compito di

prestazione faranno nascere.

PROVA UNIFICATA D'ESAME PER I CORSI:

"ALGORITMICA E PROBLEM SOLVING", "LINGUAGGI DI PROGRAMMZIONE PER L’INSEGNAMENTO”

“LABORATORIO DIDATTICO-PEDAGOGICO PER L’INSEGNAMENTO DEL’INFORMATICA 1”

Page 2: Unità didattica - University of Pisasbrinz.di.unipi.it/peppe/UploadedFiles/EsameCisGroPre...1 Candidata: Buralli Lorella Classe di concorso: A076 Unità didattica Il lavoro preparato,

2

I contenuti potranno suddividersi in:

1. Informazioni e linguaggio: si definisce cos’è un’informazione, le sue

caratteristiche e i metodi utilizzati per trasmetterla attraverso un linguaggio. Si potranno porre in essere vari esempi per formalizzare un concetto già noto

come quello di informazione facendo ricorso a situazioni comuni (vedi

tabella a lato) per avvicinare gli alunni al concetto di INPUTELABORAZIONEOUTPUT.

Sarà importante usare un linguaggio che l’emittente conosce e il ricevente

sappia interpretare. Ad un live llo superiore, questo aiuterà l’alunno a comprendere che il linguaggio di programmazione non è altro che un modo per comunicare e trasmettere le

informazioni al calcolatore.

2. Caratteristiche generali del linguaggio: linguaggio formale dedicato a scopi

precisi e circoscritti, basato su simboli e regole ben precise prive di eccezione e

ambiguità. Dall’uso intuitivo del termine linguaggio si passa ad un suo uso più precipuo, un esempio di ambiguità potrebbe essere rappresentato dalla seguente frase:

“La giovane mente” può essere così interpretato dal ricevente :

a. C’è una persona giovane di genere femminile che non racconta la verità. b. C’è una persona la cui mente è giovane.

Dal linguaggio naturale, si dovrà dunque passare ad uno formale. Ogni linguaggio

è costruito su un alfabeto di simboli convenzionali detti caratteri. Ad esempio il linguaggio della logica usa le lettere dell’alfabeto (a,b,c,d,e,f…) per indicare le proposizioni, mentre utilizza i simboli ¬ (not), ^ (and), ˅ (or), → (implicazione),

↔ (doppia implicazione) per indicare i connettivi logici. Dunque il suo alfabeto sarà composto dall’insieme: A= {a, b, c, d, …, z, ¬, ^, ˅ , →, ↔}.

3. I linguaggi informatici: si definisce cos’è un linguaggio di programmazione e si

evidenziano le prime fasi concettuali nel processo di progettazione di un programma.

Si evidenzierà come il linguaggio di programmazione (noto anche come linguaggio d’alto livello) sia di fatto molto lontano dal codice binario (linguaggio a basso livello), cioè dal formato dei comandi che un pc è in grado di eseguire.

Potremo vedere, senza addentrarci nella programmazione vera e propria, come l’elaboratore sia in grado di comprenderlo, attraverso la traduzione da un

linguaggio all’altro, tramite particolari programmi detti compilatori o traduttori,

INFORMAZIONE EMITTENTE Direzione da prendere Cartelli stradali Possibilità di attraversare la strada

Semaforo

Orari dei voli Pagina internet Fatto di cronaca Pagina

quotidiano Determinazione area Formula

matematica

Page 3: Unità didattica - University of Pisasbrinz.di.unipi.it/peppe/UploadedFiles/EsameCisGroPre...1 Candidata: Buralli Lorella Classe di concorso: A076 Unità didattica Il lavoro preparato,

3

che trasformano il codice sorgente, scritto dal programmatore, in codice

macchina, eseguibile dal calcolatore. Per aiutare a comprendere questo concetto, potremmo paragonare il linguaggio di programmazione, ad un punto d’incontro,

un linguaggio intermedio, tra quello naturale ed il codice macchina.

4. Analisi e comprensione del problema: vengono affrontati in modo sistematico i

problemi analizzando i vari aspetti della loro formulazione, contribuendo a costituire una prima base di pensiero algoritmico. L’analisi consisterà

nell’affrontare in modo sistematico il problema, analizzandone i vari aspetti della formulazione: così facendo potremmo scomporre situazioni anche molto complesse e ricche di incognite in elementi riconoscibili e accessibili. La

comprensione del problema consiste nell’evidenziare i reali obiettivi del problema, le sue regole, i dati espliciti e impliciti ed eliminare i dettagli inutili e

ambigui affinché il tutto risulti il più chiaro ed essenziale possibile. 5. Caratteristiche dell’algoritmo : viene data una definizione di algoritmo

specificandone i tratti distintivi. Per algoritmo si intende la descrizione completa ed esaustiva di un insieme finito e ordinato di istruzioni, che devono essere

eseguite per portare a termine un dato compito e per raggiungere un risultato definito in precedenza.

6. Diagrammi a blocchi: si facilita la comprensione dell’algoritmo attraverso la sua rappresentazione grafica

Come si può facilmente capire, la lettura di un diagramma a blocchi è

estremamente semplice anche per chi non è particolarmente esperto nell’util izzo

degli algoritmi.

Gli elementi grafici utilizzati indicano la diversa natura delle operazioni.

Blocco terminale: è usato solo per indicare l’inizio e la fine

dell’algoritmo.

Blocco di comunicazione: al suo interno vengono scritte le operazioni

dialogo tra uomo e macchina (leggi, scrivi dati ecc...)

Blocco di elaborazione: contiene le istruzioni vere e proprie che

compiono operazioni.

7. Programmazione strutturata: si descrive la tecnica di programmazione che limita

l’utilizzo delle regole ammesse nella formulazione di un algoritmo. Con programmazione strutturata, si intende un paradigma di programmazione, ossia

Inizio

Leggi

valore lato

Comunica

risultato

Calcola perimetro

Calcola area Fine

Page 4: Unità didattica - University of Pisasbrinz.di.unipi.it/peppe/UploadedFiles/EsameCisGroPre...1 Candidata: Buralli Lorella Classe di concorso: A076 Unità didattica Il lavoro preparato,

4

uno stile fondamentale che ne fissa regole e limiti. Con questo le regole ammesse

per descrivere gli algoritmi si possono riassumere nelle seguenti: la sequenza (o concatenazione), la selezione (o alternativa), l’iterazione (o ciclo, ripetizione).

8. Linguaggio di pseudocodifica: cenni dell’utilizzo di un linguaggio di alto live llo.

Importante a questo punto sarà vedere alcuni elementi per descrivere algoritmi in

modo chiaro e ordinato. Prima dell’algoritmo vero e proprio è necessario dichiarare i dati da utilizzare specificandone il nome e il tipo con la parola

dichiara. Per esempio: dichiara base, altezza come numeri interi

Così facendo, abbiamo creato due variabili di tipo intero che al momento non

contengono alcun valore.

L’elenco delle istruzioni di un algoritmo comincia sempre con la parola inizio e

termina sempre con la parola fine. Vi sono poi alcune regole per comunicare

all’esecutore le istruzioni che compaiono in questa sezione. Per indicare

un’istruzione di acquisizione di dati, si usa il comando leggi, seguito dal nome

della variabile che deve essere letta. Per esempio:

leggi base

leggi altezza

Così facendo il calcolatore legge i dati contenuti nelle variabili base e altezza.

Per indicare la comunicazione di dati si usa il comando scrivi seguito dal nome

della variabile che deve essere scritta. Per esempio:

scrivi base

Così facendo il calcolatore scriverà il valore della base, fornendo l’output

direttamente all’utente.

Per indicare l’assegnazione di un valore ad una variabile si usa l’istruzione

assegna. Per esempio:

assegna base = 5

assegna altezza = 8

ovviamente durante l’assegnazione si possono compiere calcoli es.:

assegna altezza = base + 3.

Quanto descritto fino a questo momento dovrebbe aver contribuito a costruire un metodo

di ragionamento, più formale e logico, fornendo strumenti idonei per potersi avvicinare

con maggiore consapevolezza al mondo dell’informatica.

METODOLOGIE DIDATTICHE

Compito di un Insegnante è di aiutare ad accrescere competenze e apprendimenti,

utilizzando gli strumenti e le modalità più adatte al destinatario del suo intervento

educativo. Ogni individuo ha margini di miglioramento ovvero la possibilità di sviluppare

al massimo le proprie qualità grazie all'intervento collaborativo degli altri. Come dice

Vygotsky ognuno possiede la propria zona di sviluppo prossimale.

In questa prospettiva insegnare non può più significare soltanto curricolo e istruzione, ma

diventa importante anche gestire la classe, motivare gli studenti ad apprendere e cercare

Page 5: Unità didattica - University of Pisasbrinz.di.unipi.it/peppe/UploadedFiles/EsameCisGroPre...1 Candidata: Buralli Lorella Classe di concorso: A076 Unità didattica Il lavoro preparato,

5

di soddisfare i loro bisogni individuali, inclusi quelli di coloro che manifestano problemi

cronici di personalità e comportamento. Dopo aver dato corpo ai contenuti, dobbiamo renderli significativi e trovare la strategia

più adatta alla tipologia di classe nella quale si dovrà intervenire. Come primo passo sarà

importante contestualizzare nella realtà quanto proposto e evidenziato nei contenuti. Ma

cos’è un algoritmo, perché i ragazzi dovrebbero interessarsi a questo?

Molto spesso usiamo gli algoritmi in modo inconsapevole e potrebbe essere interessante

andare a caccia di algoritmi. Potremmo così scoprire insieme ai nostri ragazzi come,

scrivere una ricetta di cucina, sia un algoritmo, potremmo vedere poi le differenze o le

puntualizzazioni (sempre alla luce dei contenuti della nostra unità) di cui l’algor itmo

necessita.

Se riflettiamo bene ci accorgiamo che noi tutti quotidianamente risolviamo numerosi

algoritmi: quando programmiamo la lavatrice o la lavastoviglie, quando cuciniamo,

quando rispondiamo a un sms, quando guidiamo la macchina o andiamo in bicicletta,

quando allacciamo le scarpe. Sono tutte azioni ripetitive svolte in sequenza con un certo

ordine, che hanno un inizio e dopo un certo numero di passi, una fine. Ovviamente

possiamo superare la fase della ricetta e passare ad algoritmi più complessi che ci facciano

capire come porsi un problema e cercare di risolverlo (un metodo per risolvere un

problema) possa non solo essere di grande utilità, ma al contempo abituarci a ragionare

in un certo modo. Potrebbe divenire quindi interessante per i ragazzi capire come la

soluzione di uno scambio veloce tra cd posseduti da un amico e i propri, possa essere

risolto proprio attraverso la strutturazione di un algoritmo. Ad esempio potremmo porre

a vari gruppi, come risolvere il confronto e lo scambio tra di loro, di cd, libri, fumett i,

riviste ecc. Il classico “ce l’ho mi manca” risolto con un algoritmo. In modo “ludico”

imparare, partendo da ciò che si sa, usando le risorse disponibili in modo coerente e

fecondo.

Ed allora trovare un algoritmo che fornisca un unico metodo per risolvere ogni particolare

problema di una certa classe di problemi simili può tradursi in un gioco:

Gioco del pari

• Il gioco comincia con 27 oggetti su una tavola. Alternandosi, i

giocatori raccolgono ogni volta da 1 a 4 fiammiferi. Vince chi ha in mano un numero pari di oggetti quando questi sono stati tutti raccolti.

Strategia vincente:

1. A raccoglie 2 oggetti

2.Sia r il resto ottenuto dividendo per 6 il numero di oggetti ancora da raccogliere. 3.Se B ha un numero pari di oggetti: 1. Se r = 2, 3, 4 o 5 allora A raccoglie, rispettivamente 1, 2, 3 o 4 oggetti 4.Se B ha un numero dispari di oggetti: 1. Se r = 0, 1, 2 o 3 e se sulla tavola restano ancora almeno 4 oggetti, allora A raccoglie, rispettivamente 1, 2, 3 o 4 oggetti 2. Se r = 4 allora A raccoglie 4 oggetti

3. Se sulla tavola restano 1 o 3 oggetti allora A li raccoglie tutti.

Il gioco dell’undici

•Undici oggetti sono su una tavola. I due giocatori si alternano

nel raccogliere 1, 2 o 3 oggetti finché non restano più oggetti sul tavolo.

•Il giocatore costretto a raccogliere

l’ultimo oggetto perde

Strategia vincente

1.A raccoglie 2 oggetti. 2.B raccoglie K oggetti (k≤3) 3.A raccoglie 4–K oggetti

Page 6: Unità didattica - University of Pisasbrinz.di.unipi.it/peppe/UploadedFiles/EsameCisGroPre...1 Candidata: Buralli Lorella Classe di concorso: A076 Unità didattica Il lavoro preparato,

6

Per apprendere bisogna comprendere, non c’è bisogno di affidare alla memoria le

informazioni conoscitive: perché queste possano essere riattivate in qualsiasi momento,

occorre mettere insieme (cum, insieme, e prehendere, prendere = mettere insieme),

costruire, inventare, scoprire i concetti. L’apprendimento per scoperta risulta essere

congeniale, quindi, ad una scuola che deve operare in una società in rapida trasformazione,

in cui è importante acquisire oltre che un notevole bagaglio di conoscenze, la capacità di

saper affrontare nuove situazioni e soprattutto la voglia, il desiderio, di apprendere,

d’imparare e studiare, recuperando la natura profonda dell’uomo, cioè la cultura, la

ricerca e l’amore del sapere.

Dobbiamo avvicinarci agli algoritmi in una prospettiva che ci porti all’analisi, alla

comprensione e alla descrizione di un problema per poi strutturarlo in passi ordinati,

chiari (non ambigui) e finiti per arrivare alla soluzione. La metodologia del problem

solving, in ottica interdisciplinare, vuol dire proprio un uso corretto dell'abilità di

classificazione di situazioni problematiche e capacità, quindi, di risolvere problemi- t ipo

analoghi. Lavorare per gruppi, scambiarsi domande che dalle diverse collaborazioni

possono scaturire per arrivare alla soluzione, può esse il modo giusto per un

apprendimento significativo. Anche l’errore strutturale e/o concettuale che può verifica rs i

nella realizzazione di un modello algoritmo, all’interno di tali strategie metodologiche ,

può divenire fonte di discussione creativa, dove tutti, ognuno con il proprio contributo,

possa arrivare alla soluzione e a nuove formulazioni. Bisogna pensare ad una scuola di

tipo laboratoriale, dove tutti, nessuno escluso, possa partecipare al processo formativo per

diventare cittadini consapevoli e attivi. In ogni classe ci sono alunni che presentano una

richiesta di speciale attenzione per una varietà di motivi e tutti quanti meritano

accoglienza e quindi diventa indispensabile creare un ambiente di inclusione dove ognuno

possa esprimersi a seconda delle proprie capacità e confrontarsi per crescere in quel

dialogo di apprendimento/insegnamento che deve essere costante. La sfida ovviamente si

fa più impegnativa in realtà complesse, ormai diffuse un po’ ovunque sul nostro territorio,

vuoi per i forti flussi migratori degli ultimi anni, vuoi per la crisi, che ha coinvolto il

nostro paese, non solo da un punto di vista economico, ma anche e forse con conseguenze

sul lungo termine ancora più incisive, dal punto di vista culturale. E così l’area dello

svantaggio scolastico è molto più ampia di quella riferibile esplicitamente alla presenza

di un deficit. Insegnare ad alunni con tipologie diverse di difficoltà è un aspetto del saper

insegnare. Ciò di cui noi abbiamo bisogno sono delle buone prassi didattiche, di mezzi

che, come diceva Maria Montessori, “possono rendersi adatti alle capacità di ciascuno”.

Occorre quindi conoscere molti strumenti didattici, molti metodi, molti modi di lavorare

e di organizzare la classe, dobbiamo conoscere i processi attraverso cui possiamo di volta

in volta trasformarli, modificarli, curvarli per renderli adatti alle capacità di ciascuno.

Anche gli algoritmi e l’informatica tutta, entrano a pieno titolo, oggi più che mai, in

questo processo educazionale, dove sempre più importante diventa padroneggiare la

tecnologia, che non significa muoversi con agilità sui social network o mandare sms alla

velocità della luce, ma divenire consapevoli che, si tratti di algoritmi, grafica, animazione,

video giochi o programmazione, questo percorso potrà dischiuderci un mondo, uno spazio

creativo, illimitato.