University of Cagliari Faculty of Mathematics, Physics and Natural Sciences Master of Science in Information Technology  A...
Obiettivi  •Creazione di un ambiente interattivo a  supporto dellinsegnamento  •Riduzione del carico cognitivo attualmente...
Motivazioni  •Tool attuali non pensati per i principianti  •Impongono processi non interattivi  •Poco o nulla trasparenti ...
Motivazioni              4/17
Motivazioni              5/17
Motivazioni  •Chi inizia a programmare è alle prese con:    oNuovi concetti da capire    oEsprimere concetti in codice    ...
Soluzione •Ambiente interattivo con funzionalità di:   oEditing codice semplificato   oVisualizzazione comportamento progr...
Editor  •Visuale  •Metafora dei blocchi  •Completa assenza errori di sintassi  •Rappresentazione astratta convertibile in ...
Visualizzatore  •Permette    oAnalisi del codice step-by-step    oVisualizzazione stato heap e stack    oVisualizzazione c...
Infrastruttura  •Frontend    oEditor    oVisualizzatore  •Backend    oGeneratore traccia esecuzione  •Interazione tra le p...
Infrastruttura                 11/17
Dettagli implementativi  •Web app on the cloud    oAccessibile con un comune browser    oIndipendente dalla piattaforma   ...
Dettagli implementativi                          13/17
Dettagli implementativi                          14/17
Conclusioni  •Realizzato ambiente interattivo    oRiduce carico cognitivo in vari modi    oVisualizza le meccaniche necess...
Grazie per l’attenzione.                      17/17
Presentazione
Upcoming SlideShare
Loading in...5
×

Presentazione

1,576

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,576
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Presentazione

  1. 1. University of Cagliari Faculty of Mathematics, Physics and Natural Sciences Master of Science in Information Technology An Interactive Environmentfor the Didactical Manipulation of Programs Supervisor CandidateRiccardo Scateni Pier Giuliano Nioi ExaminerAndrea Casanova Academic Year 2011-2012
  2. 2. Obiettivi •Creazione di un ambiente interattivo a supporto dellinsegnamento •Riduzione del carico cognitivo attualmente richiesto •Faciliti la comprensione dei concetti fondamentali della programmazione 2/17
  3. 3. Motivazioni •Tool attuali non pensati per i principianti •Impongono processi non interattivi •Poco o nulla trasparenti nelle meccaniche 3/17
  4. 4. Motivazioni 4/17
  5. 5. Motivazioni 5/17
  6. 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. 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. 8. Editor •Visuale •Metafora dei blocchi •Completa assenza errori di sintassi •Rappresentazione astratta convertibile in codice reale 8/17
  9. 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. 10. Infrastruttura •Frontend oEditor oVisualizzatore •Backend oGeneratore traccia esecuzione •Interazione tra le parti oFeedback loop 10/17
  11. 11. Infrastruttura 11/17
  12. 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
  13. 13. Dettagli implementativi 13/17
  14. 14. Dettagli implementativi 14/17
  15. 15. 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
  16. 16. Grazie per l’attenzione. 17/17
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×