Catrobat

Catrobat
Paradigmen:objektorientiert

ereignisorientiert imperativ

Erscheinungsjahr:2010
Designer:Wolfgang Slany
Entwickler:Wolfgang Slany, weitere Entwickler[1]
Aktuelle Version:Android-Version: 0.9.75; iOS-Version: 0.6.17 (Stand 7. Januar 2021)  ()
Typisierung:dynamisch
Beeinflusst von:Scratch
Betriebssystem:* Catroid (2010): Android
  • Pocket Code (2013): Android
  • Pocket Code (2019): Android, iOS
Lizenz:GNU Affero General Public License
catrobat.org

Catrobat ist eine erstmals 2010 unter dem Namen Catroid[2] veröffentlichte bildungsorientierte visuelle Programmiersprache für Jugendliche inklusive einer Entwicklungsumgebung, plattformübergreifenden mobilen Apps und einer eng verknüpften Online-Community-Plattform.

Zielsetzung

Ihr Ziel ist es, Neueinsteiger – besonders Teenager – mit den Grundkonzepten der Programmierung vertraut zu machen. Hierfür greift Catrobat auf den Ansatz des Konstruktionismus zurück und fördert die kreative und explorative Erstellung eigener Spiele, Animationen und Multimedia-Anwendungen. All dies ist direkt nur auf einem Smartphone für die Benutzer möglich.[3]

Vorteile dieses Ansatzes sind, dass Anwender ohne zusätzliche Hardware wie PCs. Laptops oder Tablets, direkt am eigenen Smartphone neue Projekte erstellen, bearbeiten, abspielen und mit anderen Benutzern, falls gewünscht, unter Veröffentlichung des Quellcodes teilen können. Dabei können unterschiedliche Sensoren verwenden werden (z. B. Multi-Touch, Neigungssensor, Gesichtserkennung, Spracherkennung, GPS-Daten). So können die Benutzer ihr logisches Verständnis und Problem-Lösungs-Denken verbessern.

Die mit Catrobat erstellten Apps können entweder aus einer Catrobat App wie Pocket Code gestartet werden, oder (zum derzeitigen Stand nur auf Android-Geräten) als eigene Apps zur Verfügung gestellt werden. Der Austausch zwischen den Anwendern über die Catrobat-Communiy-Plattform soll weitere Motivation und bessere Lernerfolge ermöglichen. Falls vom Ersteller einer Anwendung nicht deaktiviert, kann auf der Plattform auch der jeweilige Quellcode eingesehen werden.

Weiters gibt es durch die einzige und mittlerweile weit verbreitete Hardware-Anforderung, einem Smartphone, viele Initiativen des gleichnamigen und gemeinnützigen Vereins „International Catrobat Association – Verein zur Förderung freier Software“ in weniger stark entwickelten Ländern. Die erste wichtige war die Vorinstallation der Catroid- und Pocket Paint-App auf dem OLPC-Tablet 2013. Ebenso zeigt der Catrobat Verein vor allem starkes Engagement um weiblichen Nachwuchs für MINT-Fächer und versucht die Begeisterung für das Programmieren bei ihnen zu wecken.[4]

Namensherkunft

Der Name Catrobat entstand im Laufe der Zeit aus dem ursprünglichen ersten Softwareprojekt Catroid. Catroid selbst war eine Anlehnung an Android und dem englischen Wort Cat für Katze. Die Katze wurde aufgrund der Nähe zum Scratch Projekt gewählt, das eine Katze als Maskottchen verwendet. Um für die daraus entstandene visuelle Programmiersprache und den Dach-Verein etwas allgemeineres zu haben, entstand als Wortspiel Catrobat.

Entwicklung und Implementierung

Userinterface von Pocket Code mit Scratch Remixen
Pocket Code Scratch Remixes Auswahl

Die erste Veröffentlichung im Juni 2010 war noch unter dem Namen Catroid nur für Android verfügbar. Unter Leitung von Wolfgang Slany entstanden in den Folgejahren verschiedene Erweiterungen und auch Apps für andere mobile Betriebssysteme.

