programming from an early age -with bee- bots! · programming language, which can therefore also be...

20
Programming from an early age - with Bee- Bots! © Kinderlabor®, 2015 - 2017

Upload: others

Post on 20-Sep-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

Programmingfromanearlyage- withBee-

Bots!©Kinderlabor®,2015- 2017

Page 2: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

First,apolite request...

PleasenotethatKinderlabor ownsthecopyrightforthisscript.Inthecaseofuse/distributionoutsideyourschoolorbeyondthecopyrightlaw,weaskthatyouobtainpermissionfromus

beforehand.ThankyouJ

Page 3: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

HowdoBee-BotshavetodowithIT?Computersciencerevolvesaroundtheautomaticsolutionofproblems.Forexample,wetrytofindthequickestconnectionfromAtoBataspecifictime withthehelpofatraintimetable.Peopleusedtodothisbylookingitupinaprintedtimetable.Nowadayscomputersaresupposedtorelieveusofthistaskbyreferringtoadigitaltimetableandshowingustheresultsofthesearchonawebpageorinanapp.

ThejobofITspecialistsistoteachthecomputerhowtodothat.Thisisdoneintwosteps.First,analgorithm ("recipe")mustbedesigned,thenthecomputermustbeprogrammed (fedwiththerecipe)sothatitcansolvetheproblemautomaticallyforusbyusingtherecipe.

ByusingtheBee-Bots,childrencanfindoutexactlyhowthisprocessworksinaverysimpleform.Forexample,theproblemcouldbethatthebeehastogettotheflower.ThechildrenfirstconsiderasuitablepathandthenprogramtheBee-Botsothatitrunsdownthatpathautomatically.Theskillsrequiredtoachievethisarethesameasfor"big"computerscience:forwardthinking,accuratework,creativityandteamwork.TheBee-BotworksverymuchlikeLOGO,a"real"programminglanguage,whichcanthereforealsobetaughtwithgreatereaseafterprogrammingwiththeBee-Bot.ProgrammingwithBee-Botscanthereforebeseenasanintroductiontocomputerscience.

Page 4: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

Whatisprogramming?Programmingmeansgivingacomputer(orarobot)asequenceofcommandssothatitdoesexactlywhatwewantittodo.

Aprogram consistsofoneormorecommandsequences.Programsarewritteninaprogramminglanguageandthenrunbythecomputer.

Aprogramminglanguageisalanguagethatthecomputerunderstands.Itconsistsofcommandsthatcanbeusedwhenusingthecomputer.

Example:Bee-Bothasto"fly"totheflower.Itunderstandsfourdifferentcommands:onetellsittomoveonefieldforward,onetomovebackwards,anothertoturn90degreestotheleftandthelastinstructshimtoturn90degreestotheright.Thepathtotheflower(forexample,forward,leftturn,forward,forward,forward)isrecordedasaprogramwiththehelpofthecorrespondingcommandbutton.AfterpressingtheGObutton,theBee-Botfollowstheprogramtherebyreachingtheflowerasdirected.

TheprogramminglanguageoftheBee-Botisexplainedindetailonthenextpage.

Page 5: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

TheBee-BotLanguageBee-Botunderstands- viabuttons -four differentcommands:

Moveone fieldforwards!

Turnonthe spotto the right!

Moveone fieldbackwards!

Turnonthe spotto the left!

Page 6: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

LearningtheBee-Botcommands

Preparation:Thechildrenallsitinarow(allfacingthesamedirectionandwithenoughspacearoundthem).Theycannowplayrobotandcarryoutcommandsthemselves.

Procedure:Theinstructorpresentshim- orherselfselfinfrontofthechildren(facingthesamedirection),showsthemthefourbigcommandcardsoneafteranother,makingsureeveryonecanseethemanddemonstrateswhattheymean(onestepforward,onestepbackward,quarterturntotheright,quarterturntotheleft).

