SlideShare a Scribd company logo
1 of 17
University of Cagliari
 Faculty of Mathematics, Physics and Natural Sciences
 Master of Science in Information Technology




  An Interactive Environment
for the Didactical Manipulation
          of Programs
     Supervisor                                                          Candidate
Riccardo Scateni                                                    Pier Giuliano Nioi

      Examiner
Andrea Casanova

                                          Academic Year 2011-2012
Obiettivi

  •Creazione di un ambiente interattivo a
  supporto dell'insegnamento
  •Riduzione del carico cognitivo attualmente
  richiesto
  •Faciliti la comprensione dei concetti
  fondamentali della programmazione




                                                2/17
Motivazioni


  •Tool attuali non pensati per i principianti
  •Impongono processi non interattivi
  •Poco o nulla trasparenti nelle meccaniche




                                                 3/17
Motivazioni




              4/17
Motivazioni




              5/17
Motivazioni

  •Chi inizia a programmare è alle prese con:
    oNuovi concetti da capire
    oEsprimere concetti in codice
    oMantenere la sintassi corretta
    oDedurre comportamento algoritmi

  •Strumenti debugging
  complessi, aumenterebbero il carico cognitivo




                                                  6/17
Soluzione

 •Ambiente interattivo con funzionalità di:
   oEditing codice semplificato
   oVisualizzazione comportamento programma
   oPromozione modifiche e sperimentazione

 •Unione di componenti free & open source




                                              7/17
Editor

  •Visuale
  •Metafora dei blocchi
  •Completa assenza errori di sintassi
  •Rappresentazione astratta convertibile in
  codice reale




                                               8/17
Visualizzatore

  •Permette
    oAnalisi del codice step-by-step
    oVisualizzazione stato heap e stack
    oVisualizzazione costruzione del risultato
    oRapida individuazione errori semantici e di runtime




                                                           9/17
Infrastruttura

  •Frontend
    oEditor
    oVisualizzatore

  •Backend
    oGeneratore traccia esecuzione

  •Interazione tra le parti
    oFeedback loop




                                     10/17
Infrastruttura




                 11/17
Dettagli implementativi

  •Web app on the cloud
    oAccessibile con un comune browser
    oIndipendente dalla piattaforma
    oInstallabile anche in locale
    oPossibilità condivisione programmi

  •Tecnologie usate
    oFrontend in HTML5 + jQuery Mobile
    oBackend in Google App Engine + Python
    oComunicazione con Ajax + JSON




                                             12/17
Dettagli implementativi




                          13/17
Dettagli implementativi




                          14/17
Conclusioni

  •Realizzato ambiente interattivo
    oRiduce carico cognitivo in vari modi
    oVisualizza le meccaniche necessarie
    oFacilita l’apprendimento dei principianti
    oPromuove sperimentazione

  •Live coding e debugging
  •In futuro…
    oIntegrazione in Eclipse tramite plugin
    oEstensione ad altri linguaggi comuni




                                                 16/17
Grazie per l’attenzione.



                      17/17

More Related Content

Similar to Presentazione

Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi DiscussioneYeser Rema
 
Nuovi Progetti Didattici Torelli 4 3
Nuovi Progetti Didattici Torelli 4 3Nuovi Progetti Didattici Torelli 4 3
Nuovi Progetti Didattici Torelli 4 3gueste6f661
 
Edubuntu - Il miglior Software per l'insegnamento è Opensource
Edubuntu - Il miglior Software per l'insegnamento è OpensourceEdubuntu - Il miglior Software per l'insegnamento è Opensource
Edubuntu - Il miglior Software per l'insegnamento è OpensourceMatteo Piselli
 
I linguaggi del web - seconda edizione (3° giornata)
I linguaggi del web - seconda edizione (3° giornata)I linguaggi del web - seconda edizione (3° giornata)
I linguaggi del web - seconda edizione (3° giornata)Diego La Monica
 
Agile@scale, second chance
Agile@scale, second chanceAgile@scale, second chance
Agile@scale, second chanceFelice Pescatore
 
Java Conference 2006 Dessi Massimiliano
Java Conference 2006 Dessi MassimilianoJava Conference 2006 Dessi Massimiliano
Java Conference 2006 Dessi MassimilianoMassimiliano Dessì
 
