Catrobat

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Sulfurboy (talk | contribs) at 11:50, 12 March 2021 (Sulfurboy moved page Draft:Catrobat to Catrobat: Publishing accepted Articles for creation submission (AFCH 0.9.1)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Catrobat
Logo
Designed byWolfgang Slany
First appeared2010; 14 years ago (2010)
Stable release
0.9.75
Typing disciplinedynamic, dynamic
Platform
OSCross-platform
LicenseGNU Affero General Public License
Websitecatrobat.org
Influenced by
Scratch (programming language)

Catrobat is a block-based visual programming language and Free and Open Source Software (FOSS) non-profit project, The first release dates back to 2010 and was initiated by Wolfgang Slany from the Technical University Graz in Austria. The multidisciplinary team[1] develops the programming language and free apps for teenagers to create their own games, animations, music videos or all other kinds of apps directly on a smartphone based on the catrobat framework.[2]

The visual programming language used for coding is very similar to the one used in Scratch but with Catrobat, no laptop or PC is needed. Every aspect of development can be covered solely on a smartphone and therefore over the years the usage of Catrobat and the Apps spread all over the world. Some activities of Catrobat are targeted directly at female teenagers to close the gender gap in MINT-Studies.[3] Other activities are especially for less developed countries because a native language support is provided directly in Catrobat’s apps, without the need to be supported on operating systems language level.[4]

History

Catrobat started by the name Catroid in 2010 and the name was inspired by Scratch’s cat mascot and the android operating system. A first public version of the free app was published in 2014 on Google Play. Currently there are more than 74 releases of the main coding app as of November 2020. A first version for iOS has been published in 2018. The mobile apps currently have more than 2.7 Million users in 180 countries[5], are natively available in 50+ languages (including several languages not directly supported by the underlying operating system)[4], and have been developed so far by over 1,200 volunteers from around the world.

Vision

The aim of Catrobat is to introduce young people to the world of coding, using only their smartphones and bypassing traditional education. With a playful approach, young people can be engaged and game development can be promoted with a focus on design and creativity. When used in schools the project often refers to the approach of constructionism.[6]

To make it even more accessible to young people in less developed countries, Catrobat decided to not rely on the operating system language and implemented the possibility to switch to one of over 50 native languages directly in the user interface. The translations are contributed by the community based on CrowdIn[4] and the process makes it easy for volunteers to help adapt to new languages or to increase the quality.

Development environment, mobile apps, share platform

Catrobat Framework

The development environment for Catrobat is part of the mobile apps and these can be downloaded for free on Android from the Google Play Store, Huawei's AppGallery or Apple's App Store. Google's Android and Apple's iOS are currently actively supported. Variants for Windows Mobile[7] and a HTML5-based version were discontinued in 2017 and 2019, respectively.

Mobile Apps

Pocket Code

The first Catrobat app has been Pocket Code (formerly Catroid)[8], a visual programming language environment that allows the creation of games, stories, animations, and many types of other apps directly on smartphones. This app consists of a visual Integrated Development Environment (IDE) and a programming language execution engine for the Catrobat Programming language. The IDE automatically translates the underlying code parsed by the XML file into visual brick elements and vice versa. With the use of simple graphic blocks, teenagers can create their own game, colorful animations, or extensive stories directly on the mobile phone without prior knowledge. The used visual and block-based coding language helps teenagers in their coding with an easy to use interface and predefined Lego® style bricks. In addition, Pocket Code allows access to many sensors on the smartphone, for instance, inclination, GPS, or compass direction. There has also been added support for image, voice and face recognition.

Luna&Cat

Luna&Cat is a tailored version of the Pocket Code app to appeal to female teenagers in particular. It has lots of cute and scary characters as well as beautiful backgrounds already built-in. With Luna&Cat girls get more than just a nice app to design their own games but also many featured games created by and for girls. With Luna&Cat a new large user base of curious female teenagers who want to design their own stories has been created.

Create@School

The Create@School app is a more tailored version of Pocket Code for academic purposes, with predefined templates for students to start with an almost finished game and accessibility settings have been added for students with special needs. Previous Create@School was also linked to other services such as behavioral tracking to collect events during coding, as well as the Project Management Dashboard (PMD) for project submission and assessment by teachers. Create@School is still a beta version is being tested by schools throughout Europe

Phiro Code

Phiro Code is an App based on Catrobat especially designed and developed to work together with the learning robots from Robotix. The integration of the interface to control the robots lets the kids better learn to code while watching the robot enact their programming.

Embroidery Designer

Embroidery Designer makes the most out of the extension for embroidery machines. The goal of the app is to attract female teenagers by giving them the possibility to customize clothing and accessories, while learning to code. The approach is again to bridge the visual coding language not just to animations, but also to real world operations from a machine.

Extensions

The Catrobat apps support the following extensions as of Januray 2021

Share Platform

Every App from the Catrobat umbrella project  has a build in sharing platform. Every user can share his Catrobat applications and check out projects from the community. By sharing and accepting others to see the source code under a public software licence, everybody can learn quickly from others and use existing projects as a starting point. The concept is similar to the Remix-concept by Scratch. The intention is to motivate the community in an active participation, have higher learning effects and thereby reinforce the goals from Catrobat’s vision. This not only increases motivation, but also has a greater learning effect on the Catrobat users.

The share platform was also used for various competitions such as the Samsung Galaxy Game Jam (#GalaxyGameJam)[9]

Programming with Catrobat

Catrobat offers the possibility to carry out the entire development with the visual building bricks, so-called blocks and a few textual inputs. The biggest advantage for the mostly young users is the possibility to program in one of over 60 languages, which also go far beyond the range of languages provided by the operating systems. Thus one does not have to program in English as usual. This language setting can be set directly in Pocket Code for the app itself in the settings, for example. This leads to a very low barrier to start coding.

The visual blocks are color-coded. A more detailed function description and listing of all possibilities can be found in the apps or in the Catrobat wiki[10]. There are also a number of tutorials for specific functionality on Youtube.

Catrobat Blocks
Farbe Funktion Beschreibung
#D15827 Event Different events that serve as the first block for a script: "when scene starts", "when tapped", "when you bounce off etc".
#F79660 Control Control the program flow by means of modified if-queries or control loops. E.g. "Wait × seconds", "Start scene" etc.
#418BC6 Motion Control the position, direction, motion and physics of an object: "Set to position", "Rotate", "Mass", "Set speed" etc. The physics engine, meanwhile, applies friction, gravity, and varying motion styles to different objects.
#8753A1 Sound Play sounds, also as text to speech or store and play spoken messages from the user
#6C9C49 Looks Handle the appearance of objects. Change graphics or enable graphic effects
#355729 Pen Allows drawing or stamping via the touch screen
#F04D4F Data Allow to store and manage data. Data can have the form of variables or lists and also be permanent, as for the game state
#395CAB Yout Bricks Custom Bricks / User defined
#D078A5 Embroidery blocks for embroidery extension, which allows to define an embroidery design for electronic embroidery machines
#FDCB3F Lego NXT Enable the control of Lego NXT robots
#FDCB3F Lego EV3 Enable the control of  Lego EV3 robots
#AEA634 AR.Drone 2.0 Enable the control of Parrot AR Drone
#AEA634 Jumping Sumo Allows control of the Parrot Jumping Sumo Drone
#28A6AE Arduino Enables control of the Arduino Platform
#28A6AE Raspberry Pi Enables control of the Raspberry Pi platform
#28A6AE Phiro Enables control of the Robotix Phiro robots
#28A6AE Test program test blocks like „Assert“ and touch simulation


Catrobat Community

Online Community

Since the official launch in 2014 Catrobat and the Apps have had an exponential growth on the basis of user and contributor count. In almost every country worldwide the apps are being used. The community consists of development beginners, pupils, students, educators, scientists and voluntary contributors. All of whom help each other and work on Catrobats progress.

The community  activities have changed from being purely software development and translation related to also host physical events.

The Catrobat community exchanges information through various channels. In addition to the Catrobat Wiki, which is a free, collaboratively written wiki that contains information about the Catrobat programming language, its functionality, history, and accompanying educational materials, there are a number of other platforms. The wiki is supported by the Catrobat team, but in typical wiki character, is community-driven and translated into users' languages.

In addition, there is a Youtube community, which already creates and shares in several languages the finished Catrobat-based projects, as well as tutorials.

Over Discord there is also an own server, on which divided into languages the users can exchange themselves and present their projects.[11]

The developers exchange information via GitHub, Slack, Jira and Confluence. The translations via the Crowdin platform can be contributed by anyone and are adopted by the project for the next release after review.

Impact and Usage

Since 2014, the Catrobat project and its apps have been growing exponentially in terms of user and volunteer developer numbers. The programming language is used on smartphones in almost every country in the world. As of the end of 2020, there are over 2.5 million app downloads, over 200,000 monthly active users, and over 1000 volunteer contributors[12]. As a result, there is a growing global community of novice programmers, students, educators, researchers, and hobbyists who motivate and support each other.

Activities have expanded beyond just application, development, and translation to include local events. Besides the recurring Maker Days at Graz University of Teconology, Samsung's Coding for Kids[13][14], schools taking it up in teaching, there are also international events in the course of collaborations.[15]

The concept for use in schools is based on the concept of constructionism and has been scientifically researched and elaborated in several iterations[16][17].

As a partner organization on Code.org, there is also the successful #GalaxyGameJam as an activity during the annual Hour of Code[18].

On an anual basis Catrobat was also part of Google's open source programs since 2011[19]. For example in 2014 for Google Summer of Code[20], or in 2018 for Google Code-In [21].

Projects

The Catrobat’s apps have already been used in several large research studies, both on international as well as national levels, and are of sufficient complexity to allow to cover all relevant areas of interest and activities of teenagers. For example, during the Horizon 2020 No One Left Behind project[22], Pocket Code has been adopted for school[23] purposes and has been developed and evaluated in a large-scale European study. Further, during the national RemoteMentor project (2018) funded by NetIdee, effective mentoring/online help options for female teenagers in particular have been tested and integrated in our services to foster collaborative and engaging project work online. The Code’n’Stitch project funded by FFG/FEMtech started in September 2018. During this project, the app has been extended with the option to program embroidery machines. In this way, self-made patterns and designs can be stitched on t-shirts, pants or even bags. Patterns and different forms can be created using Pocket Codes’ visual programming language. As a result, teenagers have something they can be proud of, something they can wear, and that they can show to others.

Reception

Catrobat and the mobile apps have received awards and recognition including:

  • Winner „Best App Europe“ for Pocket Code at the Huawei HMS App Innovation Contest Europe[24]
  • Mind the Gap Award (October 2020) from Graz University of Tecnology, for the Embroidery Designer / Code'n'Stitch FEMtech FFG Projekt[25]
  • „Route 63“ competitive project (October 2020) Graz University of Tecnology and Karl Franzens Universität Graz, together with Karin Landerl (Karl Franzens University Graz, Institute of Psychology), for the collective project „Towards a Better Understanding of the Cognitive and Affective Mechanisms of Computer Programming and Computational Thinking“[26]
  • Best Paper Award at IEEE International Conference on Open Systems (ICOS 2018), „Enabling Teenagers to Create and Share Apps“[27] by Matthias Müller, Christian Schindler, Kirshan Luhana, and Wolfgang Slany
  • Finalist Excellence in Teaching Award, Graz University of Tecnology, Lecture „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“[28] by Kirshan Luhana, Christian Schindler, and Wolfgang Slany
  • Closing the Gender Gap (November 2017), Netidee
  • Platinum Award winner in the category „Best educational app“ (March 2017)[29], Best Mobile App Awards
  • Re-Imagine Education Gold Award Winner Europe (December 2016)[30], Wharton School of the University of Pennsylvania in Philadelphia, USA
  • Internet for Refugees Award (November 2016), Netidee[31][32]
  • ICT 2015 'Young Minds' [33] [34]– Grand Prix Best Connect Exhibitor Award, European Commission
  • Silver Winner of the Lovie Awards and a winner of the People's Lovie Awards (October 2015)[35], The International Academy of Digital Arts and Sciences
  • Austrian National Innovation Award for Multimedia and e-Business (March 2013)[36], Austrian Ministry for Economics and Youth Development

See also

Literature

German
Englisch

Weblinks

References

  1. ^ "Catrobat Credits". developer.catrobat.org. Retrieved 2021-02-28.
  2. ^ Petri, Anja; Schindler, Christian; Slany, Wolfgang; Spieler, Bernadette (2018-08-31). "Game Design with Pocket Code: Providing a Constructionist Environment for Girls in the School Context". arXiv:1805.04362 [cs].
  3. ^ Spieler, Bernadette; Slany, Wolfgang (2018-08-31). "Female Teenagers and Coding: Create Gender Sensitive and Creative Learning Environments". arXiv:1805.04366 [cs].
  4. ^ a b c "Catrobat CrowdIn Translation Project".{{cite web}}: CS1 maint: url-status (link)
  5. ^ "Android Apps by Catrobat on Google Play". play.google.com. Retrieved 2021-03-07.
  6. ^ Petri, Anja; Schindler, Christian; Slany, Wolfgang; Spieler, Bernadette (2018-08-31). "Game Design with Pocket Code: Providing a Constructionist Environment for Girls in the School Context". arXiv:1805.04362 [cs].
  7. ^ Harzl, Annemarie; Neidhoefer, Philipp; Rock, Valentin; Schafzahl, Maximilian; Slany, Wolfgang (2013-10-06). "A Scratch-like visual programming system for Microsoft Windows Phone 8". arXiv:1310.1390 [cs].
  8. ^ Slany, Wolfgang (2012-04-28). "Catroid: A Mobile Visual Programming System for Children". arXiv:1204.6411 [cs].
  9. ^ "Galaxy Game Jam". www.galaxygamejam.com. Retrieved 2021-03-07.
  10. ^ "Catrobat Wiki Home". wiki.catrobat.org. Retrieved 2021-03-07.
  11. ^ "Discord - A New Way to Chat with Friends & Communities". Discord. Retrieved 2021-03-06.
  12. ^ "Home". Catrobat. Retrieved 2021-03-06.
  13. ^ "Digitale Bildung in Österreich fördern | Samsung Smart School". Samsung at (in Austrian German). Retrieved 2021-03-06.
  14. ^ Grech, 21 10 2016 um 12:25 von Barbara (2016-10-21). "Programmieren kinderleicht gemacht". Die Presse (in German). Retrieved 2021-03-06.{{cite web}}: CS1 maint: numeric names: authors list (link)
  15. ^ "Learning to Code: Programmieren mit Pocket Code". imoox.at. Retrieved 2021-03-07.
  16. ^ Petri, Anja; Schindler, Christian; Slany, Wolfgang; Spieler, Bernadette; Smith, Jonathan (2015-08-24). "Pocket Game Jams: a Constructionist Approach at Schools". Proceedings of the 17th International Conference on Human-Computer Interaction with Mobile Devices and Services Adjunct: 1207–1211. doi:10.1145/2786567.2801610.
  17. ^ "No One Left Behind | Project". No One Left Behind.{{cite web}}: CS1 maint: url-status (link)
  18. ^ "Beyond an Hour of Code". Code.org. Retrieved 2021-03-07.
  19. ^ "Google Summer of Code Wrap up: Catrobat". Google Open Source Blog. Retrieved 2021-03-07.
  20. ^ "Google Summer of Code 2014 Organization Catrobat (formerly Catroid Project)". www.google-melange.com. Retrieved 2021-03-07.
  21. ^ "Catrobat - 2018 - Google Code-in Archive". codein.withgoogle.com. Retrieved 2021-03-07.
  22. ^ Jagoutz, Michael. "No One Left Behind". wiki.catrobat.org. Retrieved 2021-03-07.
  23. ^ Ltd, EducationalAppStore. "Pocket Code Review". Educational App Store. Retrieved 2021-03-07.
  24. ^ "Huawei HMS Apps Up Award Winners". developer.huawei.com. Retrieved 2021-03-07.{{cite web}}: CS1 maint: url-status (link)
  25. ^ "„Mind the Gap": Preise für Chancengleichheit". www.tugraz.at (in German). Retrieved 2021-03-07.
  26. ^ "Forschungsportal - UNIGRAZonline - Karl-Franzens-Universität Graz". online.uni-graz.at. Retrieved 2021-03-07.
  27. ^ Müller, M.; Schindler, C.; Luhana, K. K.; Slany, W. (22 November 2018). "Enabling Teenagers to Create and Share Apps". 2018 IEEE Conference on Open Systems (ICOS). IEEE: 25–30. doi:10.1109/ICOS.2018.8632815 – via IEEE Xplore.{{cite journal}}: CS1 maint: date and year (link)
  28. ^ Luhana, K. K.; Schindler, C.; Slany, W. (May 2018). "Streamlining mobile app deployment with Jenkins and Fastlane in the case of Catrobat's pocket code". 2018 IEEE International Conference on Innovative Research and Development (ICIRD): 1–6. doi:10.1109/ICIRD.2018.8376296.
  29. ^ "Pocket Code Mobile App | The Best Mobile App Awards". bestmobileappawards.com. Retrieved 2021-03-07.
  30. ^ "Winners 2016". Reimagine Education Conference & Awards. Retrieved 2021-03-07.
  31. ^ "Pocket Code gewinnt Internet for Refugees Preis". netidee (in German). Retrieved 2021-03-07.
  32. ^ ""Internet for Refugees" prize for TU Graz programming app". www.tugraz.at. Retrieved 2021-03-07.
  33. ^ "No One Left Behind | "No One left Behind" won the Grand Prix Best Connect Exhibitor in ICT 2015".{{cite web}}: CS1 maint: url-status (link)
  34. ^ Exhibition, Prizes Ceremony: ICT 2015 - Highlights Day 3, retrieved 2021-03-07
  35. ^ "Winners of 2015".{{cite web}}: CS1 maint: url-status (link)
  36. ^ "Innovationspreis Multimedia und e-Business | FFG". www.ffg.at (in German). Retrieved 2021-03-07.