Thenitisthechildren‘sturn.Theinstructorstandsinfrontofthemandshowscommandsinsuccession,whicheachchildthenhastocarryout.Aftereachmovement,allthechildrenstopinthenewposition,andthentheprocedurecontinueswiththenextcommand.Iftheyalldoitright,theyshouldallmovetogetheratthesametime;atthebeginning,thechildrenoftengetconfusedbywhichdirectiontheyshouldbegoingin,andthechildrengetoutofsync.Beforegoinganyfurther,allerrorsshouldbeidentifiedandcorrectedtogether.

Thesmileyindicateswhichwayupthecardshouldberead.

Learningobjective:Thechildrenshouldknowthefourcommandsandbeabletocarrythemout.

Page 7: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

UsingtheBee-BotcommandsPreparation:Anarraymadeupof4x4fieldsisaffixedtothefloorwithmaskingtape,sothatachildcaneasilystandonafield.Aflowercardisplacedononeofthefields.

Procedure:Theinstructorexplainsthetask:Achildactsasarobotandissteeredtotheflowerbytheotherchildrenwithoutusingwords.Theinstructorsetsthestartingfieldandoneofthefourdirectionsthechildistoface.Theotherchildrengivethe"robot" asequenceofcommandcardsthattellitwhattodoinordertosteerit.Therobotimmediatelycarriesouteachcommandandthenthenextcommandisselected.Ateachstep,theotherchildrencheckwhethertherobotis"workingcorrectly"(i.e.carryingoutthecommandsproperly)andwhetherthecommandsthemselvesarecorrect.Commandsthatsteertherobotoutsidethefieldarenotcorrect;thesecommandsmustberevoked.Commandsthatsendtherobotinthewrongdirectioncanbecorrectedagainwiththenextcommands.Iftherobotreachestheflower,itmustbe"charged",thatistosayanotherchildtakesitsplace(facingthesamedirection).Anotherchildcanthenplacetheflowerinanewfieldandtheprocedurecontinuesasbefore.

Learningobjective:Thechildrencanusethefourcommandsforaspecificpurposeanddeterminewhetherthemovemadebythe"robot" matchesthecommandtheygave.

Page 8: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

FirstprogrammingProcedure:Thistimeeverythingisdoneasbeforebuttherobotgetsallthecommandsatonce,intheformofaprogram– i.e.abatchofcommandsthatareexecutedinasequence.Theinstructorexplainsthatitisnotpracticaltohavegototherobotaftereachstep.Itwouldbebettertogiveitallthecommandsatonceandthensitbackandwatchhowitdoesitsjob.Withthehelpofthechildren,theinstructorcreatesasuitablepileofcards,asintheexampleshownontheright,usingthefollowingfivecommands:

Sincetherobotisnotrunningwhiletheprogramisbeingcreated,thechildrenhavetoworkoutwhereitwouldbe.Thisprocesscanbesupportedbylayingoutthecardsonthefield(seenextpage).Thecardsarethenputintoapile(startwiththefirstcard,thenthenextcardunderthepile).Therobotnowgetsthefinishedpile– theprogram.Tocarryoutthetask,ittakesthetopcardfromthepile,carriesoutthecorrespondingmovementandplacesthecardbackunderthepilefacingdown(i.e."commandexecuted").Inthefirstround,theinstructorcanactouttheroleoftherobotanddemonstratethesequence.Ifallthecommandsareexecuted,thechildrenchecktoseeiftherobothasreachedthetargetdestination.

1. 2. 3. 4. 5.

Page 9: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

☺☺ ☺

Layingoutthecards:

Forwards/backwardscards:between thestartandtargetfieldofeachstep

Turningcards:on thefieldonwhichtherobotshouldturn

Learningobjective:Thechildrencancreateaprogram- asequenceofcommandsthattherobotcanusetosolveapre-giventask.

Page 10: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

