Sei sulla pagina 1di 40

Progettazione attività

didattica

Concorso STEM 2021 – Prova Orale


Candidato: Lorenzo Valente Classe di concorso: A041
Scienze e Tecnologie Informatiche
Traccia estratta

Il candidato presenti una lezione simulata sulla tematica «Le


istruzioni di controllo in Assembly x86» da proporre in un
Istituto Tecnico Industriale, Indirizzo Informatica e
Telecomunicazioni in cui sono presenti un alunno DSA
(dislessico) e un alunno BES di tipo 3 con svantaggio socio-
economico.
Sommario
• Parte 1: Progettazione della lezione
§ Contesto e inquadramento
§ Prerequisiti
§ Obiettivi
§ Strumenti e metodologie
§ TIC
§ Verifica e valutazione
§ Fasi e tempistiche

• Parte 2: Simulazione della lezione


Contesto e inquadramento

• Istituto: Tecnico Industriale


• Indirizzo: Informatica e Telecomunicazioni
Istituto •

Articolazione: Informatica
Classe: Terzo anno
• Periodo: Primo quadrimestre

Disciplina • Disciplina: Sistemi e Reti


Contesto e inquadramento

• Inquadramento classe: 27 alunni, 9 femmine e 18 maschi, tra i quali


§ 1 alunno BES di tipo 2 (DSA) con dislessia (L. 170/2010)
Ø Redazione di PDP (Piano Didattico Personalizzato)
Ø Uso di strumenti compensativi e misure dispensative

§ 1 alunno BES di tipo 3 con svantaggio socio-economico (D.M.


27/12/2012)

La Direttiva Ministeriale del 27 dicembre 2012 estende l’applicazione della legge


170/2012 ai BES con svantaggi socio-economico, linguistico e culturale e ai BES con
disturbi volutivi specifici che non rientrano nei DSA
Contesto e inquadramento:
Unità di Apprendimento - UdA
• L’argomento estratto può essere inquadrato all’interno dell’UdA
denominata: «L’ISA x86 e il linguaggio assembly»

• L’UdA è composta da 9 Unità Didattiche (UD):

• Il processore 8086 • Le istruzioni di salto


• Il modello x86 • Le istruzioni aritmetiche
• Il linguaggio assembly e l’assembler • Le istruzioni logiche di manipolazione
• La struttura di un programma dei bit
assembly • Le procedure assembly
• Le istruzioni di assegnazione assembly
Prerequisiti
Possedere i concetti di:

Linguaggio di programmazione e fondamenti di programmazione

Algoritmo

Condizioni e cicli

Struttura dell’elaboratore

Registri del processore

Linguaggio assembly e l’assembler


Obiettivi

Conoscenze Abilità Competenze

Conoscere: Saper utilizzare: Essere in grado di:

• Le istruzioni di controllo • Le istruzioni di salto • Riconoscere la logica di un


dell’ISA x86 condizionato e programma Assembly
incondizionato
• Conoscere la differenza tra • Risolvere semplici
istruzioni di salto • Le istruzioni per effettuare iterazioni e selezioni con
condizionato e cicli in Assembly Assembly
incondizionato
Obiettivi
Le competenze chiave nelle Raccomandazioni UE sull’apprendimento
permanente (22 maggio 2018)

Competenza
Competenza alfabetica Competenza matematica e
funzionale multilinguistica competenza in scienze,
tecnologie e ingegneria
• Competenza alfabetica funzionale
• Competenza matematica e
Competenza personale,
competenza in materia
competenze in scienze, tecnologie e
Competenza digitale sociale e capacità di
imparare a imparare
di cittadinanza ingegneria
• Competenza digitale
competenza
competenza in materia • Competenza personale, sociale e
imprenditoriale
di consapevolezza ed
espressione culturali capacità di imparare a imparare
Obiettivi
Competenze, Conoscenze e Abilità della Direttiva 4 del 16/01/2012 per la
disciplina Sistemi e Reti in Istituto Tecnico Industriale indirizzo Informatica e
Telecomunicazioni
Obiettivi
Competenze, Conoscenze e Abilità della Direttiva 4 del 16/01/2012
Strumenti e metodologie
• Strumenti didattici:
§ LIM
§ Lavagna
§ Libro di testo (Sistemi e Reti vol. 1, Hoepli)
§ Computer (in laboratorio)
§ In situazioni di emergenza o di DAD:
Ø Microsoft Teams
Ø Google Meet

