Please fill out the required fields below

Please enable JavaScript in your browser to complete this form.
Checkboxes

Paper, scissors, code – A creative and affordable approach to learning computational thinking

Krithik Ranjan, in his article, shares a creative innovation in learning computational thinking through paper-based animation.

6 mins read
Published On : 16 September 2023
Modified On : 20 November 2024
Share
Listen

Thinking like a computer (scientist)

Jeanette Wing defined Computational Thinking in her 2006 essay (Wing, 2006) as “solving problems, designing systems, and understanding human behavior, by drawing on the concepts fundamental to Computer Science”. This process of “thinking like a computer scientist” involves skills like algorithmic thinking or thinking procedurally in steps. It also involves deconstruction or breaking a problem down into small steps. Abstraction, or recognizing and generalizing patterns, is also an important part of computational thinking. So is debugging, which involves identifying and removing issues.

These skills are not only useful for computer programming but also for real-life problem solving and other activities. Studies have shown that even very young children can grasp such concepts (Strawhacker, 2019). Early exposure to computational thinking (CT) can also improve a child’s self-efficacy toward STEM (Science, Technology, Engineering and Mathematics) fields in the future (Ching, 2018).

Given the technological age we live in, CT has been identified as a fundamental skill that students should learn. India’s National Education Policy 2020 has also increased the focus on CT in school curriculum through puzzles, games and coding (MHRD, 2020). Over the last couple of decades, a whole range of tools, kits and methods have been introduced in both academia and industry to promote and evaluate CT learning in students of all ages. However, what does it mean to learn CT?

There is no single, universally accepted definition and implementation of CT in curriculum. However, researchers have developed a few different frameworks to facilitate the development of CT learning tools and assessment techniques. One of the more popular frameworks was introduced by Karen Brennan and Mitchell Resnick (Brennan, 2012). This framework interprets CT along the three dimensions of computational concepts, computational practices, and computational perspectives.

Computational concepts are concrete concepts one learns when they program. These include sequences, loops, parallelism, events, conditionals, operators and data. Computational practices focus on the process of thinking and learning. These involves being incremental and iterative, testing and debugging, reusing and remixing, and abstracting and modularizing. Finally, computational perspectives explore the place technology and computing hold in the learner’s life, like being able to express, connect and question through computing.

Learning computational thinking by making

In education research, it has long been believed that children learn effectively by designing and building things. Jean Piaget developed the theory of constructivism, arguing that information is not transferred directly from the teacher to the student. Rather, learning involves the construction of concepts in each student’s mind. Therefore, an educator should not simply disseminate knowledge, but create an environment supporting the development of students’ own mental models.

Seymour Papert further built upon this idea and defined constructionism, describing how building real, physical artifacts can make the learning process even more effective. These ideas of constructivism and constructionism have been the guiding principles for the development of CT learning methods and interventions. Researchers and educators have devised toys, tools and kits that enable students to learn CT by creating with CT.

One of the earliest approaches used to promote CT among students was LOGO programming language. This was developed by Papert. It enables learners to create graphics by giving commands to move a turtle on their screen (Papert, 2020). In recent years, Scratch (Resnick, 2009) and ScratchJr (Flannery, 2013) have been two popular block-based graphical programming environments for children. These helps create games and interactive animations on the web or with apps. These graphical programming interfaces provide a low technical barrier for learners by removing the need to learn complex code syntax.

However, these are limited to on-screen interaction. These are, therefore, less effective and engaging in settings where not every student has their own computer (Horn, 2007). In contrast, tangible programming tools enable multiple students to collaborate using a physical computational interface. Here physical objects represent programming concepts. These can be electronic robotic toys like Cubetto that children can program using tangible blocks. Alternatively, these may be non-electronic passive learning tools like board games (e.g., Robot Turtles).

Computing without computers

The cost and resources needed for both graphical and tangible CT tools make them less accessible for educational settings. These are especially infeasible for economically disadvantaged schools and communities, which may lack resources to maintain adequate computer laboratories. In India, only 45% of the schools provide functional computers to their students (UDISE, 2022). Even schools that have computers, only provide limited and shared access to each student.

In our work at ATLAS Institute’s ACME Lab at University of Colorado Boulder (CU Boulder), we have been exploring paper programming as an alternative to traditional CT learning interfaces. Paper programming leverages everyday materials like paper or cardboard, and computer vision algorithms, to offer an affordable and effective learning experience.

These systems are often mobile-based, which further reduces cost, as groups of students in classrooms can work on these paper programming activities with a shared smartphone. The domain of paper programming is still growing. Existing tools have shown promise in terms of learning and engagement.

