RoboMind is een eenvoudige educatieve programmeeromgeving met een eigen programmeertaal die leerlingen kennis laat maken met de basis van logica en informatica door een gesimuleerde robot te programmeren. Het toont tevens elementen uit de robotica en de kunstmatige intelligentie.
RoboMind is beschikbaar als desktopapplicatie voor Windows, Linux and Mac OS X. De eerste versie werd in 2005 uitgebracht en is ontwikkeld door Arvid Halma, een toenmalig student aan de Universiteit van Amsterdam. Sinds 2011 wordt RoboMind uitgegeven door de Research Kitchen[3].
De gesimuleerde wereld
In de toepassing staat een tweedimensionale rasterwereld centraal waar een robot in kan rondrijden, rondkijken en markeringen met verf kan aanbrengen. De wereld kan ook zogenaamde bakens oppakken en vervoeren om zo de weg vrij te maken.
De programmeertaal
RoboMind biedt een eenvoudige scripttaal die uit een beperkte verzameling van regels bestaat. Naast taalcommando's die de robot laat bewegen, kan ook de control flow worden beïnvloed met voorwaardelijke testen (if-then-else), repetities en aanroepen naar zelf gedefinieerde procedures.
Voorbeeldscript dat een vierkant tekent:
verfWit
herhaal(4) {
vooruit(2)
rechts
}
Voorbeeld van een recursieve lijnvolger:
volg
procedure volg{
als(voorIsWit){
vooruit(1)
}
anders als(rechtIsWit){
rechts
}
anders als(linksIswit){
links
}
anders{
einde
}
volg
}
Veranderingen in de omgeving, zoals het verven van cellen in de rasterwereld, kunnen worden gebruikt om verschillende toestanden bij te houden. Dit toont een directe relatie tussen de robot in zijn omgeving met (2D) Turing machines.[4][5].
Daarnaast is het vanaf RoboMind versie 5.0 toegestaan om variabelen en functies te definiëren, zoals dat gebruikelijk is in andere talen. Daarmee kan je dan ook toestanden bijhouden.
De scripttaal in momenteel beschikbaar in 22 talen: Arabisch, Braziliaans Portugees, Catalaans, Chinees, Duits, Engels, Frans, Grieks, Hongaars, Indonesisch, Koreaans, Nederlands, Oekraïens, Pools, Slowaaks, Sloveens, Russisch, Spaans, Thai, Tsjechisch, Turks, Zweeds. Alle instructies en programmeerstructuren kunnen worden vertaald. Dit maakt het eenvoudiger te leren voor niet-Engelssprekenden dan de meeste andere programmeertalen die Engelse woorden bevatten of vast zitten aan een Latijns alfabet.
Relatie met andere educatieve software
RoboMind kan gerelateerd worden aan de Logo programmeertaal waar een schildpad kan worden verplaatst om zo geometrische vormen te tekenen. De syntaxis van RoboMind is weliswaar anders, maar correspondeert beter met populaire scripttalen zoals JavaScript. In RoboMind staat het waarnemen en veranderen van de omgeving op gelijke voet, terwijl in Logo de aandacht volledig ligt op dit laatste. Dit maakt RoboMind geschikter om toepassingen in de echte wereld te demonstreren. In Logo heeft de gebruiker echter meer vrijheid om artistieke effecten te visualiseren.
Andere gratis educatieve programmeeromgevingen, zoals Alice en Scratch zijn gericht op het maken van interactieve verhalen.
Zie ook
Externe link
Bronnen, noten en/of referenties