Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of...

32
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

Transcript of Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of...

Page 1: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 2: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 3: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 4: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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:

Page 5: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 6: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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.

Page 7: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 8: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 9: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 10: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 11: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 12: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

Athens, 2008 B. Demo

New attention for Robot Programming in Primary Schools

Bricx Command Center

Page 13: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 14: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 15: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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)

Page 16: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 17: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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); }

Page 18: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 19: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 20: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 21: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 22: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 23: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 24: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 25: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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)

Page 26: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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).

Page 27: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 28: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 29: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 30: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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

Page 31: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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);

}

Page 32: Programming Robots in Primary Schools Deserves a Renewed Attention G. Barbara Demo Dept. of Informatics, Turin University, Italy PIONEER: PIedmOnt NEt.

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