240 likes | 389 Views
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. O ur activity environments.
E N D
Contributing to the Development of Linguistic and Logical Abilitiesthrough 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 marriage • our best loved holidays • we 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 tothe use of a compiled rather then an interpreted language
Tangibile programmingwith 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 • textuallanguages allow a step-by-step learning activity that can be coordinated with children learningthe writing of their native language thus helping a correct development of linguistic and logical abilities • as for logical abilitieswe think tothe 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
Examples Robby //any name forward(100) back(100) //avanti(100) indietro(100) ciao //see you Robby repeat(4) forward(100) right(90) end ciao Robby ripeti(4) avanti(100) destra(90) fine ciao
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 Robbi ciao veloce(x) avanti(v) indietro(w) destra(t) sinistra(u) NQCBaby01: Robbi ciao speed(x) forward(v) backward(w) right(t) left(u)
NQCBaby02 ripeti(z) fine ripetisempre NQCBaby02 repeat(z) end repeatalways NQCBaby03: aspetta(z) sensore1_tocco se_tocca altrimenti NQCBaby03: wait(z) sensor1_touch if_touches else
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
NQCBaby05: sensore3_luce se_chiaro se_scuro sinoache_chiaro sinoache_scuro accendiluce spegniluce NQCBaby05: sensor3_light if_clear if_dark until_clear until_dark switchonlight switchofflight NQCBaby04: sensore2_tocco se_toccadietro se_toccadavanti NQCBaby04: sensor2_touch se_toccadietro se_toccadavanti
Robby sensore1_tocco // touch sensor goes to sensor number 1 of the robot ripetisempre // repeat always avanti(100) // forward(100) se_tocca // if hits accendiluce // switch on the light indietro(100) // back(100) destra(50) // right(50) spegniluce // switch off the light fine // end fine ciao the robot assumed here is the simplest one
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); } Robby sensore1_tocco repeat always forward((100) if_hits on_light back(100) right(50) off_light end end ciao
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 not writable text area: here the translation in NQC appears NQCBaby Levels Dictionary * IDE: Integrated Develop- ment Environm. writable text area where NBCBaby programs are written errors 27 di 30
Bricx Command Center 13 di 30
Currently under development NXCBaby for the recent NXT robot a NXCBaby program has the following structure: robot description environment description behaviour specification
english translation: Robbi ground(smooth, flat); port(A) motor-right; port(C) motor-left; repeat(4) right(70, 450) forward(100, 1000) end ciao. example: Robbi superficie(liscia, piana); porta(A) motore-destro; porta(C) motore-sinistro; ripeti(4) destra(70, 450) avanti(100, 1000) conta ciao.
end of september 07 • general • education • leisure time: our department "kids"(30-...) will show their products, robots and other initiatives meeting with three directions of work • Documentation on the meeting and NQCBaby translator at • www.di.unito.it/~barbara/MicRobot
Workshop bySimonetta 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