• Metodologie:
§ Brainstorming
§ Lezione partecipativa
§ Didattica laboratoriale
§ Lavoro individuale
Strumenti e metodologie
Strumenti compensativi per l’alunno DSA con dislessia definiti dal PDP:
• Mappe concettuali
• Font ad alto contrasto per studenti dislessici
• Sintetizzatore vocale per l’audiolettura del libro
• Tempo aggiuntivo per lo svolgimento della verifica

Per l’alunno BES di tipo 3 con svantaggio socio-


economico la scuola fornisce supporti didattici
in comodato d’uso (PC e libri).
TIC
Gestione classe virtuale su Edmodo

• Caricamento del materiale digitale nelle cartelle condivise


organizzate per argomenti.
• Assegnazione di lavori individuali

Prove di verifica

• Verifiche strutturate e semistrutturate gestite all’interno


delle classi virtuali con strumenti come Kahoot o Google
Form
Google Form
Approfondimenti sull’argomento

• Video tematici consigliati su Rai Education o YouTube

Edmodo
Verifica e valutazione
• Verifica dei prerequisiti per identificare i bisogni e
permettere al docente di raccogliere informazioni
Verifica
iniziale per impostare il proprio intervento.

• Verifica formativa per regolare e migliorare la


Verifica progettazione dell’attività didattica
intermedia
in itinere

• Verifica sommativa per evidenziare i risultati


raggiunti da ciascun alunno a fine UdA. La verifica
Verifica
finale
sarà semistrutturata.
Verifica e valutazione
Verifica semistrutturata con due tipologie di quesiti (massimo 10 punti):
• Chiusi: 8 domande a risposta multipla (4 opzioni di cui 1 giusta e 3 errate)
§ 0,5 punti per ogni risposta corretta
§ 0 punti per risposta errata
• Aperti: 3 domande a risposta aperta, valutate massimo 2 punti ciascuna
secondo la griglia di valutazione presente.

In caso di didattica a distanza…

Google Form Verifiche su Edmodo


Verifica e valutazione
Indicatori Descrittori Punteggio
Scarso 0 - 0,1
Insufficiente 0,2
Uso di linguaggio tecnico Sufficiente 0,3
Adeguato 0,4
Approfondito 0,5
Scarsa 0 - 0,3
Insufficiente 0,4 - 0,5
Padronanza
Sufficiente 0,6
dell’argomento
Adeguata 0,7 – 0,8
Approfondita 0,9 - 1
Scarsa 0 – 0,1
Insufficiente 0,2
Precisione nell’esposizione Sufficiente 0,3
Adeguata 0,4
Approfondita 0,5
Fasi e tempistiche

Lezione Didattica
Verifica prerequisiti Brainstorming Verifica
partecipativa laboratoriale

15 minuti 20 minuti 1 ora 2 ore 1 ora


Sommario
• Parte 1: Progettazione della lezione
§ Contesto e inquadramento
§ Prerequisiti
§ Obiettivi
§ Strumenti e metodologie
§ TIC
§ Verifica e valutazione
§ Fasi e tempistiche

• Parte 2: Simulazione della lezione


Verifica dei prerequisiti
• Quali sono i principali registri della
CPU? Inizio della lezione sulle
§ MAR, MDR, PC, IR, ecc. istruzioni di controllo

• Cosa è l’ISA x86?


§ L’ISA x86 è l’insieme delle
istruzioni di base che il
processore riesce ad eseguire
ecc.
Azione di recupero e
• Cosa fa l’istruzione MOVE CX,AX? rimodulazione
§ Copia il contenuto del registro dell’intervento
AX nel registro CX
Simulazione della lezione
Fase di brainstorming
Domande alla classe:

Quali sono gli elementi principali di un ciclo?

Quali sono gli elementi principali di una operazione


di selezione?

Cosa può essere un salto condizionato? E un salto


incondizionato?

