Programming in that role play

Shiny Jenifer L

Tell me and I forget
Teach me and I remember
Involve me and I learn.

Benjamin Franklin

The above quotation has always inspired me when I teach computer science to my students. Personally, I was inspired by how my social studies teacher, Mrs. Bharathi, involved us, as students in class 10. As a result, I can remember almost everything that she taught us decades ago. Today, as a teacher myself, I am convinced that involving the student in the teaching-learning process can yield powerful results.

When I was pursuing my Bachelors in Education, I was influenced by Mahatma Gandhi’s philosophy of education – “Learning by doing” (Nai Talim). Even though his philosophy mainly dealt with craft and labour, the dimension of “doing” encouraged me to involve the students when I teach them, so that they do not remain passive spectators. I believe that when students participate in the lessons, they can “experience” the concept that is being taught. As a result of this experience, students are able to recollect concepts much later, and not just for exams. Significantly, this makes the practice of teaching and learning enjoyable, both for me as a teacher as well as for my students. I shall now explain how I experimented with “learning by doing” in my computer science class.

I teach computer science to students from classes 1 through 10. I teach a basic programming language called Logo to students of class 3. Logo is a language originally developed by programmers at MIT to teach programming to children. Logo is accessible to children because it provides a simple programming interface and offers visual output such as shapes, graphs and charts.

The basic feature of Logo is an on-screen cursor called the “turtle”. It is an icon displayed on the screen, in the form of a triangle (though different versions of Logo display other icons). The turtle responds to the commands specified by the user and draws shapes accordingly. For example, the command ‘FD 100’ means ‘move forward by 100 units’, and the command RT 90 means turn right by 90 degrees. So, by repeating these two steps four times, the user will be able to draw a square. There are other commands which can be used to draw simple to complicated shapes. Rather than simply teaching the commands to the students, I decided to explain these commands using role play techniques.

Role play involves one person imitating another person or character by playing the role of that character in a given imaginary situation. I realized that students of class 3 could relate to the role of the on-screen turtle in Logo. So I asked them to imagine themselves in the role of the turtle and follow the instructions, i.e., the Logo commands which I taught them in class. During the exercise, I played the role of a user typing the commands and invited students at random to play the role of the turtle. I invited each student to imagine how the turtle would move on the computer screen and asked them to draw the corresponding figure on the screen (blackboard).

To my pleasant surprise, this idea clicked with the students and they started to enjoy the role play exercise. Several weeks later, when I invited students to explain a particular Logo command, they were able to recall the role play and explain the purpose of that command. I am glad to see the response from my students, even from the so called “slow learners”. The role play exercise encouraged everyone to participate in the process of teaching-learning.

Another advantage with role play is that it can also be adapted for middle and high school students. I tried the exercise to teach a computer networking concept called client-server architecture, to students of class 8. Client-server architecture is a networking model in which the “server” hosts and delivers information services to requests initiated by a “client”. In practice, this type of architecture has one or more client computers connected to a central server over a network or internet connection.

In the role play exercise, I asked one student to play the role of a customer (client) who purchases groceries from a shopkeeper (server), played by another student. I explained that the server is the repository of information, and in this case, the shopkeeper stocks her goods in her store, which acts as a repository. The client acquires the required goods (information) from the server through a request. Similarly, in the role play the client (customer) obtains the required items by purchasing it from the shopkeeper. I called students randomly and provided different scenarios (grocery store, fruit shop, boutique, etc.) and asked them to play their roles accordingly. For each scenario, I gave them 10 minutes to prepare and then perform.

As in the primary school, these students were also excited to participate in the role play since almost all of them could participate and creatively perform their roles, while also learning the concepts. Comparatively, it was easier for me to gain the attention of students in the lower classes than the higher classes. This was expected, as the dynamics of working with early teens can be very different. However, the teenage girls also made use of the opportunity to be creative and there was a healthy competition to see who was most creative!

I am quite satisfied to see the involvement of students especially when these kind of activities are conducted. I learnt that it is my prime responsibility as a teacher to motivate and involve children in the teaching – learning process. Activities like role play can help both the teacher and the students to collaborate constructively. Importantly, an exercise in role play can make the learning of coding and programming joyful, thus proving that an activity-based approach can also be employed for teaching and learning computer science.

The author is a high school teacher at St. Francis Girls’ High School, Secunderabad. She has an M. Phil in Computer Science and is passionate about using innovative learning techniques to teach computer science to children. She can be reached at

Leave a Reply