Please use this identifier to cite or link to this item: https://hdl.handle.net/1889/3591
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorTomaiuolo, Michele-
dc.contributor.authorFerrari, Alberto-
dc.date.accessioned2018-05-07T11:11:34Z-
dc.date.available2018-05-07T11:11:34Z-
dc.date.issued2018-03-02-
dc.identifier.urihttp://hdl.handle.net/1889/3591-
dc.description.abstractNegli ultimi anni ha ripreso vigore, non solo in ambito accademico, il dibattito relativo al pensiero computazionale (Computational Thinking) e sempre più numerosi sono oggi i progetti volti all’introduzione dei concetti basilari della programmazione (coding) in ogni livello di istruzione: dai primi anni scolastici, alla scuola media superiore, alla formazione professionale, ai primi corsi universitari. Nonostante gli sforzi tesi a facilitare l’approccio iniziale con il mondo dell’informatica, risultano ancora evidenti le difficoltà incontrate almeno da una parte dei principianti nel- l’affrontare la scrittura dei primi programmi. La maggior parte di queste difficoltà derivano da problematiche inerenti il problem solving e la progettazione delle applicazioni, ma non sono da trascurare i problemi di natura sintattica legati all’utilizzo dei più diffusi linguaggi di programmazione. L’obiettivo di questa tesi è quello di analizzare le potenzialità derivanti da un approccio iniziale al coding basato sul Block e Puzzle Programming contrapposto alla classica program- mazione text-based. In relazione all’introduzione al coding rivolta a giovani e giovanissimi (formazione K12) riteniamo sia inoltre necessario uno sforzo per rendere più semplice e user- friendly la “scrittura” dei primi programmi per l’elaboratore ridefinendo, oltre alle modalità didattiche, anche gli strumenti da utilizzare analogamente a come, nel tempo, si sono evolute le modalità di interazione uomo-computer (HCI - Human-Computer Interaction). Analizziamo il concetto di Computational Thinking e come questo sia legato al mondo dell’informatica e al coding. L’analisi dei vari progetti mirati alla diffusione del pensiero computazionale mediante il coding in ambito scolare e prescolare ci porta ad approfondire poi la programmazione a blocchi. Il Block Programming presenta ambienti di programmazione non più testuali ma basati su semplici interfacce grafiche (GUI - Graphical User Interface) in cui avviene la selezione e il collegamento dei blocchi-istruzioni. In questo contesto è presentato il nostro progetto codOWood (Code of wood) che sostituisce i blocchi virtuali delle GUI con blocchi fisici che vengono disposti sulla superficie di lavoro in modo da formare un puzzle che rappresenta l’algoritmo di risoluzione del problema proposto. Il riconoscimento ottico (image recognition) dei vari blocchi e la loro conversione nel codice equivalente avviene tramite l’applicazione che abbiamo sviluppato e che opera sia come web application, sia in ambiente Android su tablet e smartphone. Il nostro ambiente di sviluppo sostituisce quindi l’interfaccia grafica di programmazione (GUI) con una interfaccia “fisica” (TUI - Tangible User Interface). Dopo aver analizzato le modalità didattiche, gli strumenti e i contenuti dei corsi di introduzione alla programmazione (CS1) in ambiente universitario e di scuola superiore, focalizziamo l’attenzione sul modello object-first che prevede l’introduzione del paradigma object-oriented già nei corsi introduttivi. All’Università di Parma abbiamo sviluppato OOPP (Object Oriented Puzzle Program- ming): un ambiente didattico di progettazione che ha l’obiettivo di fondere le caratteristiche positive del Block e Puzzle Programming con il paradigma object-oriented. OOPP è stato oggetto di una prima sperimentazione nell’ambito di un corso post diploma di introduzione alla programmazione con risultati più che soddisfacenti soprattutto per gli studenti che non avevano precedenti esperienze di coding.it
dc.description.abstractOver the last few years the debate on Computational Thinking has risen not only in the academic sphere. There is an increasing number of projects aimed at introducing the basic coding concepts in each level of education: early school years, high school, vocational training and first university courses. Despite efforts to facilitate the initial approach to the world of information technologies, the difficulties faced by at least part of beginners in addressing the writing of the first programs are still evident. Most of these difficulties arise from problems related to problem solving and the design of applications, but also the syntactic problems, associated with the use of the most common programming languages, cannot be neglected. The aim of this thesis is to analyze the potential of an early approach to coding based on Block and Puzzle Programming, as opposed to classic text-based programming. In relation to the introduction of coding for young and very young students (K12 training), we also believe that efforts are needed to make the first programs for the computer easier and user-friendly. This requires to define, in addition to teaching methods, also the tools to use, similarly to how man-computer interaction (HCI-Human-Computer Interaction) has evolved over time. We analyze the concept of Computational Thinking and how this is tied to the world of computing and coding. The analysis of the various projects aimed at the spread of com- putational thinking by coding in the school and preschool years leads us to further spread the block programming paradigm. Block Programming environments are based on simple graphical user interfaces (GUIs) where blocks are selected and linked. In this context, we present our codOWood (CODe Of WOOd) project that replaces the virtual blocks of the GUIs with physical blocks that are arranged on the work surface to form a puzzle that represents the solution algorithm of the proposed problems. We developed a web application and an Android app for tablet and smartphones which recognizes each block and converts it into the equivalent code. Our development environment then replaces the graphical programming interface (GUI) with a “physical” (TUI) interface. After analyzing the teaching methods, the tools and the content of the introductory programming courses (CS1) in university and high school, we focus our attention on the Object-First model that introduces the Object Oriented paradigm in introductory courses. At the University of Parma, we have developed OOPP (Object Oriented Puzzle Pro- gramming): a didactic environment for designing applications that aims to blend the positive features of Block and Puzzle Programming with the Object Oriented paradigm. OOPP has been the subject of a first experimentation in an introductory coding course with more than satisfactory results, especially for students who did not have previous coding experiences.it
dc.language.isoItalianoit
dc.publisherUniversità di Parma. Dipartimento di Ingegneria e Architetturait
dc.relation.ispartofseriesDottorato di ricerca in Tecnologie dell'informazioneit
dc.rights© Alberto Ferrari, 2018it
dc.subjectComputational Thinkingit
dc.subjectBlock Programmingit
dc.subjectTangible Programmingit
dc.titleTangible e Block Programming per introdurre il pensiero computazionaleit
dc.typeDoctoral thesisit
dc.subject.miurING-INF/05it
Appears in Collections:Tecnologie dell'informazione. Tesi di dottorato

Files in This Item:
File Description SizeFormat 
Tangible e Block Programming per introdurre il pensiero computazionale.pdfPhD thesis9.69 MBAdobe PDFView/Open
relazione-finale.pdf
  Until 2100-01-01
Relazione triennio dottorato16.34 kBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.