The Kart-ON project (Sabuncuoglu, 2022) offers a paper-based programming interface for creative coding applications using p5.js, which is a beginner-friendly Javascript platform for creating graphical and interactive visuals. Students use programming cards for various functions and take a picture of the physical program to view the result on the phone. Roberto (Horn, 2013) takes a storybook approach in which readers can create their own animated stories by adhering code stickers to the book and scanning them to watch the animated character. Code Bits (Goyal, 2016) teaches CT concepts through an Augmented Reality (AR) app using a paper interface.

Paper programming interfaces: (A) Kart-ON, (B) Code Bits, and (C) Roberto

Paper-based animation with Cartoonimator

Building on this paper programming paradigm, we developed Cartoonimator, which is a low-cost paper programming kit that engages children with computational thinking through animations. Cartoonimator enables children to create animations from drawings or illustrations on paper, while learning CT concepts and engaging in CT practices. The Cartoonimator kit consists of paper printed with computer vision markers, and a simple smartphone app to capture frames and view the animation. The paper component of the kit consists of scene sheets for the background of the animation, and sprite card templates for the characters. Children can either draw on these sheets, or the instructors can provide pre-printed backgrounds and characters.

Creating an animation with Cartoonimator

Cartoonimator features a technique called keyframing in which animators specify starting and ending points (keyframes) of a smooth transition. The software interpolates between them to create a complete animation. To create an animation with Cartoonimator, a child can place the sprite cards on top of the scene sheets to specify and capture different keyframes of the animation using the app.

An animation consists of multiple scenes. Each scene can have many keyframes with multiple characters. Children can move, rotate or even modify sprites over successive keyframes to progress the animation. After capturing a few scenes and keyframes, the child can play their created animation and download it to share with others.

Cartoonimator is open-sourced and publicly available. We encourage readers to try it out. The website includes the print templates, a link to the web app, and a set of instructions to create animations with Cartoonimator. We have deployed Cartoonimator with children between the ages of 6-12 in various informal settings and found it to be an engaging and enjoyable kit for children’s creative exploration and CT learning. Our work on Cartoonimator and its deployment is in progress, and we hope this kit can be a step toward making computing education more accessible.

Children creating animations with paper using Cartoonimator

References

  1. Brennan, Karen, and Mitchel Resnick. 2012. “New frameworks for studying and assessing the development of computational thinking.” Proceedings of the 2012 annual meeting of the American Educational Research Association, Vancouver, Canada. Vol. 1.
  2. Ching, Yu-Hui, Yu-Chang Hsu, and Sally Baldwin. 2018. “Developing computational thinking with educational technologies for young learners.” TechTrends 62 (): 563-573.
  3. Flannery, Louise P., et al. 2013. “Designing ScratchJr: Support for early childhood learning through computer programming.” Proceedings of the 12th international conference on interaction design and children.
  4. Goyal, Sidhant, et al. 2016. “Code bits: an inexpensive tangible computational thinking toolkit for K-12 curriculum.” Proceedings of the TEI’16: Tenth International Conference on Tangible, Embedded, and Embodied Interaction.
  5. Horn, Michael S., and Robert JK Jacob. 2007. “Tangible programming in the classroom with tern.” CHI’07 extended abstracts on Human factors in computing systems.
  6. Horn, Michael S., Sarah AlSulaiman, and Jaime Koh. 2013. “Translating Roberto to Omar: computational literacy, stickerbooks, and cultural forms.” Proceedings of the 12th International Conference on Interaction Design and Children.
  7. Ministry of Human Resource Development, Government of India. “National Education Policy 2020.” Ministry of Education, Government of India.
  8. Report on Unified District Information System for Education Plus (UDISE+) 2020-21”.
  9. Papert, Seymour 2020. Mindstorms: Children, computers, and powerful ideas. Basic books.
  10. Resnick, Mitchel, et al. 2009. “Scratch: programming for all.” Communications of the ACM 52.11: 60-67.
  11. Sabuncuoglu, Alpay and T. Metin Sezgin.“Kart-ON: An Extensible Paper Programming Strategy for Affordable Early Programming Education.” Proceedings of ACM on Human-Computer Interaction 6.EICS: 1-18.
  12. Strawhacker, Amanda, and Marina Umaschi Bers. 2019. “What they learn when they learn coding: Investigating cognitive domains and computer programming knowledge in young children.” Educational technology research and development 67: 541-575.
  13. Wing, Jeannette M. 2006. “Computational thinking.” Communications of the ACM 49.3: 33-35.
Share :
Default Image
Krithik Ranjan
Krithik Ranjan is a second year PhD student in Creative Technology and Design (CTD) at the ATLAS Institute, University of Colorado Boulder, USA. In his work, he explores and designs low-cost technological solutions for enabling children to create with technology and learn computational skills and practices. His goal is to empower students from any economic background to tinker with technology.
Comments
0 Comments

Leave a Comment

Your email address will not be published. Required fields are marked *

No approved comments yet. Be the first to comment!