La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

L’Informatica nella scuola Linguaggi tools e fondamenti

Presentazioni simili


Presentazione sul tema: "L’Informatica nella scuola Linguaggi tools e fondamenti"— Transcript della presentazione:

1 L’Informatica nella scuola Linguaggi tools e fondamenti
UNIMORE University of Modena and Reggio Emilia L’Informatica nella scuola Linguaggi tools e fondamenti Simone Calderara

2 Perché l’informatica adesso
Nuova Scuola: Introdurre l’informatica dalla primaria Modello Inglese: Dal 2013 «England will become the first country in the world to mandate computer programming in primary and secondary schools” fonte DailyTelegragph 2013 Nel 2014, Barack Obama è passato alla storia come il primo presidente che sa programmare un computer Nazioni attive nell’insegnamento della programmazione già dalla primaria: Inghilterra, Estonia, Repubblica Ceca, Israele, Cina, Brasile.

3 In Italia… Il documento la Buona Scuola
contiene un intero capitolo, il quarto, dedicato alle competenze che secondo il governo e il ministro la scuola dovrebbe avere. Le attuali scelte guardano in tre diverse direzioni: l’alfabetizzazione digitale fin dalla scuola primaria tramite il coding, un programma di “ digital makers” per i ragazzi delle scuole superiori, e La formazione degli insegnanti.

4 Perché l’informatica adesso
Iniziative nei vari paesi sono generalmente individuali Esitono strumenti validi per portare il codice nella scuola Possiamo essere tra le prime nazioni che capiscono questa esigenza. -> #Labuonascuola (governo Renzi)

5 Perché Programmare I metodi caratteristici e gli strumenti intellettuali che costituiscono la base del “pensiero computazionale ” hanno un loro posto naturale nell’educazione degli studenti del 21-mo secolo. L’insegnamento dell’informatica nella scuola ha le seguenti specificità: favorisce lo sviluppo della creatività - per la molteplicità di modi che offre per affrontare e risolvere un problema; è costruttiva - la progettazione di algoritmi è un’attività ingegneristica che produce risultati visibili (anche se nel mondo virtuale); aiuta a padroneggiare la complessità - imparare a risolvere problemi informatici aiuta a risolvere problemi complessi in altre aree; sviluppa il ragionamento accurato e preciso - la scrittura di programmi che funzionano bene richiede l’esattezza in ogni dettaglio.

6 Perché Programmare dal punto di vista pratico l’informatica è un’abilità utile per gli studenti perchè qualunque lavoro svolgeranno in futuro la componente digitale sarà importante; dal punto di vista formativo l’informatica è un validissimo strumento intellettuale per sviluppare abilità concettuali essenziali che saranno utili agli studenti, qualunque sia il loro sviluppo professionale.

7 USA: Il progetto Code.Org

8 I tools a livello internazionale
Hopscotch is the free iPad app for upper elementary and above. Scratch is a programming game that can be downloaded or used on the Web and is supported by MIT. Lightbot has a version on just about any platform and even has an online one-hour version. This puzzle game has a free version which lasts an hour but sells full versions on iTunes and Google Play. It teaches planning, testing, debugging, procedures, and loops. Alice is another popular platform with a unique storytelling aspect. You can use it to create a game, tell a story, or make an animated video. Minecraft.edu is an option that lets you install and use Minecraft in the classroom. While this does require some purchase and setup, Minecraft seems to be gaining in popularity among educators as an in-house, 3D world-programming environment that kids love.

