DISCLIC Facoltà di Lingue e Letterature Straniere Giornata di studio a conclusione del ciclo di incontri sul gioco applicato alla didattica delle lingue.

Slides:



Advertisements
Presentazioni simili
Linguaggio C e C++.
Advertisements

I Linguaggi di programmazione
Intelligenza artificiale
Software di base: Linguaggi di Programmazione
Scomposizione funzionale
Linguaggi algoritmici
Tipi di dato astratti Lista, Pila, Coda, Albero.
Estendere i linguaggi: i tipi di dato astratti
Evoluzione dei linguaggi di programmazione
Procedure e funzioni A. Ferrari.
Strutture dati lineari
Asse dei linguaggi Comunicazione nella madrelingua
Due esempi di valutazione per competenze nella matematica.
Linguaggi di programmazione
Corso di Laurea in Informatica Gabriella Pasi e Carla Simone
didattica orientativa
Lez. 31 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Programmazione.
Quadro di riferimento INValSI Scienze I livelli di competenza
DIFFICOLTA’ DEL LINGUAGGIO
Iterazione enumerativa (for)
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Progettazione dei Sistemi Interattivi (a.a. 2004/05) - Lezione 13 1 La Manipolazione Diretta Sensazione di interagire con un mondo di oggetti piuttosto.
Meloni Gianna Irre Veneto Pratiche in classe nellattività matematica. §DdM: il contratto didattico interpretato in chiave sociologica. §La classe intesa.
4^ - 5^ scuola primaria 1^-2^-3^scuola secondaria di primo grado
Primi Elementi di Programmazione in C++
Caserta, 20 ottobre 2010 Prof. Enzo Marvaso Rete Scuole Porte aperte alla robotica In collaborazione con: USR del Piemonte IPSIA G. Galilei Torino Percorsi.
Programmazione logica
Concetto di competenza Cercemaggiore Istituto comprensivo 18 marzo 2010 Secondo incontro Filippo Bruni.
Elementi di Informatica
Elementi di Informatica
Da Problema a Programmazione
Università Federico II - Napoli Corso di Perfezionamento in Didattica della Matematica Seminario- Napoli 21 Marzo 2005 Scienze e tecnologie dell'informazione.
MAPPIAMOCI! ATTIVITA’ SULLE MAPPE CONCETTUALI “F. Rasetti” a.s
Come Pitagora e Archimede
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
IO E LA MATEMATICA!!!! SILVIA LATTUADA MATRICOLA
ECDL Patente europea del computer
OBBLIGO SCOLASTICO: UNA SFIDA? ASSE MATEMATICO. Il nuovo obbligo scolastico come opportunità Opportunità per cosa? Opportunità per chi?
Linguaggi per COMUNICARE
INTRODUZIONE Il numero è sicuramente uno dei concetti matematici più difficili e complessi da apprendere, anche se, fin da molto piccoli, tutti si trovano.
IO E LA MATEMATICA PROCEDURALE
Misure di accompagnamento 2013 – 2014 Progetti di formazione e ricerca. “PENSARE… AD ARTE” I.C. Montoro Inferiore (Av)
la traduzione dei programmi
R 255 G 211 B 8 R 255 G 175 B 0 R 127 G 16 B 162 R 163 G 166 B 173 R 104 G 113 B 122 R 234 G 234 B 234 R 175 G 0 B 51 R 0 G 0 B 0 R 255 G 255 B 255 Supporting.
La ricorsione.
Come impostare il curricolo
Le tecnologie al servizio della didattica speciale DOTT.SSA SASANELLI LIA DANIELA.
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
Algoritmi e Strutture Dati Strutture Dati Elementari.
LINGUAGGI DI PROGRAMMAZIONE Per comunicare comandi e dati ad un computer occorre un particolare linguaggio detto LINGUAGGIO MACCHINA, che è un insieme.
Unita' di apprendimento
Algoritmi.
1 Macchine astratte, linguaggi, interpretazione, compilazione.
1 Linguaggi: guardando la semantica §esistono un insieme di concetti semantici e di strutture di implementazione in termini dei quali si descrivono in.
L’obiettivo generale è quella di puntare a COSTRUIRE dei LABORATORI sulla progettazione didattica incentrata sulle competenze finalizzati a: sostenere.
Problemi, algoritmi e programmazione
Scratch.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
1 Istituto Tecnologie Didattiche Consiglio Nazionale Ricerche SSIS di Genova, corso Tecnologie Didattiche, a.a. 2002/2003 Incontro conclusivo Introduzione.
Programmazione dei Calcolatori Elettronici
Giornate di informazione sull’offerta di istruzione del II ciclo PROVINCIA DI RAVENNA Ufficio X - Ambito Territoriale di Ravenna Il percorso di istruzione.
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
LINGUAGGI DI PROGRAMMAZIONE E' un linguaggio formale dotato di una sintassi ben definita che viene utilizzato per scrivere programmi che realizzano algoritmi.
L'ORA DEL CODICE. Il lato scientifico-culturale dell’informatica, definito anche pensiero computazionale, aiuta a sviluppare competenze logiche e capacità.
Unità di apprendimento 6
BLAISE PASCAL “Attraverso lo spazio, l’universo mi afferra e mi inghiotte come un granello; attraverso il pensiero, io afferro l’universo”
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

