contributing to the development of linguistic and logical abilities through robotics
Post on 14-Jan-2016
28 Views
Preview:
DESCRIPTION
TRANSCRIPT
Contributing to the Development of Linguistic and Logical Abilities
through Robotics
G. Barbara Demo
Dept of Informatics, Turin University
Giovanni Marcianó
National Agency for Development of Schools Piedmont
Ministry of Public Education ITALY
Our activity environments• primary schools, 6-11 years old kids• also: 11-16 years old pupils in italian secondary first and second level schools• LEGO RCX robots and NXT• in our region Piemonte: 8 schools involved with about 500 kids• cooperations with groups in the south of Italy: Salerno and Cosenza
the marriageour best loved holidayswe wanted it very good looking but it becomes too heavy
Motivations
• a feeling of being at a crossroad: we have to change something because those who do not like to introduce TIC in schools will not change their minds
and those who like it would appreciate something new
• this new can be micro robots becoming affordable• not robotics per se but in cross-disciplinary
experiences • our goal is not to teach pupils how to program but
through robot programming leading them to the ... LOGO philosophy
G. Marcianó and his groupprojects with the National Agency Development of Schools Piedmont
• LOGO in 90ties• LOGO & robotics in projects 2001-2003, 2003-2005,
2005-2008: www.robotica.irrepiemonte.it
technology in schools should be introducing to a new language, the "language of the technology": experiences with Logo have already promoted teaching about C.S. as teaching Language-3 (where Language-2 is a foreign language)
but many think more reasonable projects for ECDL: these are not negative unless they are the only way to talk informatics in schools
from LOGO projects great experiences*
• "commas and spaces also in the italian exercise book"• the dictionary• cooperation in finding "how do you say to tarta..."• random: "with this word tarta does what she wants and
nobody can say what she will do!"• kids discover by themselves: for example the use of
repeat and even procedures because "I do not want to loose my time"– abstraction, generalization, synthesis
• they teach each other what they discover
* guided particularly by S. Siega and Patrizia Battegazzore
after some activities using ROBOLAB
• "in the beginning you think it is easy but you do not actually understand what the robot is doing"
• "icons are not so easy because you do not clearly see what you are putting toghether"
• "pupils do not understand all these commands and where to modify when the robots moves but not in the way you meant"
of course the difference is also due to the use of a compiled rather then an interpreted language
Tangibile programming with Tern
• http://www.eecs.tufts.edu/~mhorn01/tern/
• it is a woodden puzzle-like way to specify robot behavior • particularly thought for schools where there are a few
computers
• Tern or similar tools do not eliminate, obviously,
the time for designing the robot behavior the time for thinking how to specify the decided
behavior the effort of making explicit the intuition of a behavior
still must be done
Textual language
• textual languages allow a step-by-step learning activity that can be coordinated with children learning the writing of their native language thus helping a correct development of linguistic and logical abilities
• as for logical abilities we think to the ability of designing a behaviour for a robot and its specification/translation in a systematic/formal description using words and linguistic forms of a given grammar
• previous point abilities are unconsciously used building sentences of his/her native language and viceversa when using robot textual languages which becomes a reinforcement of the need to follow rules pupils are learning in both environments
a textual language was chosen
• NQC, not Quite C
• Bricx Command Center (BCC) integrated development environment
yet, it is a language robot oriented, i.e. not high level enough to be pupils oriented
NQCBaby: a LOGO-like language• high level programming language, according to
Papert suggestion “child-oriented rather than robot-oriented”
• native language• incremental work as for the primitives to explore
what is more natural for kids• forward(100) for a tarta is different from
forward(100) for the RCX we have built but– there are discussions on differences– posters are prepared with correspondences– pupils find out that the behavior of their robot
• is different if the environment is different• it is different for different robots
ExamplesRobby //any name
forward(100) back(100) //avanti(100) indietro(100)
ciao //see you
Robbyrepeat(4)
forward(100) right(90)
endciao
Robbyripeti(4)
avanti(100) destra(90)
fineciao
Robbi
ciao
veloce(x)
avanti(v)
indietro(w)
destra(t)
sinistra(u)
A teacher can choose the methodology of proposing NQCBaby to pupils in different steps by means of a dictionary, in the translator, enriched according to the pupil level of knowledge
NQCBaby01: Robbiciaospeed(x)forward(v)backward(w)right(t)left(u)
NQCBaby03:
aspetta(z)sensore1_toccose_toccaaltrimenti
NQCBaby02
ripeti(z)
fineripetisempre
NQCBaby03:
wait(z)sensor1_touchif_toucheselse
NQCBaby02
repeat(z)
endrepeatalways
Children assemble a robot, decide its behavior, describe it in NQCBabyh, and look at the resulting specification in NQC; then they enter the next step to learn the next level NQCBabyh+1
NQCBaby04:
sensore2_toccose_toccadietrose_toccadavanti
NQCBaby05:
sensore3_lucese_chiarose_scurosinoache_chiarosinoache_scuroaccendilucespegniluce
NQCBaby04:
sensor2_touchse_toccadietrose_toccadavanti
NQCBaby05:
sensor3_lightif_clearif_darkuntil_clearuntil_darkswitchonlightswitchofflight
Robbysensore1_tocco // touch sensor goes to sensor number 1 of the robotripetisempre // repeat always
avanti(100) // forward(100)se_tocca // if hits
accendiluce // switch on the lightindietro(100) // back(100)destra(50) // right(50)spegniluce // switch off the light
fine // endfine
ciaothe robot assumed here is the simplest one
Robbysensore1_tocco repeat always
forward((100) if_hits
on_light back(100) right(50) off_light
end end
ciao
NQC TRANSLATION task main()
{ SetSensor(SENSOR_1, SENSOR_TOUCH);while(true)
OnFwd(OUT_A+OUT_C); Wait(100); if (SENSOR_1 == 1) {
On(OUT_B); OnRev(OUT_A+OUT_C);
Wait(100);OnFwd(OUT_A); OnRev(OUT_C);
Wait(50);Off(OUT_B);
} }Off(OUT_A+OUT_C);
}
dealing with NQCBaby: evolution
• macro, i.e. #define P Q
easy, language primitive but errors.....
• precompiler
• experimental feed back
• precompiler generated by a translator generator
NQCBaby translator IDE*work of two students RosaAnna and Veronica
NQCBaby Levels
Dictionary
writable text area where NBCBaby programs are written
errors
not writable text area: here the translation in NQC appears
* IDE: Integrated Develop- mentEnvironm.
Bricx Command Center
Currently under development
NXCBaby for the recent NXT robot
a NXCBaby program has the following structure:
robot description
environment description
behaviour specification
example:
Robbi
superficie(liscia, piana);
porta(A) motore-destro;
porta(C) motore-sinistro;
ripeti(4)
destra(70, 450)
avanti(100, 1000)
conta
ciao.
english translation:Robbi
ground(smooth, flat);port(A) motor-right;port(C) motor-left;repeat(4)
right(70, 450)forward(100,
1000)end
ciao.
end of september 07meeting with three directions of work
• general
• education
• leisure time: our department "kids"(30-...) will show their products, robots and other initiatives
Documentation on the meeting and NQCBaby translator at
www.di.unito.it/~barbara/MicRobot
Workshop by Simonetta Siega
videos from 6 years old pupils to 13 years old:
• the marriage
• our best loved holidays
• we wanted it very goodlooking but it becomes too heavy
top related