9 Italia: Il progetto Programma il Futuro
Il MIUR, in collaborazione con il CINI – Consorzio Interuniversitario Nazionale per l’Informatica, ha avviato questa iniziativa (che fa parte del programma #labuonascuola) con l’obiettivo di fornire alle scuole una serie di strumenti semplici, divertenti e facilmente accessibili per formare gli studenti ai concetti di base dell'informatica.

10 In Italia, nei prossimi 3 anni…
Al momento il progetto è in fase di sperimentazione e nel prossimo triennio entrerà a regime (circolare 29/09/2014). “Programma il Futuro” le varie classi iscritte alla piattaforma stanno raccontando le proprie esperienze nello svolgimento dell’attività inerente al progetto.

11 Italia: Il progetto Programma il Futuro

12 Italia: Il progetto Programma il Futuro
Ci sono diversi programmi di formazione a seconda della fascia di età e degli obiettivi di apprendimento Lezioni Interattive disponibili via web per familiarizzare con lo strumento Una modalità base (denominata "L'Ora del Codice ") Il labirinto  Una modalità avanzata (denominata "Corso Introduttivo ") ulteriori 9 lezioni di approfondimento: lezione 5: L'artista. Leggi le informazioni di supporto per L'artista. lezione 7: L'artista 2. Leggi le informazioni di supporto per L'artista 2. lezione 9:  La contadina. Leggi le informazioni di supporto per La contadina. lezione 11: L'artista 3. Leggi le informazioni di supporto per L'artista 3. lezione 13: La contadina 2. Leggi le informazioni di supporto per La contadina 2. lezione 15: L'artista 4. Leggi le informazioni di supporto per L'artista 4. lezione 17: La contadina 3. Leggi le informazioni di supporto per La contadina 3. lezione 19: L'artista 5. Leggi le informazioni di supporto per L'artista 5. lezione 20: Conclusione. Leggi le informazioni di supporto per Conclusione.

13 Prima di programmare: Il computer

14 Il Calcolatore Si possono considerare diversi livelli di astrazione:
Silicon Graphics Si possono considerare diversi livelli di astrazione: Circuiti elettronici (hardware) Architettura e linguaggio macchina Sistema operativo (software di sistema) Linguaggi di programmazione Programmi applicativi Il calcolatore è basato su circuiti elettronici digitali, ovvero modellabili con l’algebra di Boole; i circuiti elettronici implementano le funzioni logiche AND, OR, NOT, permettono di memorizzare il valore di variabili booleane, di effettuare calcoli, etc. 14

15 La macchina di Von Neumann  1
Tutti i calcolatori attuali si rifanno all’architettura di Von Neumann, costituita dalle quattro componenti: CPU (Central Processing Unit) Memoria centrale Bus di sistema Periferiche CPU Memoria centrale BUS di sistema tastiera mouse memoria di massa monitor Periferiche 15

16 La macchina di Von Neumann  2
Carratteristiche del modello di Von Neumann Proceduralità: possibilità di eseguire differenti programmi memorizzati Il modello è basato sul paradigma di programmazione procedurale: il programma indica la sequenza di istruzioni da eseguire per ottenere la soluzione ad una data classe di problemi Sequenzialità: regola della selezione dell’istruzione da eseguire rigidamente fissata Connessione tra le unità funzionali con singolo flusso di informazione tra memoria e processore: architettura a BUS 16

17 La CPU La Central Processing Unit è l’unità centrale di elaborazione: esegue le istruzioni dei programmi e ne regola il flusso, esegue i calcoli La CPU è un dispositivo sincrono, cioè può cambiare stato solo quando riceve un impulso di clock, Intel Pentium l’orologio del sistema che fornisce al computer un battito regolare La CPU lavora a N GHz: segue un ritmo di N miliardi di impulsi al secondo (es., una CPU con un clock a 3 GHz è temporizzata da tre miliardi di impulsi al secondo)

18 CPU2 Set di istruzioni di base: somma (da cui sottrazione)
scorrimento (shift) operazioni logiche operazioni di accesso alla memoria trasferimento di un dato da una locazione di memoria ad un’altra trasferimento da memoria a un registro della CPU trasferimento da un registro della CPU a memoria operazioni di confronto (sufficiente confronto con zero) Le operazioni (eccetto quelle di accesso alla memoria) sono eseguite all’interno della ALU e “coordinate” dall’unità di controllo

19 Come si eseguono i programmi
Il processore esegue le istruzioni di un programma una alla volta in sequenza: estrae le istruzioni dalla memoria, le interpreta e le esegue una dopo l’altra Un programma indica la sequenza di istruzioni da eseguire per ottenere la soluzione ad un data classe di problemi Il processore esegue ogni istruzione mediante una sequenza ben definita di operazioni detta ciclo di istruzione o ciclo macchina Estrazione di una istruzione: fase di fetch Esecuzione dell’istruzione: fase di execute

20 Le Memorie Le memorie sono dispositivi per “lo stoccaggio” delle informazioni Ogni memoria è costituita da celle, a cui si accede tramite un indirizzo In ogni elaboratore vi sono tre tipi di memorie: Registri: contengono informazioni necessarie alla elaborazione della singola istruzione Memoria centrale: contiene dati e istruzioni attualmente elaborati dal processore Memorie di massa: contengono dati e programmi che non sono oggetto di elaborazione immediata

21 Il sistema operativo

22 Cos’è un sistema operativo
Il software può essere diviso in due grandi classi: i programmi di sistema, che gestiscono le funzionalità del sistema di calcolo i programmi applicativi, che risolvono i problemi degli utenti L’insieme dei programmi di sistema viene comunemente identificato con il nome di Sistema Operativo (SO) Definizione: Un sistema operativo è un programma che controlla l’esecuzione dei programmi applicativi ed agisce come interfaccia fra le applicazioni e l’hardware del calcolatore

23 Sistema operativo Tutte le piattaforme hardware/software richiedono un sistema operativo Quando si accende un elaboratore, occorre attendere alcuni istanti per poter iniziare a lavorare: durante questa pausa il computer carica il SO

24 Scopo del sistema operativo
Gestione EFFICIENTE delle risorse del sistema di elaborazione Rendere AGEVOLE l’interfaccia tra l’uomo e la macchina

25 La programmazione

26 Gli Educatori e la programmazione
Gli educatori per insegnare la programmazione devono esssere consapevoli di cosa è un calcolatore e dei concetti di base dell’informatica Algoritmo Blocchi/Funzioni Variabili Istruzioni condizionali Ripetizioni e cicli

27 Algoritmo Sequenza di istruzioni per risolvere un problema
In forma grafica In forma testuale i passi costituenti devono essere "elementari", ovvero non ulteriormente scomponibili (atomicità); i passi costituenti devono essere interpretabili in modo diretto e univoco dall'esecutore, sia esso umano o artificiale (non ambiguità); l'algoritmo deve essere composto da un numero finito di passi e richiedere una quantità finita di dati in ingresso (finitezza) l'esecuzione deve avere termine dopo un tempo finito (terminazione); l'esecuzione deve portare a un risultato univoco (effettività); a ogni passo, il successivo deve essere uno e uno solo, ben determinato (determinismo).

28 Algoritmo

29 Algoritmo

30 Esempi a) Scambio di liquido fra due bicchieri Supponiamo di avere due bicchieri, denominati A e B, pieni rispettivamente uno di acqua e l'altro di vino, e di voler travasare A in B e viceversa. Avendo un bicchiere vuoto a disposizione C Il problema può essere risolto usando un terzo bicchiere C e l'algoritmo è il seguente: 1) versa A in C 2) versa B in A 3) versa C in B