A cosa può servire una etichetta nell’istruzione di


un salto?
Simulazione della lezione
Lezione partecipativa
In una iterazione o in un ciclo la
prima cosa che facciamo è verificare
una condizione, in base a questo sarà
eseguito un determinato blocco.

Anche in Assembly abbiamo bisogno


di confrontare delle informazioni
prima di scegliere cosa fare.
Come facciamo?
• Utilizziamo l’istruzione di
confronto CMP
Simulazione della lezione
Lezione partecipativa
L’istruzione CMP effettua un confronto tra i valori espressi dai due operandi, per
farlo, effettua una sottrazione tra il secondo operando e il primo. L’istruzione non
memorizza il risultato della sottrazione, ma altera i flag ZF e CF.

CMP operando1, operando2

Registro, cella di memoria indicizzata in Registro, cella di memoria indicizzata in


modo diretto, indiretto o indicizzato modo diretto, indiretto o indicizzato,
dato immediato

• Se ZF = 0 i due operandi sono diversi, operando 1 <> operando 2


• Se ZF = 1 i due operandi sono uguali, operando1 = operando 2
• Se CF = 0 il secondo operando è minore o uguale al primo, operando1 >= operando2
• Se CF = 1 il secondo operando è maggiore del primo, operando1 <= operando2
Simulazione della lezione
Lezione partecipativa
Esempio:

CMP CX, BX Confronta il registro CX con BX

CMP CX, 05h Confronta il registro CX con il dato immediato 05h

CMP Ptr[SI], 0FFh Confronta la cella puntata da SI con il dato immediato 0FFh
Simulazione della lezione
Lezione partecipativa
I salti
Le istruzioni di salto possono essere di due tipi
• Salto incondizionato
• Salto condizionato

Le istruzioni di salto incondizionato saltano all’etichetta sempre, indipendentemente


dal contenuto dei flag.

Le istruzioni di salto condizionato verificano il contenuto dei flag e in base a questo


scelgono come modificare il flusso di esecuzione.
Simulazione della lezione
Lezione partecipativa
L’istruzione JMP
L’istruzione JMP è una istruzione di salto incondizionato, essa quando eseguita salta
sempre ad una etichetta.

JMP etichetta (oppure spiazzamento)



etichetta: istruzione da effettuare

Esempi:
JMP ciclo salto incondizionato all’etichetta chiamata ciclo
JMP Word Ptr[DI] salto incondizionato assoluto all’istruzione di indirizzo indicato dal
registro DI
Simulazione della lezione
Lezione partecipativa
L’istruzione J
L’istruzione J è una istruzione di salto condizionato, essa modifica la sequenza di
esecuzione a seconda dell’esito di una determinata condizione. Se la condizione è
soddisfatta l’istruzione salta all’etichetta, viceversa continua con l’istruzione
successiva.

È necessario usare l’istruzione CMP prima di J poiché quest’ultima deve confrontare i


valori dei flag.

Esistono molte istruzioni di salto condizionato; ne vedremo solo alcune.


Simulazione della lezione
Lezione partecipativa
L’istruzione J
Esempio:

CMP AL,0h se AL = 0 viene settato il flag a 0


JZ salto se il flag di zero è settato, il controllo passa all’etichetta
salto. L’istruzione JZ salta se il flag ZF = 1 (ovvero quando
gli operandi sono uguali)
Simulazione della lezione
Lezione partecipativa
L’istruzione J
Esempio:
Se la cella di indirizzo 0100h contiene un valore diverso da zero poniamo ‘a’ in AL,
altrimenti poniamo ‘z’ in AL

MOV SI, 0100h


CMP Byte Ptr[SI], 0
JNZ non_zero
MOV AL, ‘z’ istruzione eseguita se la cella contiene 0
JMP dopo
non_zero: MOV AL, ’a’ istruzione eseguita se la cella non contiene 0
Dopo: …

L’istruzione JNZ salta se ZF = 0 (gli operandi sono diversi)


Simulazione della lezione
Lezione partecipativa
L’istruzione LOOP
L’istruzione LOOP consente di effettuare un ciclo a contatore ripetuto un numero di
volte pari al contenuto del registro CX. Ad ogni iterazione CX viene decrementato e
quando arriva a 0 il ciclo termina.