DISCLIC Facoltà di Lingue e Letterature Straniere Giornata di studio a conclusione del ciclo di incontri sul gioco applicato alla didattica delle lingue e alla tecnologia Didattica 2.gioc0 Università degli Studi di Genova – DIST ing. Lidia Stanganelli

Sommario Introduzione Programmazione e gioco: quale comune denominatore? Comparazione di alcuni linguaggi di programmazione: listruzione C=A+B Affinità tra linguaggi dichiarativi e gioco. Un esempio: il prolog Conclusioni

Introduzione Esistono in rete una moltitudine di giochi didattici per lapprendimento di diverse discipline (matematica, lingue etc.) Giochi per imparare i linguaggi di programmazione? In questo lavoro si vuole realizzare uno studio su come si possa trasmettere la conoscenza relativa alla programmazione attraverso una attività ludica come quella del gioco.

Programmazione e gioco: il Logo È possibile pensare a diversi linguaggi di programmazione per avvicinarsi al mondo dei computers, non solo da semplici utenti ma da progettisti in grado di realizzare tools (giochi) Negli ultimi cinquantanni per trasmettere la disciplina della programmazione in modo semplice sono stati utilizzati linguaggi come il Logo. Logo è un linguaggio di programmazione per linsegnamento di molte discipline, dalla matematica alla logica, dalla musica al disegno e naturalmente la programmazione stessa.

Programmazione e gioco: il Prolog Un linguaggio che si pone ad un alto livello di espressività logico-matematico è il Prolog. È un linguaggio al quale possono avvicinarsi tutti gli individui che abbiano le capacità logico- matematiche di descrizione dei problemi. Infatti al contrario dei linguaggi procedurali (come Pascal, Fortran, C, etc.), e dei linguaggi ad oggetti (C++, Java, Ruby etc.), Prolog è un linguaggio di alto livello più vicino al modo di pensare di un essere umano. ha l'enorme vantaggio di essere sintetico, e fortemente espressivo.

Che relazione cè tra gioco e programmazione? In realtà i linguaggi di programmazione e le attività di un gioco sono molto simili, intanto perché entrambe le attività sono costituite da un algoritmo (una sequenza di azioni elementari eseguite allo scopo di raggiungere un determinato obiettivo) ed anche per il risvolto di gratificazione psicologica che anche la programmazione, al pari del gioco, fornisce: chi scrive un buon programma e lo vede funzionare è gratificato allo stesso modo con il quale si sente soddisfatto dopo aver superato un livello di un gioco di abilità! Sia in gioco che la programmazione sono processi vicini anche perché hanno entrambi lobiettivo di risolvere i problemi e di usare un linguaggio diverso da quello naturale.

Quale linguaggio scegliere? Disseminare i concetti piuttosto che uno o più linguaggi di programmazione. Comparare diversi linguaggi è un lavoro impegnativo, per cui prendiamo una semplice istruzione e vediamo come viene rappresentata nei vari linguaggi. Useremo un approccio pragmatico

Un approccio comparato (1) Istruzione C=A+B Obiettivo: scegliere il linguaggio più espressivo Concetti da spiegare, pro e contro: Basic: n.ri linee, variabili. Semplice, vecchio, carenti costrutti linguistici C: direttive processore…, per programmatori esperti

Un approccio comparato (2) Istruzione C=A+B Obiettivo: scegliere il linguaggio più espressivo Concetti da spiegare, pro e contro: Java: classi e molto altro. Vasta libreria di classi….scoraggiante Prolog: è il miglior linguaggio a livello concettuale