31 Esempi Problema del lupo, del cavolo e della capra
Un pastore deve attraversare un fiume portando sull'altra riva un lupo e una capra affamati e una cassa di cavoli. Ha a disposizione una barca a remi con la quale può traghettare un solo oggetto o animale alla volta. Ma, attenzione! Non può lasciare da soli:- il lupo e la capra perchè il lupo si mangia la capra;- la capra ed i cavoli perché la capra si mangia i cavoli. Chiamiamo A la sponda iniziale e B la sponda su cui il barcaiolo deve trasportare lupo, capra e cavoli. 1) il barcaiolo porta la capra in B  2) il barcaiolo torna a prendere il lupo e lo porta in B  3) il barcaiolo riporta la capra in A 4) il barcaiolo porta i cavoli in B 5) il barcaiolo porta la capra in B

32 Blocchi o Funzioni In informatica, nell'ambito della programmazione, una funzione (detta anche subroutine, routine, procedura, sottoprogramma o metodo) è un particolare costrutto sintattico, in qualche linguaggio di programmazione, che permette di raggruppare, all'interno di programma, una sequenza di istruzioni in un unico blocco di istruzioni espletando così una determinata e in generale più complessa operazione, azione o elaborazione sui dati del programma stesso in modo tale che a partire da determinati input restituisca determinati output.

33

34 Funzioni Int Mangiare(Struct Food)
Es. Mangiare: Visibilità: ciò che la funzione vede al suo interno Mangiare INPUT Output Int Mangiare(Struct Food)

35 Variabili La variabile è un identificatore V associato a un insieme prefissato di possibili valori che definiscono il tipo della variabile. L'insieme dei possibili valori definisce il range dei valori che V può assumere durante l'esecuzione di un programma. Definendo il tipo e la rappresentazione della variabile oltre al range di valori, vengono definite anche le operazioni possibili con la variabile stessa. Durante l'esecuzione di un programma ciascuna variabile ha un valore corrente

36 Variabili Le variabili, in un linguaggio di programmazione, sono quindi dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito. Es: numero a ->dichiarazione a=10 ->assegnamento a=a+5 -> modifica Dove sono le variabili? -> Tipicamente nella memoria del calcolatore

37 Istruzioni condizionali
Controllano il flusso del programma Se accade qualcosa allora esegui determinate operazioni Altrimenti eseguine altre Construtto if-then-else in Logica Booleana

38 Istruzioni condizionali

39 Istruzioni condizionali

40 Ripetizioni e cicli I cicli servono per ripetere sequenze di operazioni: Sono blocchi confinati che hanno una fase di Inizio Elaborazione Fine Il ciclo è sempre caratterizzato da una condizione di fine o condizione di STOP

41 Ripetizioni e cicli Stampa i numeri minori di 100

42 Scratch


Scaricare ppt "L’Informatica nella scuola Linguaggi tools e fondamenti"

Presentazioni simili


Annunci Google