FirstprogrammingVariants:The"robot"isblindfoldedbeforetheflowerisplacedonafield.Thechildrennowcreatetheprogram,andbeforetherobotcanseeagain,theflowerisremovedbutthechildrenrememberwhereitwas.Therobotthencarriesouttheprogram,andwhenithaslandedonthecorrectfieldattheend,everyoneclaps“welldone”toeachother.Alternatively,therobotcanalsowaitinanotherroomandcomeinwhentheprogramisfinished.Whencreatingtheprogram,thechildrenshouldworkasquietlyaspossible(evenwithoutwords!)sothattherobotcannothearanythingaboutwheretheflowerisbeingpositioned.

Checks:Iftherobotlandsonthewrongfield,thechildrenneedtofindouthowthishappened.Wastheprogramnotcreatedproperlyordidtherobotnotcarryitoutproperly?Todothis,thepileofcardsisplacedonthefield(startingfromthetopandturningoveronecardaftertheother)asshownonthepreviouspage.Now,everyonehastotrytofindtheproblemtogetherbyrunningthroughthesequenceagainstepbystep.Whatisimportantisthatnooneis"blamed",thefocushereshouldbeonproblemsolving.

Learningobjective:Whenrunningaprogramstepbystep,thechildrencantellifitiscorrectornot.Theycanidentifyerrors(withtheprogramortherobot).

Page 11: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

WorkingwiththeBee-BotPreparation:Every2-3childrenaregivenaBee-Bot,atransparentmat(4x4fields),abeehive,aredflower,agreenflower,someobstaclesaswellasasetofcommandcards.Thechildrenaretoldthattheynowhavearealrobot,butthatitworksinexactlythesamewayasthechild-robotdidbefore.Insteadofmakingthesequenceofcardsintoaprogramandgivingthistotherobot,thecommandsaretypedintotheBee-Botoneaftertheother.Afterpressingthegreen”GO"button,theBee-Botwillruntheprogramthathasbeenentered.Important:The"X"buttonmustalwaysbepressedbeforetheBee-Botisgivenanynewcommands,sothatBee-Bot"forgets" theoldprogram.

"GO"(runthestoredprogram)

"X"(deletethestoredprogram)

"II"(1secondpausecommand)

Page 12: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

WorkingwiththeBee-BotProcedure:TheinstructorexplainsthatBee-Bot(justlikethechild-robotbefore)hastobesteeredtotheflower.TheBee-Botisplacedonthemat(bytheinstructororthechildrenthemselves).Theflowerisplacedunderthemat.Thechildrenfromeachgrouplayoutaseriesofcommandcardsfortheirrespectivetask(justlikebeforeonthebigfield,butthistimeusingthesmallcommandcards).EachchildcantakeitinturnstotypetheprogramintotheBee-Bot(remembertopress"X"beforehand!)andthenstarttheBee-Botbypressing"GO".Thechecksandtroubleshootingarecarriedoutasbefore.Thecommandsequenceisstillpending,soitispossibletocheckwhethertheprogramcontainserrorsorifanyerrorshavebeenmadewhentyping.Atypicalmistakeisthat“X"hasnotbeenpressedbeforetypingintheprogramandtheBee-Botthereforestartswiththe"old"programfromthepreviousround.

Note:Theon/offswitchisontheundersideoftheBee-Botaswellasaswitchthatcanbeusedtoturnthesoundsonandoff.Whenthesoundison,theBee-Botprovidesaudiofeedbackthathelpsthechildren (e.g.confirmationoftheinput).However,iflotsofBee-Botsarerunningatthesametime,thesoundscanalsobeconfusinganddisturbing.Inthiscase,theyshouldbeturnedoff.

Learningobjective:ThechildrencanusetheBee-Botandsteerittospecificdestinationsusingprogramsthathavebeentypedin.

Page 13: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

Understandingthe Bee-BotPreparation:Thisisatheorytaskfordeepeningthechildren’sunderstanding.Thesolutionforthistaskcanthenbetestedinapracticalexercise.Theinstructorwillhandoutalloraselectionofthefollowingworksheetstothechildren.EachworksheetisdesignedtogetthechildrentoworkoutwhichoftwoflowerstheBee-Botwill“fly”towiththeprogramshown(fromtoptobottom).The“backwards"commandisalsopracticedhere,asitisnotusedatallbysomechildrenwhentheyplaywiththeBee-Bot.