…in definitiva

Un esempio: il prolog (1) Un semplice esempio di funzionamento di tale linguaggio, e come per gioco lapprendimento delle potenzialità e dei primi rudimenti. Scriviamo un programma Prolog che simuli limbarco delle carrozze di un treno su di un traghetto per superare lo Stretto di Messina Il programma deve dare la possibilità di effettuare le seguenti operazioni mediante opportuni predicati: Inserimento di una o più carrozze Estrazione di una o più carrozze Ricerca della carrozza più vecchia Calcolo del numero medio di posti a sedere Le informazioni relative alla singola carrozza sono: un codice seriale il numero di posti a sedere lanno di costruzione

Un esempio: il prolog (2) Si consideri il traghetto come una pila, nella quale le carrozze entrano ed escono dallo stesso varco, quindi la politica di inserimento ed estrazione delle carrozze è LIFO (last in first out). La carrozza viene rappresentata con un fatto prolog del tipo: carrozza(Cod,Posti, Anno) Di seguito si mostrano le soluzioni dei quattro punti suddetti. Loperazione di inserimento di una o più carrozze viene effettuata dal predicato: push(Lista1, Lista2, Lista3). Questa operazione permette di inserire gli elementi della Lista1 in testa alla Lista2. Lista3, conterrà il risultato della chiamata push. Loperazione di estrazione di una o più carrozze viene effettuata dal predicato: pop(N, Lista1, Lista2). Questa operazione permette di estrarre N elementi dalla testa della pila Lista1. Lista2, conterrà il risultato della chiamata pop, cioè la lista di carrozze estratte da Lista1. Loperazione che ricerca la carrozza con lanno di costruzione più vecchio è eseguita dal predicato: search(Lista, CarrVecchia) Questa operazione effettua la scansione di tutta la Lista confrontando gli anni di costruzione di ogni elemento carrozza(Cod,Posti, Anno) e scrivendo nella variabile di uscita CarrVecchia quella con lanno di costruzione più piccolo. Loperazione che calcola il numero medio di posti a sedere tra le carrozze del traghetto è: seats_average(Lista,Media) Questa operazione effettua la divisione tra il numero dato dalla somma di tutti i posti di tutte le carrozze e il numero di carrozze presenti nellargomento Lista. Il risultato è restituito nella variabile Media.

Un esempio: il prolog (3) La lista è una metafora di come si potrebbe simulare un gioco costruttivo nel quale si tratta di comporre oggetti complessi a partire da oggetti semplici (nellesempio il concetto di carrozza è lelemento semplice il concetto di treno è lelemento complesso). Inoltre agli studenti può essere insegnato il meccanismo del comporre e scomporre il treno attraverso delle operazioni elementari (inserisci in lista ed estrai dalla lista che corrisponde a stacca e attacca la carrozza). Una volta progettata linterfaccia di tale gioco gli studenti potranno comprendere strutture del linguaggio anche complesse. Un gioco di composizione un po come quello del Lego.

Conclusioni Qualcuno ha detto "se tutto quello che hai è un martello allora ogni problema ti sembrerà un chiodo". Lobiettivo è quello di ampliare il repertorio di strumenti a disposizione per costruire programmi di qualità e che quindi si ha bisogno di conoscere più linguaggi, ma da dove cominciare? Ovviamente a partire dal martello e cioè da un linguaggio semplice. Spesso la prima scelta, quella più alla moda, è sui linguaggi imperativi. Questi sono importanti per insegnare concetti e per le classi di problemi che risolvono. Complicazione in termini di concetti da insegnare e di tempo, inoltre gli studenti devono mostrare un profondo radicamento nella conoscenza del linguaggio prima di poter scrivere qualcosa senza errori. La seconda scelta, meno frequente, potrebbe essere un linguaggio di scripting, ma non a studenti alle prime armi n quanto non sono buoni linguaggi dal punto di vista della "pulizia" delle strutture logiche. La migliore scelta è utilizzare un linguaggio dichiarativo, in quanto conserviamo lo stesso livello di astrazione del modo in cui pensiamo il concetto: la somma in questo caso ed impariamo giocando. Un linguaggio che preservi l'astrazione concettuale, è il Prolog. Esso è realmente uno strumento potente per la risoluzione dei problemi

Grazie per lattenzione Didattica 2.gioc0

Any Questions ?