Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of...
-
Upload
vivian-cunningham -
Category
Documents
-
view
214 -
download
1
Transcript of Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of...
Programming Robots in Primary Schools Deserves a Renewed Attention
G. Barbara Demo
Dept. of Informatics, Turin University, Italy
PIONEER:
PIedmOnt NEt for the Educational use of Robotics
from kindergarten to high school
First World Summit Knowledge Society, , September 2008
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
Our activity environments
• up to now, mostly primary schools, 5-11 years old kids• also: 11-16 years old pupils in italian secondary first and
second level schools
• in Piedmont: 8 schools involved with about 500 kids• cooperations with two schools in the south of Italy:
Salerno and Cosenza
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
• the use of different types of small autonomous robots suitable to pupils of different ages
BeeBot*, Scribbler, RCX, NXT• a single programming language for different robots textual and
children oriented, i.e. Logo-like: NQCBaby• a didactical methodology where each robot activity is a learning
environment rather than a goal for cross-disciplinary experiences concerning one or more primary school traditional subjects
even: NQCBaby introduction is harmonized with pupils learning of their native language writing, indeed textual language chosen to have the same representation
our goal is not to teach pupils how to program but through robot programming leading them first of all to inquiry-based learning
• a community of practice for continuing support: must have a control and a responsible for this control
Fundamentals in our approach:*
* from http://www.tts-group.co.uk/Bee-Bot
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
Modern constructivist learning approaches postulate authentic problems and environments: in primary
schools with autonomous robots this is easy because the problem is moving the robot
much time on task give a project a long time to see the activities from
several perpectives small information input by the teachers: pupils verify
how primitives work once assembled a robot, intensive cooperation students-teachers and among
students
Methodological aspects:
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
G. Marcianó and his group: projects with the National Agency for the Development of Schools
• LOGO in 90ties• LOGO & robotics in projects 2001-2003, • Robotics projects 2003-2005, 2005-2007:
www.robotica.irrepiemonte.it PIONEER project: 2007-2009, net of school-teachers who
are interested in developing experiences k-12 in 2007/2008 school year: 3 kindergarten, 5 primary
schools and 4 secondary, first level, schools;total about 50 classes using 6 different types of robots
this year: secondary schools, first level, begin specific activities using RCX and NXT Lego bricks
in Piedmont
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
Now robot can be successful because:• several different types of robots are available suitable
for all age children, • affordable prices, • small robots components are touchable and thus easier
to understand, • constructive learning of scientific and of non scientific
subjects is naturally possible, • a deep introduction to ICT is gained through robot
programming: new literacy • “global earth classroom” (Kay 2003) is nowadays
possible via internet.
Athens, 2008 B. Demo
New attention for Robot Programming in Primary 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
* particularly guided by S. Siega and Patrizia Battegazzore
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
after some activities using ROBOLAB language often used with Mindstorms:
• "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
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
Tangibile-programming with Tern
• http://www.eecs.tufts.edu/~mhorn01/tern/
• it is a woodden puzzle-like way to build programs 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
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
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
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
For pupils who can write, in PIONEER a textual language was chosen
• NQC Not Quite C, D. Baum, beginning 2004
• Bricx Command Center (BCC) integrated development environment
yet, it is a language robot oriented, i.e. not high level enough to be pupils oriented rather than to the robot
based on
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
Bricx Command Center
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
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 thus– there are discussions on differences– posters are prepared with correspondences– pupils find out that even the behavior of their robot
• is different for different robots• it is different if the environment is different
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
First programs
Hi Robbispeed(1)forward(80)speed(7)backward(50)right(30) forward(20) left(30)
thanks-bye
task main(){ SetPower(OUT_A+OUT_C,1);
OnFwd(OUT_A+OUT_C);Wait(80);SetPower(OUT_A+OUT_C,7); OnRev(OUT_A+OUT_C); Wait(50);OnFwd(OUT_A); OnRev(OUT_C); Wait(30);
OnFwd(OUT_A+OUT_C);Wait(20); OnFwd(OUT_C); OnRev(OUT_A);
Wait(30); Off(OUT_A+OUT_C);
}
are for checking commands of a RCX brick very simply assembled into a charriot
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
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)
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
NQCBaby03:
aspetta(z)sensore1_toccose_toccaaltrimenti
NQCBaby02
ripeti(z)
fineripetisempre
NQCBaby03:
wait(z)sensor1_touchif_toucheselse
NQCBaby02
repeat(z)
endrepeatalways
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
Example:Hi Susi
speed(3)forward(80)speed(7)backward(50)repeat(3)
right(60) left(60)
endrepeat(2)
backward(10) forward(20)
endthanks-bye
task main(){ SetPower(OUT_A+OUT_C,3);
OnFwd(OUT_A+OUT_C);Wait(80);SetPower(OUT_A+OUT_C,7); OnRev(OUT_A+OUT_C); Wait(50);repeat(3)
{OnFwd(OUT_A); OnRev(OUT_C); Wait(60);
OnFwd(OUT_C); OnRev(OUT_A); Wait(60);
}repeat(2)
{OnRev(OUT_A+OUT_C);Wait(10);OnFwd(OUT_A+OUT_C);Wait(20); }
Off(OUT_A+OUT_C); }
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
NQCBaby translator and IDE*
NQCBaby Levels
Dictionary
writable text area where NQCBaby programs are written
errors
not writable text area: here the translation in NQC appears
* IDE: Integrated DevelopmentEnvironment
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
Designing the robot behavior and writing the program:
red marks are for the path already covered
arrows indicate the path not yet covered
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
Currently under development
NXCBaby extension of NQCBaby5 for the NXT robot
An NXCBaby program has the following structure:
• robot description
• environment description
• behaviour specification
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
example:
Ciao Robbi
superficie(liscia, piana);
porta(A) motore-destro;
porta(C) motore-sinistro;
ripeti(4)
destra(70, 450)
avanti(100, 1000)
conta
grazie ciao .
english translation:Hi Robbi
floor(smooth, flat);port(A) motor-right;port(C) motor-left;repeat(4)
right(70, 450)forward(100,
1000)end
thanks-bye.
NXCBaby
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
Simonetta Siega’s Baveno schoolpupils are from 6 years to 13 years old:
• the marriage: without sensors and with different sensors, always the same path/several paths
query-based learning & teaching technique
• our best loved holiday
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
How long is the Bee walk?-I must count how many steps she walks: 3
-Then I measure how long is every step: 15 cm
-and some children say: I count: 15 x 3others say: 15 +15+15i.e. one step + a second one+ a third one
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
This is not the only path to go from where the Bee
is to the flower!!!!
next year activity:- what is a reasonable path- “it depends”- query-based learning &
teaching technique
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
PIONEER didactical methodology goes back to Papert’s 1980 Mindstorms:
• Computers might change patterns of access to knowledge (page 3)...
• in teaching the computer how to think, children embark on an exploration about how they themselves think…Thinking about thinking turns the child into an epistemologist, an experience not even shared by most adults (page 19)..
• Many children are held back in their learning because they have a model of learning in which you have either “got it” or “got it wrong”… When you learn to program a computer you almost never get it right the first time..This potential influence of the computer on changing our notion of a black or white version of our successes and failures is an example of using the computer as an “object-to-think-with” (page 23).. For me what is most important is that children would be learning to think articulately about thinking. (page 27). Computers are likely to lead to more reflective self-conscious thinking. …
We have seen children engaged in animated conversations about their own personal knowledge as they try to capture it in a program… (page 28)
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
pupils in primary schools by means of robot programming:• experience cross-disciplinary activities • other important results concern digital literacy competences, because they learn
• how to write in a formal language• what an integrated development environment tool is• how to use the IDE for this project• what a translator is, its error finding action• use different translators for the different robots
Learning to play Pianos Not Stereos
These children digital literacy “is to the one of pupils only using any Office suite or similar, as the musical technique of piano players is to the one of stereo players” M. Resnick, Bruckman and Martin (1996).
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
Recent pubblications / reports :• B. Demo, G. Marcianó, Contributing to the Development of
Linguistic and Logical Abilities through Robotics, Proc. Eurologo Conference, Bratislava, August 2007
• B. Demo, G. Marcianó, S. Siega, Concrete Programming using Small Robots in Primary Schools, Proc. ICALT, Santander, July 2008
• M.S. DeMichele, B. Demo, S. Siega, A Piedmont School Net For a K-12 Small Robots Programming Project: Experiences in Primary Schools, August 2008, submitted for pubblication
PIONEER community: http://teaching.i-learn.unito.it/course/view.php?id=89open to guests, but in Italian
www.di.unito.it/~barbara/MicRobot
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
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
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
NQCBaby04:
sensore2_toccose_toccadietrose_toccadavanti
NQCBaby05:
sensore3_lucese_chiarose_scurosinoAche_chiarosinoAche_scuroaccendiLucespegniLuce
NQCBaby04:
sensor2_touchif_touchesFrontif_touchesBack
NQCBaby05:
sensor3_lightif_clearif_darkuntil_clearuntil_darkswitchOnlightswitchofflight
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
Robbysensore1_tocco
ripetisempre avanti(100) se_tocca
accendiluce indietro(100) destra(50) spegniluce
fine fine
ciao
// touch sensor goes to sensor number 1 of the robot
// repeat always// forward(100)// if hits// switch on the light// back(100)// right(50)// switch off the light// end
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
Susisensore1_tocco repeat always
forward((100) if_hits
on_light back(100) right(50) off_light
end end
ciao
NQC translationtask 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);
}
Athens, 2008 B. Demo
New attention for Robot Programming in Primary Schools
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