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

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]

Vorteil dieses Ansatzes ist, 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-Community-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-Apps 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]

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

[Bearbeiten | Quelltext bearbeiten]
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

[Bearbeiten | Quelltext bearbeiten]

Catrobat Framework

[Bearbeiten | Quelltext bearbeiten]
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.

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 Millionen 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 Millionen 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

[Bearbeiten | Quelltext bearbeiten]

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

[Bearbeiten | Quelltext bearbeiten]

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], und 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 dem 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 #GalaxyGameJam als Aktivität.

Catrobat an Erziehungseinrichtungen

[Bearbeiten | Quelltext bearbeiten]

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

Catrobat Community

[Bearbeiten | Quelltext bearbeiten]

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

[Bearbeiten | Quelltext bearbeiten]

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. Eine 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
Farbe Funktion Beschreibung
#D15827 Event Verschiedene Events die als erster Block für ein Skript dienen: „wenn Szene Startet“, „Wenn angetippt“, „Wenn du abprallst von etc“.
#F79660 Steuerung Steuern den Programmfluss mittels abgewandelten if-Abfragen oder steuern Schleifen. Bspw. „Warte × Sekunden“, „Beginne Szene“ etc.
#418BC6 Bewegung Steuern die Position, Richtung, Bewegung und Physik eines Objektes: „Setze an Position“, „Drehen“, „Masse“, „Geschwindigkeit setzen“ etc.
#8753A1 Klang Spielen Klänge ab, auch als text to speech oder speichern und spielen gesprochene Nachrichten des Benutzers ab
#6C9C49 Aussehen Befassen sich mit dem Aussehen von Objekten. Ändern Grafiken oder ermöglichen Grafikeffekte
#355729 Malstfit Erlaubt Zeichnen oder Stempeln über den Touchscreen
#F04D4F Daten Ermö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
#395CAB Benutzer definiert Benutzerdefinierte Blöcke
#D078A5 Sticken Blöcke für die Stick Erweiterung, die es ermöglicht ein Stickmuster für elektronische Stickmaschinen zu definieren
#FDCB3F Lego NXT Ermöglichen die Steuerung von Lego NXT Robotern
#FDCB3F Lego EV3 Ermöglichen die Steuerung von Lego EV3 Robotern
#AEA634 AR.Drone 2.0 Ermöglicht die Ansteuerung der Parrot AR Drone
#AEA634 Jumping Sumo Ermöglicht die Ansteuerung der Parrot Jumping Sumo Drone
#28A6AE Arduino Ermöglicht die Steuerung der Arduino Plattform
#28A6AE Raspberry Pi Ermöglicht die Steuerung der Raspberry Pi Plattform
#28A6AE Phiro Ermöglichen die Steuerung von Robotix Phiro Robotern
#28A6AE Testen Programmtest Blöcke wie „Assert“ und Touchsimulation

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 in der Kategorie „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
  • Lovie Awards: Silber, außerdem 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
Deutsch
Englisch

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  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 |. Archiviert vom Original (nicht mehr online verfügbar) 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. Barbara Grech: Programmieren kinderleicht gemacht. In: Die Presse. 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. Archiviert vom Original (nicht mehr online verfügbar) am 22. Mai 2015; abgerufen am 25. November 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
  21. No One Left Behind |. Archiviert vom Original (nicht mehr online verfügbar) 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. Archiviert vom Original (nicht mehr online verfügbar) am 14. Februar 2016; abgerufen am 30. Dezember 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
  33. Winners of 2015. In: Lovie Awards. Abgerufen am 6. Januar 2020.
  34. Innovationspreis Multimedia und e-Business | FFG. Abgerufen am 6. Januar 2021.