Tribal students on a coding journey

Michelle C

Nestled under beautiful chikoo trees in a rustic roof-tile cottage, a group of young people dressed in blue jeans and yellow T-shirts works silently on their machines, staring at their screens. In another corner of the room, a small group sits hunched over looking at a piece of paper as a facilitator draws on it and speaks animatedly.

It could be a weekend technology boot camp or a workshop of a digital start-up company.

However, the young people are only 11 years old. The roof-tile cottage in the chikoo orchard is a classroom of a school in a tribal village in western Maharashtra and it is a computer coding class!

The Tamarind Tree school, located in Dahanu Taluka, Maharashtra, India is an experiment in technology and open education. Open education is a philosophy about the way people should produce, share, and build on knowledge and technology. Open education believes in a world of equity – where everyone has equal opportunity and access to the knowledge, education and training they want; where education is for the social good.

Towards this Tamarind Tree has set up a digital infrastructure where students learn individually on an online Learning Management System (LMS) at My Big Campus, have access to thousands of books on the e-library server hosted on the campus and engage with interactive digital tools for learning.

The school is entirely on open sources technologies – both hardware and software and young students work on Single Board computers (Raspberry Pis) with Linux installed on them.

Learning computer coding and animation
As part of its core philosophy of open education, the school strongly believes in creating producers of knowledge and not mere consumers of it. It began experimenting with the idea of teaching computer coding to tribal students a few years ago.

Besides being able to engage, understand and participate equitably in the new digital world, computer coding can empower students to create and not merely consume, to think logically, to struggle, to seek solutions, to persevere and to learn how to learn.

However, an inherent contradiction and possible danger in teaching computer coding is the fact that knowledge of an application is being given without the learner understanding its theoretical base.

Keeping these issues alive and under discussion, the school began its journey with teaching computer coding to its seven-year-old first generation learners.

Given that a very young person cannot start with learning HTML (Hyper Text Mark Up Language) or PHP (Hypertext Preprocessor), Java or Python and has to slowly progress to these, children begin their coding journey with an interface that is more like building blocks and stacking together different actions, events, etc.

This is called block-based coding and it involves dragging “blocks” of instructions instead of traditional, text-based programming done by adults in the industry.

Block-based programming allows students to create interactive animations and small games without writing a single line of code. This simple concept has removed the need to learn the syntax of a formal programming language, and made teaching and learning the basics of computer science accessible to younger learners and to teachers with no formal coding background.

The Tamarind Tree school follows the curriculum hosted at Code.org to launch young students in the age group of seven to nine years into their coding journey, followed by the more creative Scratch. (http://scratch.mit.edu)

Scratch is an MIT based open source programming environment for children. Students above nine years work on building their own Scratch projects.

The school is working to moving its older students to text-based programming which is what the “real world” does.

Issues, learnings and challenges
Learning to code is not about sitting on a screen and dragging blocks here and there to feel part of the global fashionable trend of students coding.

It is serious work involving conceptual understanding and logical thinking. It is putting mathematical and geometrical understanding to practise. Without knowing coordinate geometry or angles, a student cannot work successfully on a Scratch project.

The computer coding class at Tamarind Tree often resembles a science or math class where the facilitator has drawn the X and Y axis on the board and makes sure students understand the notion of two dimensions.

Alternatively, a student needs to be able to draw and understand both two and three dimensions to create interesting animations. Often, students are seen sitting observing an object and improving their observation and drawing skills on paper before starting a new Scratch project.

Making sure a student understands concepts like algorithm, looping, operators, conditionality and variables involves a huge amount of offline work.

The coding team at Tamarind Tree has contextualized and created curriculum around these concepts. For instance, younger students are asked to write an algorithm for brushing their teeth and older ones are to note down the steps involved in growing rice.

In class, students are divided into groups and asked to both write and demonstrate the steps involved in folding a shirt or the steps involved in wearing a shoe. Even as one writes the code for this, the other becomes a robot who follows the instructions to see if the task is done. A badly organized set of instructions means the shirt is not folded, or the shoe is not worn and the algorithm did not work.

Learning to code forces students and teachers to think logically and in a linear manner – a way of thinking that is so important to live a meaningful and productive life.

The block based coding environment is extremely creative and encourages students to create stories, games and mazes that can be shared with each other. Students learn to solve problems, think for themselves and gain a sense of pride on completion of a project.

Coding work by students
To start with, students at Tamarind Tree took up the task of creating a maze game on Scratch. The aim was to create a series of fun mazes that were challenging as well as aesthetically interesting looking. Students had to select their characters, decide on the rules, the design, path of the mazes and the conditionalities or challenges that the user would face.

Decision-making became a critical part of the maze creation and students selected different and interesting routes. To make the maze difficult, some of them learned how to put a condition that if the player hits the black border, she goes back to the start. This gave them both a thrill and led to a lot of challenge for their peers when they went to attempt the maze.

Many students learned to add sound and text to indicate that the user has won or reached the end of the maze.

In order to make a maze game that was worthy of play by the teachers and their peers, students worked on various versions over a period of three weeks to learn and understand the tools of block-based coding. Once they had mastered the tool, they created their own maze games.

Drag and Drop – Block based coding on Scratch.
The final maze project done by a 12 year old is hosted on Scratch for anyone in the world to play or modify.
Dragons appear at any point to “kill” the player.

Before the term break, the school hosted a mela, where a room was converted into a video game parlour – parents and students enjoyed themselves moving around the mazes.

At Tamarind Tree, it was another day of learners becoming producers.

To play some of the students’ game –
https://scratch.mit.edu/projects/196249131/
https://scratch.mit.edu/projects/196243726/

The author is part of the team that runs Tamarind Tree school. Tamarind Tree is an alternative technology driven school for first generation tribal learners, in Dahanu taluka, Maharashtra. You can follow the author on Twitter@tamarindtree2.