Competenze per lo sviluppo software nellera del web
Competenze per lo sviluppo software nellera del webCompetenze per lo sviluppo software nellera del web
Competenze per lo sviluppo software nellera del webDiego La Monica
 
Drupal Day 2012 - IL RESPONSIVE WEB DESIGN NON È SOLO UNA QUESTIONE DI LAYOUT...
Drupal Day 2012 - IL RESPONSIVE WEB DESIGN NON È SOLO UNA QUESTIONE DI LAYOUT...Drupal Day 2012 - IL RESPONSIVE WEB DESIGN NON È SOLO UNA QUESTIONE DI LAYOUT...
Drupal Day 2012 - IL RESPONSIVE WEB DESIGN NON È SOLO UNA QUESTIONE DI LAYOUT...DrupalDay
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatoreSMAU
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGiacomoZorzin
 
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...DavideFegez
 
Caso reale di migrazione da Windows a sistemi Open Source in azienda
Caso reale di migrazione da Windows a sistemi Open Source in aziendaCaso reale di migrazione da Windows a sistemi Open Source in azienda
Caso reale di migrazione da Windows a sistemi Open Source in aziendaClaudio Cardinali
 
Competenze computazionali e robotiche
Competenze computazionali e roboticheCompetenze computazionali e robotiche
Competenze computazionali e roboticheLaura Antichi
 
Sperimentazione di Tecnologie di Deep Learning su Sistemi Embedded
Sperimentazione di Tecnologie di Deep Learning su Sistemi EmbeddedSperimentazione di Tecnologie di Deep Learning su Sistemi Embedded
Sperimentazione di Tecnologie di Deep Learning su Sistemi EmbeddedMathiasPoloPerucchin
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developerssparkfabrik
 
A scuola con software libero: l'esperienza di Bergamo
A scuola con software libero: l'esperienza di BergamoA scuola con software libero: l'esperienza di Bergamo
A scuola con software libero: l'esperienza di BergamoLibreItalia
 
Sviluppo di una piattaforma CLIENT/SERVER per attività didattiche basate su AR
Sviluppo di una piattaforma CLIENT/SERVER per attività didattiche basate su ARSviluppo di una piattaforma CLIENT/SERVER per attività didattiche basate su AR
Sviluppo di una piattaforma CLIENT/SERVER per attività didattiche basate su ARGiacomo Giovanni Delfini
 

Similar to Presentazione (20)

Presentazione Unibo
Presentazione UniboPresentazione Unibo
Presentazione Unibo
 
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi Discussione
 
Tesi di Laurea
Tesi di LaureaTesi di Laurea
Tesi di Laurea
 
Nuovi Progetti Didattici Torelli 4 3
Nuovi Progetti Didattici Torelli 4 3Nuovi Progetti Didattici Torelli 4 3
Nuovi Progetti Didattici Torelli 4 3
 
Edubuntu - Il miglior Software per l'insegnamento è Opensource
Edubuntu - Il miglior Software per l'insegnamento è OpensourceEdubuntu - Il miglior Software per l'insegnamento è Opensource
Edubuntu - Il miglior Software per l'insegnamento è Opensource
 
I linguaggi del web - seconda edizione (3° giornata)
I linguaggi del web - seconda edizione (3° giornata)I linguaggi del web - seconda edizione (3° giornata)
I linguaggi del web - seconda edizione (3° giornata)
 
Agile@scale, second chance
Agile@scale, second chanceAgile@scale, second chance
Agile@scale, second chance
 
Java Conference 2006 Dessi Massimiliano
Java Conference 2006 Dessi MassimilianoJava Conference 2006 Dessi Massimiliano
Java Conference 2006 Dessi Massimiliano
 
Competenze per lo sviluppo software nellera del web
Competenze per lo sviluppo software nellera del webCompetenze per lo sviluppo software nellera del web
Competenze per lo sviluppo software nellera del web
 
Drupal Day 2012 - IL RESPONSIVE WEB DESIGN NON È SOLO UNA QUESTIONE DI LAYOUT...
Drupal Day 2012 - IL RESPONSIVE WEB DESIGN NON È SOLO UNA QUESTIONE DI LAYOUT...Drupal Day 2012 - IL RESPONSIVE WEB DESIGN NON È SOLO UNA QUESTIONE DI LAYOUT...
Drupal Day 2012 - IL RESPONSIVE WEB DESIGN NON È SOLO UNA QUESTIONE DI LAYOUT...
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatore
 
