Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
1Activity
0 of .
Results for:
No results containing your search query
P. 1
Dialando Tangible Programming for the Novice -- Smith2_2010

Dialando Tangible Programming for the Novice -- Smith2_2010

Ratings: (0)|Views: 53|Likes:
Published by Alekos Dat
Processing, Scratch y Arduino
Processing, Scratch y Arduino

More info:

Published by: Alekos Dat on Jan 15, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

01/15/2012

pdf

text

original

 
ISBN: 978-0-620-45997-6 TEDC 2010 Proceedings - Technology for Innovation and Education in Developing Countries.
Copyright © 2010 The authors Page 1 of 4
Dialando: Tangible Programming for the Novice with Scratch, Processingand Arduino
Andrew Cyrus Smith
CSIR Meraka Institute, PO Box 395, Pretoria, 0001, South Africaacsmith @ csir.co.za
Abstract
This paper reports on a tangible programmingsystem designed for the novice user in developingregions. The system integrates three open source toolswith low cost hand-made hardware incorporatingrecycled material. The result is a simplistic system that a novice can use to code a five-step sequence using aninstruction set of four commands. Using a single PC,and multiple instances of the hardware described here,numerous novice programmers may potentially makeuse of the same PC simultaneously.
1. Introduction
The personal computer (PC) is a technologicalmarvel, so much so that it has contributed to the digitaldivide [1]. The PC is not simple to use, it has beenblessed by engineers and software developers withwide ranging capabilities in the form of software andhardware. In some societies children are exposed tothis complex machine from a young age. Thesechildren have no problem in adjusting to thistechnology and making full use of the capabilitiesencased in the dull box which is the PC. However, asubstantial number of children in developing regionsdo not have the luxury of having access to a PC from ayoung age. When first exposed to this technology,these prospective users are overwhelmed by the techno-speak and abstract mental models required tocomprehend this machine. It is no wonder that thecurrent design of both the machine, and theapplications that execute on it, contribute to the digitaldivide. This “Swiss Army Knife”, which we call the PChas been designed to do many things. But does it havereal use if the novice is repelled by the mental loadrequired to do so?Perhaps what the novice computer programmerrequires is a dedicated “appliance” [2] that reduces thiscomplex technology to something which only addressesthe current need of the user. For the purpose of thispaper, that need is for a novice to gain exposure to thelogical thinking required in computer programming(Figure 1).
Figure 1. The Dialando programming systemin use at a conference demonstration session.The unit at the bottom contains the Arduinocontrolling circuitry which is connected to thelaptop computer using a USB cable.
2. Our Approach
Our research aims to provide the novice user agentle introduction to the abstract programmingabilities of the PC. In order to achieve this, ourapproach is to first introduce programming concepts bymaking use of both concrete inputs and outputs. Withsuch an approach the user can physically manipulatethe inputs to a programme and observe the results as aphysical manifestation in the real world. Through theinitial introduction to programming using concrete
 
ISBN: 978-0-620-45997-6 TEDC 2010 Proceedings - Technology for Innovation and Education in Developing Countries.
Copyright © 2010 The authors Page 2 of 4inputs and outputs (concrete-concrete interaction), thenovice can progress to more abstract concepts [3, p89]such as required for using on-screen input and output(abstract-abstract interaction) in conventionalprogramming environments. An optional concrete-abstract stage can be introduced between theseconcrete-concrete and abstract-abstract interactionapproaches. Such a three-step approach supports anovice to gracefully become a computer programmer[4, p70].In this paper we report on a simplistic concrete-abstract system which consists of a combination of recycled materials and electronic circuitry whichinterfaces to a PC. Using this system, the noviceprogrammer manipulates tangible inputs and observesthe results on the PC screen (Figure 2).
t
1
t
2
t
3
t
4
t
5
t
0
t
1
t
2
t
3
t
4
t
5
 
Figure 2. The mapping between the tangibleinstruction objects and the on-screenexecution is shown in this exampleprogramme. Each instruction object [
A
] isinterpreted sequentially at times [t
1
…t
5
]. Atthese instances in time, the on-screen avatarexecutes corresponding movements.
forwardleftrightback
 