Inspiriert ist Catrobat von Scratch und dem US-amerikanischen Professor für Lernforschung Mitchel Resnick der Lifelong Kindergarten Group am MIT Media Lab. Zwischen den beiden Sprachen und Projekten gibt es regen Austausch und seit 2015 auch einen Scratch2Catrobat-Converter, welcher den Import und Umwandlung von Scratch Projekten zu Catrobat-Projekten ermöglicht und somit auch die direkte Ausführung unter den unterstützen mobilen Betriebssystemen.[5]

Seit 2011 ist Catrobat auch Teil von Googles Summer of Code[6] und erfreut sich auch einer regen Teilnahme bei Google Code-In. Der erwähnte Scratch2Catrobat-Converter war Teil vom Google Summer of Code 2014.[7]

Entwicklungsumgebung, Mobile Apps, Share-Plattform

Catrobat Framework

PocketCode User interface
Pocket Code User interface – Community Link

Die Entwicklungsumgebung für Catrobat ist Teil der mobilen Apps und diese können kostenlos unter Android aus dem Google Play Store, Huaweis AppGallery oder Apples App Store heruntergeladen werden. Derzeit aktiv unterstützt werden Googles Android und Apples iOS. Die Varianten für Windows Mobile[8] und eine HTML5-basierte Version wurden 2017 bzw. 2019 eingestellt.

Mobile Apps

Da Catrobat auf die Verbreitung über mobile Betriebssysteme setzt, werden vom gleichnamigen Catrobat Verein auch entsprechende Apps entwickelt und gepflegt.

  • Pocket Code[9] mit 1,4 Million Downloads auf Google Play seit 2014 und 20.000 Downloads auf Apples App Store seit 2019 (Stand: November 2020)
  • Pocket Paint[10] mit 1,2 Million Downloads auf Google Play seit 2014 (Stand: November 2020)
  • Create@School[11] welche im Zusammenspiel des Horizont 2020 Projektes „No One Left Behind“ umgesetzt wurde
  • Luna And Cat[12] welche verstärkt weibliches Zielpublikum adressieren soll
  • Embroidery Designer[13] ermöglicht mit Catrobat das visuelle Programmieren von Stickmaschinen

Share Plattform

Die auf Catrobat basierenden Apps, allen voran Pocket Code, bieten eine eingebaute Share-Plattform. Hierüber kann jeder Benutzer seine eigenen programmierten Anwendungen freigeben, als auch die Anwendungen anderer Anwender ausprobieren. Durch das Hochladen erklären sich die User mit der Veröffentlichung ihres Quellcodes unter einer freien Softwarelizenz einverstanden, der dadurch von anderen Usern eingesehen und weiterverwendet werden kann. Vor allem dadurch ergeben sich an Scratch angelehnt die Möglichkeit von Remixen bzw. Aufgreifen von bereits funktionierenden Projekten und Abändern gemäß der eigenen Wünsche. Hierdurch stellt sich neben einer höheren Motivation auch ein größerer Lerneffekt bei den Catrobat Usern ein.