Procedure:ThechildrenuseapenciltocircletheflowerontheworksheetsthattheythinktheBee-Botisgoingtoflyto.Thesolutionisthencheckedbysettingupthesituationshownontheworksheetandbytypingintheprogram(remembertopress"X"before!).

Learningobjective:ThechildrencancorrectlyinterpretshortBee-Botprograms(with"backwards"commands)asawhole.

Page 14: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

IstheBee-Botgoingtogotothegreenflowerortheredflower?

1.

2.

3.

4.

5.

Page 15: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

IstheBee-Botgoingtogotothegreenflowerortheredflower?

1.

2.

3.

4.

5.

Page 16: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

IstheBee-Botgoingtogotothegreenflowerortheredflower?

1.

2.

3.

Page 17: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

SettingandsolvingtasksProcedure:Nowthebeehive,secondflowerandobstaclescomeintoplay.Theaimisforthechildrentosettasksforthemselves.TheinstructorexplainsthatfirstofalltheBee-Bothastomovetooneortwoflowersfromthechosenstartingfieldandthen"fly"tothebeehive.Obstaclecardscanbeusedtoblockcertainfields,whichmeansthattheBee-Botmustnotenterthesefields.Thelevelofdifficultycanbevaried tosuitthecapabilitiesofthechildren.Thesecondflower,obstaclesandeventhebeehiveshouldnotreallybeusedwithchildrenwhostillhaveproblemssolvingtheprevioustaskoftheBee-Bot’sroutetotheflower.AdvancedchildrencanworkwithoutcommandcardsandprogramtheBee-Bot"fromtheirheads".Belowarethreeexampletasks(easy,medium,difficult).Itisleftuptotheinstructor/childrentodecidewhetherthebeehivecanbe"flownover".

Learningobjective:ChildrencanusetheBee-Bottosolvecomplextasks.

Page 18: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

Tasksusing two Bee-BotsProcedure:TwochildrenaregivenoneBee-Boteachandatransparentmat.EachchildputshisorherBee-Botonafield.TheaimistoprogramthetwoBee-Botsinsuchawaythattheyswapplaceswithoutcollidingintoeachother.Inthisinstance,thetwochildrenmustworktogetherandconsiderthecorrespondingcommandsforbothBee-Bots.Theinstructorcanspecifythestartingfieldsatthebeginningandthenlaterthechildrencanchoosethesethemselves.Dependingonthechildren’scapabilities,thechildrencanalsobeaskednotjusttoswaptheirplacesbuttofacetheminthesamedirectionastheotherBee-Botatthebeginning.Obstaclescanalsobeusedhere.IftherearecollisionsthesecanofcoursebefunandtheBee-Botsdonotmindbumpingintoeachother.Herearethreeexampletasks:

Learningobjective:ThechildrencanworktogethertosolvecomplextaskswiththeBee-Bot.

Page 19: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

Yourturn!Bee-BotparcoursProcedure:Usingthetemplate,thedimensionsofwhichcorrespondexactlytoaBee-Botfieldonthetransparentmat,thechildrencanpaintacoursefortheBee-Botonthekraft paperanddecoratethecoursehowtheywant.TheBee-Botcanthenalsorunoffthecourse.Thechildrencanchoosethestartingandfinishingpoints,setupobstacles,or,forexample,drawa"snake"fortheBee-Bot,whichitthenhastorunalong:

Dependingonthechildren’scapabilities,theinstructorcanpointthefollowingouttothechildrenorletthemdiscoveritthemselves:theBee-Botonlystaysinthefieldsiftheyfittogetherexactly.Iftherearegapsoroffsetfields,theBee-Botcannolongerfollowthefields.

Page 20: Programming from an early age -with Bee- Bots! · programming language, which can therefore also be taught with greater ease after programming with the Bee-Bot. Programming with Bee-Bots

Commandcardstoprinto

ffandcuto

ut