Figure 3. Four discrete directions are selectedby simply rotating the programming disk whileit is in position on the programming tray.
3. Prior Work
Other low-cost systems, which help the novice userin developing regions understand fundamentalprogramming principles, have previously beenreported. These include GameBlocks (both acrylic-based [5] and foam-based [6] versions) andRockBlocks [7].
4. Design Considerations
Dialando is a derivative of the words “dial”, “and”,“do” which means to dial the action required and theavatar does it – subsequently “dial-and-do” came to beknown as Dialando.“Dialling” an action is accomplished by rotating thedisk to align with one of the four discrete directionsimprinted on the programming surface (Figure 3).These directions correspond with the four actions(move forward, move backward, turn left, turn right)which the avatar is able to execute. The action of “dialling” an action increases the richness of the user’sinteraction with the system [8, p11].Dialando is also the name of the avatar (a puppy)which executes the instructions on the screen.To the novice programmer the Dialando systemseems to consist of only three component types. Thefirst of these are the five tangible input disks which theuser rotates. The second type is the set of fiveprogramming surfaces with the embedded sensors.Included in this second component type is the encasedcontroller which houses an open source Arduino board[9]. The user need not be aware of the contents of thisbox which is stringed at the end of the fiveprogramming surfaces. To the user this box simplyseems like a termination of the other five. The thirdcomponent as it appears to the user is the PC.Once the PC has been started and the fiveprogramming surfaces connected to it via a single USBconnection, the required application is executed on thePC. These activities are executed by a computer literateperson. Now the system can be used by the noviceprogrammer whose only interaction with the PC is inusing the tangible programming disks.This interface to the application executing on the PCremoves the novice from the many frustrating errormessages and other problems [10, p28,30] aprogrammer can expect when making use of an abstractprogramming environment using a keyboard and mouseto enter programming code.From our experience in using GameBlocks andRockBlocks at numerous science workshops withchildren, it became clear that aligning the object with
 
ISBN: 978-0-620-45997-6 TEDC 2010 Proceedings - Technology for Innovation and Education in Developing Countries.
Copyright © 2010 The authors Page 3 of 4the reading surface is a recurring problem. Our firstGameBlocks implementation made use of mechanicalalignment mechanisms and eliminated this problem.However, as we tested new designs with the foamversion of GameBlocks and later with RockBlocks, weneglected this important aspect of the design.
5. Implementation
We subsequently sought a reliable means of aligningthe programming object with the programming tray.We still aimed for a method that does not requireelectrical contacts or the use of expensive sensingcircuitry.Similar to our previous systems, the solution weimplemented retained the use of reed switches thatsense the presence of a magnet. The combination of magnets in close proximity to the reed switched woulduniquely represent the programme instruction required.In addition to the encoding magnet/reed switchpairs, we added strong rare earth magnets in the centreof both the programming trays and the programmingdisks. This provided a means of aligning the disk withthe tray without effort on the part of the user (Figure 4).With this configuration the user was free to simplyrotate the disk in the required direction without havingto re-align the disk to the tray.Two magnets are embedded in each of the disks insuch a way that four unique rotation angles can besensed with the accompanying trays. Each tray hasthree reed switched embedded that coincide with theouter rim of a disk when placed onto the tray.Each programming disk is comprised of twodiscarded compact disks (CD) and a short length of discarded thick electrical cable to encase the magnets.The electrical cable is simply used for aesthetic reasonsto round off the outer rim of the programming disk assembly.The programming trays are constructed fromdiscarded plastic DVD cases. All the components inboth the programming trays and programming disks areheld together with hot glue.The Dialando interface design is based on therotation of a disk. The disk which has been placed ontop of a sensing surface represents the intendeddirection the on-screen avatar is to move on the screen.The sensing surface contains three magnetic sensors.The sensors are part of low-cost intrusion detectioncircuitry commonly found in Western homes. Resistorsare connected across each reed switch, resulting inchanging resistance as the switches are opened andclosed as a magnet approaches it. The switches arephysically configured to detect four valid orientationsthe programming disk can take. These orientations areForward, Backward, Left, and Right.The Forward and Backward instructions result in theavatar covering a fixed linear distance on the computerscreen. The Right and Left instructions result in 90degrees avatar rotations on the screen in the respectivedirection. The avatar moves according to its ownreference system, just as would the on-screen turtle of Papert’s Logo. We found that this makes programminga non-trivial task as the programmer has to keep re-orientation herself as the avatar executed theinstructions.
Figure 4. The Dialando programming systemconsists of five programming disks that areplaced on top of five programming trays.
6. Conclusions and future work
Our research in new technologies for developingregions relies on the testing of novel concepts. Weoften have to integrate custom built hardware andsoftware. Because our target beneficiaries are oftenfrom poor communities, this should be done easily andat low cost. The open source tools (Arduino,Processing [11], and Scratch [12]) we used in thisparticular research project made the integrationbetween hardware and software almost a trivial task (Figure 5).
Figure 5. System overview, showing the opensource components used.
Although the USB interface between hardware andsoftware holds the promise of simply adding anotherhardware interface as required, we have yet to confirmthat. Our aim is to confirm that multiple instances of the Dialando programming hardware subsystem can beinterfaced to a single PC. If this can be achieved thenmultiple groups of programming novices may share thesame PC simultaneously. This would expose more

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->