Die Share-Plattform wurde auch für unterschiedliche Wettbewerbe wie beispielsweise den Samsung Galaxy Game Jam (#GalaxyGameJam)[14] verwendet.

Verbreitung und Nutzung

Seit 2014 wächst das Catrobat Projekt mit seinen Apps exponentiell in Bezug auf Benutzer- und freiwilligen Entwicklerzahlen. Im Einsatz ist die Programmiersprache auf Smartphones fast über alle Länder der Welt. Stand Ende 2020 gibt es über 2,5 Millionen App-Downloads, über 200.000 monatlich aktive Nutzer und über 1000 freiwilligen Beitragende[15]. Daher gibt es eine weltweit wachsende Gemeinschaft von Programmieranfängern, Schülern, Studierenden, Pädagogen, Wissenschaftlern und Hobbyisten, die sich gegenseitig motivieren und unterstützen.

Die Aktivitäten haben sich über die reine Anwendung, Entwicklung und Übersetzung auf lokale Ereignisse ausgedehnt. Neben den wiederkehrenden Maker Days[16] an der TU Graz, Samsungs Coding for Kids[17][18], Schulen die es im Lehrbetrieb aufnehmen, gibt es auch internationale Events im Zuge von Kooperationen.

Das Konzept für den Einsatz in Schulen basiert auf den Konzept des Konstruktionismus und wurde in mehreren Iterationen wissenschaftlich erforscht und ausgearbeitet[19][20].

Als Partnerorganisation auf Code.org gibt es auch während der jährlichen „Hour of Code“ den erfolgreichen #GalaxyGameJam als Aktivität.

Catrobat an Erziehungseinrichtungen

Catrobat wird weltweit in verschiedensten Schulformen und Unterrichtsveranstaltungen eingesetzt. Im Zuge des No One Left Behind[21] Projektes wurde EU-Länderübergreifend das Konzept aufgegriffen.

Catrobat Community

Die Catrobat Community tauscht sich über verschiedene Kanäle aus. Neben dem Catrobat-Wiki, welches ein freies, gemeinschaftlich geschriebenes Wiki ist, das Informationen über die Programmiersprache Catrobat, deren Funktionsumfang, Geschichte und begleitende Education-Materialien enthält, gibt es eine Reihe weiterer Plattformen. Das Wiki wird vom Catrobat-Team unterstützt, wird aber im typischen Wiki-Charakter von der Community getragen und in die Sprachen der Benutzer übersetzt.

Darüber hinaus gibt es eine YouTube-Community, welche in bereits mehreren Sprachen die fertigen Catrobat basierten Projekte, als auch Tutorials erstellt und teilt.

Über Discord gibt es auch einen eigenen Server, auf dem sich in Sprachen unterteilt die Benutzer austauschen können und ihre Projekte präsentieren.[22]

Die Entwickler tauschen sich über GitHub, Slack, Jira und Confluence aus. Die Übersetzungen über die Plattform Crowdin können von jedem beigetragen werden und werden vom Projekt nach Sichtung für das nächste Release übernommen.

Programmieren in Catrobat

Catrobat bietet einem die Möglichkeit die gesamte Entwicklung mit den visuellen Bausteinen, sogenannten Blocks und wenigen textuellen Eingaben durchzuführen. Der größte Vorteil für die zumeist jugendlichen Benutzer ist die Möglichkeit in einer von über 60 Sprachen zu programmieren, die auch weit über das Angebot der Betriebssysteme gehen. Somit muss man nicht wie sonst üblich in Englisch programmieren. Diese Spracheinstellung lässt sich beispielsweise in Pocket Code für die App selbst in den Einstellungen setzen. Dies führt zu einer sehr niedrigen Einstiegshürde.

Die visuellen Blöcke sind farblich kodiert. Ein genaue Funktionsbeschreibung und Auflistung aller Möglichkeiten findet sich in den Apps bzw. im Catrobat-Wiki. Auf YouTube gibt es auch eine Reihe von Tutorials für spezifische Funktionalität.

Catrobat Blocks
FarbeFunktionBeschreibung
#D15827EventVerschiedene Events die als erster Block für ein Skript dienen: „wenn Szene Startet“, „Wenn angetippt“, „Wenn du abprallst von etc“.
#F79660SteuerungSteuern den Programmfluss mittels abgewandelten if-Abfragen oder steuern Schleifen. Bspw. „Warte × Sekunden“, „Beginne Szene“ etc.
#418BC6BewegungSteuern die Position, Richtung, Bewegung und Physik eines Objektes: „Setze an Position“, „Drehen“, „Masse“, „Geschwindigkeit setzen“ etc.
#8753A1KlangSpielen Klänge ab, auch als text to speech oder speichern und spielen gesprochene Nachrichten des Benutzers ab
#6C9C49AussehenBefassen sich mit dem Aussehen von Objekten. Ändern Grafiken oder ermöglichen Grafikeffekte
#355729MalstfitErlaubt Zeichnen oder Stempeln über den Touchscreen
#F04D4FDatenErmöglichen Daten zu speichern und zu verwalten. Daten können die Form von Variablen oder Listen haben und auch permanent sein, wie für den Spielstand
#395CABBenutzer definiertBenutzerdefinierte Blöcke
#D078A5StickenBlöcke für die Stick Erweiterung, die es ermöglicht ein Stickmuster für elektronische Stickmaschinen zu definieren
#FDCB3FLego NXTErmöglichen die Steuerung von Lego NXT Robotern
#FDCB3FLego EV3Ermöglichen die Steuerung von Lego EV3 Robotern
#AEA634AR.Drone 2.0Ermöglicht die Ansteuerung der Parrot AR Drone
#AEA634Jumping SumoErmöglicht die Ansteuerung der Parrot Jumping Sumo Drone
#28A6AEArduinoErmöglicht die Steuerung der Arduino Plattform
#28A6AERaspberry PiErmöglicht die Steuerung der Raspberry Pi Plattform
#28A6AEPhiroErmöglichen die Steuerung von Robotix Phiro Robotern
#28A6AETestenProgrammtest Blöcke wie „Assert“ und Touchsimulation

Rezeption

Catrobat und die mobilen Apps haben unter anderem folgende Preise und Anerkennungen erhalten:

  • Gewinner „Best App Europe“ für Pocket Code beim Huawei HMS App Innovation Contest für Europa[23]
  • Mind the Gap Award (Oktober 2020) TU Graz, für das Embroidery Designer / Code'n'Stitch Femtech FFG Projekt[24]
  • „Route 63“ kompetitives Projekt (Oktober 2020) TU Graz und Karl Franzens Universität Graz, zusammen mit Karin Landerl (Karl Franzens University Graz, Institut für Psychologie), für das gemeinsame Projekt „Towards a Better Understanding of the Cognitive and Affective Mechanisms of Computer Programming and Computational Thinking“[25]
  • Best Paper Award at IEEE International Conference on Open Systems (ICOS 2018), „Enabling Teenagers to Create and Share Apps“[26] by Matthias Müller, Christian Schindler, Kirshan Luhana, and Wolfgang Slany
  • Finalist Excellence in Teaching Award, TU Graz, Vorlesung „Programming 101 – Design your own app!“
  • Best Paper Award at IEEE International Conference on Innovative Research and Development (ICIRD 2018), „Streamlining mobile app deployment with Jenkins and Fastlane in the case of Catrobat's Pocket Code“[27] by Kirshan Luhana, Christian Schindler, and Wolfgang Slany
  • Closing the Gender Gap (November 2017), netidee
  • Platinum Award winner in the category „Best educational app“ (März 2017), Best Mobile App Awards[28]
  • Re-Imagine Education Gold Award Winner Europa (Dezember 2016)[29], Wharton School of the University of Pennsylvania in Philadelphia, USA
  • Internet for Refugees Award (November 2016), netidee[30][31]
  • ICT 2015 'Young Minds'[32] – Grand Prix Best Connect Exhibitor Award, Europäische Kommission
  • Silver Winner of the Lovie Awards and a winner of the People's Lovie Awards (Oktober 2015[33]), The International Academy of Digital Arts and Sciences
  • Austrian National Innovation Award for Multimedia and e-Business (März 2013[34]), Austrian Ministry for Economics and Youth Development

Siehe auch

Literatur

Deutsch
Englisch

Weblinks

Einzelnachweise

  1. Catrobat-Danksagungen und Beitragende
  2. Wolfgang Slany: Catroid: A Mobile Visual Programming System for Children. In: arXiv:1204.6411 [cs]. 28. April 2012, arxiv:1204.6411.
  3. Anja Petri, Christian Schindler, Wolfgang Slany, Bernadette Spieler: Game Design with Pocket Code: Providing a Constructionist Environment for Girls in the School Context. In: arXiv:1805.04362 [cs]. 31. August 2018, arxiv:1805.04362.
  4. Bernadette Spieler, Wolfgang Slany: Female Teenagers and Coding: Create Gender Sensitive and Creative Learning Environments. In: arXiv:1805.04366 [cs]. 31. August 2018, arxiv:1805.04366.
  5. Pocket Code – Das deutschsprachige Scratch-Wiki. Abgerufen am 23. November 2020.
  6. Google Summer of Code Wrap up: Catrobat. In: Google Open Source Blog. Abgerufen am 23. November 2020.
  7. Google Summer of Code Wrap up: Catrobat. In: Google Open Source Blog. Abgerufen am 23. November 2020.
  8. Annemarie Harzl, Philipp Neidhoefer, Valentin Rock, Maximilian Schafzahl, Wolfgang Slany: A Scratch-like visual programming system for Microsoft Windows Phone 8. In: arXiv:1310.1390 [cs]. 6. Oktober 2013, arxiv:1310.1390.
  9. Pocket Code: Programmiere deine eigenen Spiel-Apps – Apps bei Google Play. Abgerufen am 31. Oktober 2020.
  10. Pocket Paint: einfach Zeichnen – Apps bei Google Play. Abgerufen am 31. Oktober 2020.
  11. No One Left Behind |. (Nicht mehr online verfügbar.) Archiviert vom Original am 28. Oktober 2020; abgerufen am 31. Oktober 2020.  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/no1leftbehind.eu
  12. Luna and Cat: Designe deine eigene App! – Apps bei Google Play. Abgerufen am 31. Oktober 2020.
  13. Embroidery Designer – Apps bei Google Play. Abgerufen am 31. Oktober 2020.
  14. Galaxy Game Jam. Abgerufen am 30. Dezember 2020.
  15. Home. Abgerufen am 31. Oktober 2020 (amerikanisches Englisch).
  16. Materialsammlung – Informatische Grundbildung. Abgerufen am 31. Oktober 2020 (deutsch).
  17. Digitale Bildung in Österreich fördern | Samsung Smart School. Abgerufen am 31. Oktober 2020 (österreichisches Deutsch).
  18. 21 10 2016 um 12:25 von Barbara Grech: Programmieren kinderleicht gemacht. 21. Oktober 2016, abgerufen am 25. November 2020.
  19. Anja Petri, Christian Schindler, Wolfgang Slany, Bernadette Spieler, Jonathan Smith: Pocket Game Jams: a Constructionist Approach at Schools. In: arXiv:1805.04462 [cs]. 31. August 2018, doi:10.1145/2786567.2801610, arxiv:1805.04462.
  20. No One Left Behind | Project. Abgerufen am 25. November 2020.
  21. No One Left Behind |. (Nicht mehr online verfügbar.) Archiviert vom Original am 28. Oktober 2020; abgerufen am 31. Oktober 2020.  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/no1leftbehind.eu
  22. Join the Pocket Code Discord Server! Abgerufen am 31. Oktober 2020.
  23. Huawei Apps Up HMS Innovation Award. Abgerufen am 13. Dezember 2020.
  24. „Mind the Gap“: Preise für Chancengleichheit. Abgerufen am 13. Dezember 2020.
  25. Forschungsportal – UNIGRAZonline – Karl-Franzens-Universität Graz. Abgerufen am 30. Dezember 2020.
  26. M. Müller, C. Schindler, K. K. Luhana, W. Slany: Enabling Teenagers to Create and Share Apps. In: 2018 IEEE Conference on Open Systems (ICOS). November 2018, S. 25–30, doi:10.1109/ICOS.2018.8632815.
  27. K. K. Luhana, C. Schindler, W. Slany: Streamlining mobile app deployment with Jenkins and Fastlane in the case of Catrobat's pocket code. In: 2018 IEEE International Conference on Innovative Research and Development (ICIRD). Mai 2018, S. 1–6, doi:10.1109/ICIRD.2018.8376296.
  28. Pocket Code Mobile App | The Best Mobile App Awards. Abgerufen am 30. Dezember 2020 (englisch).
  29. Winners 2016. In: Reimagine Education Conference & Awards. Abgerufen am 30. Dezember 2020 (amerikanisches Englisch).
  30. Pocket Code gewinnt Internet for Refugees Preis. Abgerufen am 30. Dezember 2020.
  31. “Internet for Refugees” prize for TU Graz programming app. Abgerufen am 30. Dezember 2020 (englisch).
  32. No One Left Behind | “No One left Behind” won the Grand Prix Best Connect Exhibitor in ICT 2015. Abgerufen am 30. Dezember 2020.
  33. Winners of 2015. In: Lovie Awards. Abgerufen am 6. Januar 2020.
  34. Innovationspreis Multimedia und e-Business | FFG. Abgerufen am 6. Januar 2021.

Auf dieser Seite verwendete Medien

Pocket code user interface.png
Autor/Urheber: Dnsmtc, Lizenz: CC BY-SA 4.0
Pocket Code User Interface Screenshot
Scratch Remixe unter Catrobats Pocket Code.png
Autor/Urheber: Dnsmtc, Lizenz: CC BY-SA 4.0
Scratch Remixe Visualisierung unter Catrobats Pocket Code Android App.