Cac Es3 2009
Cac Es3 2009Cac Es3 2009
Cac Es3 2009
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptx
 
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
Utilizzo di tecnologie big data per addestramento di metamodelli matematici p...
 
Caso reale di migrazione da Windows a sistemi Open Source in azienda
Caso reale di migrazione da Windows a sistemi Open Source in aziendaCaso reale di migrazione da Windows a sistemi Open Source in azienda
Caso reale di migrazione da Windows a sistemi Open Source in azienda
 
Competenze computazionali e robotiche
Competenze computazionali e roboticheCompetenze computazionali e robotiche
Competenze computazionali e robotiche
 
Sperimentazione di Tecnologie di Deep Learning su Sistemi Embedded
Sperimentazione di Tecnologie di Deep Learning su Sistemi EmbeddedSperimentazione di Tecnologie di Deep Learning su Sistemi Embedded
Sperimentazione di Tecnologie di Deep Learning su Sistemi Embedded
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developers
 
A scuola con software libero: l'esperienza di Bergamo
A scuola con software libero: l'esperienza di BergamoA scuola con software libero: l'esperienza di Bergamo
A scuola con software libero: l'esperienza di Bergamo
 
Sviluppo di una piattaforma CLIENT/SERVER per attività didattiche basate su AR
Sviluppo di una piattaforma CLIENT/SERVER per attività didattiche basate su ARSviluppo di una piattaforma CLIENT/SERVER per attività didattiche basate su AR
Sviluppo di una piattaforma CLIENT/SERVER per attività didattiche basate su AR
 

Presentazione

  • 1. University of Cagliari Faculty of Mathematics, Physics and Natural Sciences Master of Science in Information Technology An Interactive Environment for the Didactical Manipulation of Programs Supervisor Candidate Riccardo Scateni Pier Giuliano Nioi Examiner Andrea Casanova Academic Year 2011-2012
  • 2. Obiettivi •Creazione di un ambiente interattivo a supporto dell'insegnamento •Riduzione del carico cognitivo attualmente richiesto •Faciliti la comprensione dei concetti fondamentali della programmazione 2/17
  • 3. Motivazioni •Tool attuali non pensati per i principianti •Impongono processi non interattivi •Poco o nulla trasparenti nelle meccaniche 3/17
  • 4. Motivazioni 4/17
  • 5. Motivazioni 5/17
  • 6. Motivazioni •Chi inizia a programmare è alle prese con: oNuovi concetti da capire oEsprimere concetti in codice oMantenere la sintassi corretta oDedurre comportamento algoritmi •Strumenti debugging complessi, aumenterebbero il carico cognitivo 6/17
  • 7. Soluzione •Ambiente interattivo con funzionalità di: oEditing codice semplificato oVisualizzazione comportamento programma oPromozione modifiche e sperimentazione •Unione di componenti free & open source 7/17
  • 8. Editor •Visuale •Metafora dei blocchi •Completa assenza errori di sintassi •Rappresentazione astratta convertibile in codice reale 8/17
  • 9. Visualizzatore •Permette oAnalisi del codice step-by-step oVisualizzazione stato heap e stack oVisualizzazione costruzione del risultato oRapida individuazione errori semantici e di runtime 9/17
  • 10. Infrastruttura •Frontend oEditor oVisualizzatore •Backend oGeneratore traccia esecuzione •Interazione tra le parti oFeedback loop 10/17
  • 11. Infrastruttura 11/17
  • 12. Dettagli implementativi •Web app on the cloud oAccessibile con un comune browser oIndipendente dalla piattaforma oInstallabile anche in locale oPossibilità condivisione programmi •Tecnologie usate oFrontend in HTML5 + jQuery Mobile oBackend in Google App Engine + Python oComunicazione con Ajax + JSON 12/17
  • 15.
  • 16. Conclusioni •Realizzato ambiente interattivo oRiduce carico cognitivo in vari modi oVisualizza le meccaniche necessarie oFacilita l’apprendimento dei principianti oPromuove sperimentazione •Live coding e debugging •In futuro… oIntegrazione in Eclipse tramite plugin oEstensione ad altri linguaggi comuni 16/17