MOV CX,14h
ciclo: …
LOOP ciclo

Se il contatore CX è maggiore di 0, l’istruzione LOOP salta all’etichetta indicata.


Simulazione della lezione
Lezione partecipativa
La selezione in Assembly

Pseudocodice Assembly

Int var; Var DB ?


CMP var, 00h
si if (var == 0)
Var = 0 istruzioni JNZ esci
{ …
istruzioni istruzioni
no } …
esci: …
Simulazione della lezione
Lezione partecipativa
La selezione in Assembly Dichiaro la variabile var

pseudocodice Assembly

Int var; Var DB ?


CMP var, 00h
si if (var == 0)
Var = 0 istruzioni JNZ esci
{ …
istruzioni istruzioni
no } …
esci: …
Simulazione della lezione
Lezione partecipativa Confronto var con 0
Se ZF = 0 (var <>0)
La selezione in Assembly eseguo JNZ e vado ad
esci, altrimenti continuo

pseudocodice Assembly

Int var; Var DB ?


CMP var, 00h
si if (var == 0)
Var = 0 istruzioni JNZ esci
{ …
istruzioni istruzioni
no } …
esci: …
Simulazione della lezione
Lezione partecipativa
L‘iterazione in Assembly

var = 20
pseudocodice Assembly
int var; Var DB 14h
Var > 10
Ciclo: CMP var, 0Ah
Var = 20 JBE fine
While(var > 10) DEC var
si { …
no istruzioni istruzioni
istruzioni var = var -1; JMP ciclo
} fine: …

fine
Simulazione della lezione
Lezione partecipativa
Dichiaro la variabile var
L‘iterazione in Assembly e inserisco 20 all’interno

var = 20
pseudocodice Assembly
int var; Var DB 14h
Var > 10
Ciclo: CMP var, 0Ah
Var = 20 JBE fine
While(var > 10) DEC var
si { …
no istruzioni istruzioni
istruzioni var = var -1; JMP ciclo
} fine: …

fine
Simulazione della lezione
Lezione partecipativa
Confronto var con 0, se
L‘iterazione in Assembly var <=10 salto a fine
altrimenti continuo
var = 20
pseudocodice Assembly
int var; Var DB 14h
Var > 10
Ciclo: CMP var, 0Ah
Var = 20 JBE fine
While(var > 10) DEC var
si { …
no istruzioni istruzioni
istruzioni var = var -1; JMP ciclo
} fine: …

fine
Simulazione della lezione
Lezione partecipativa
L‘iterazione in Assembly Decremento var

var = 20
pseudocodice Assembly
int var; Var DB 14h
Var > 10
Ciclo: CMP var, 0Ah
Var = 20 JBE fine
While(var > 10) DEC var
si { …
no istruzioni istruzioni
istruzioni var = var -1; JMP ciclo
} fine: …

fine
Salto incondizionato
all’etichetta ciclo
Esempi di verifica
Verifiche strutturate:
• Se il primo operando è >= del secondo, in una istruzione CMP abbiamo:
a) CF = 0
b) ZF = 1
c) ZF = 0 o CF = 0
d) ZF = 0 e CF = 1

• Indica in quale condizione il seguente frammento di codice effettuerà il


salto all’etichetta ciclo.
CMP AL, 0AL
JBE ciclo
a) Salta se AL è minore di dieci
b) Salta se AL è maggiore di dieci
c) Salta se AL è minore o uguale di dieci
d) Salta se AL è maggiore o uguale a dieci
Esempi di verifica
Verifiche semistrutturate:

• Scrivi un programma Assembly che moltiplichi tra di loro due numeri


presenti in un registro e in una variabile utilizzando il solo ciclo LOOP
visto nella lezione.
• Spiega come opera la funzione CMP e come vengon avvalorati I relativi
registri
• Dopo aver inserito dieci numeri nelle celle di indirizzo da 0100 a 0109
scrivi un programma Assembly cbe cherchi il numero maggiore e lo
copi nella cella successive (010Ah)
Grazie per l’attenzione

Potrebbero piacerti anche