Stories You Can Interact With

rushabh meha python workshopRushabh Mehta.

This is a summary of what happened in the third programming class for kids at Shishuvan. 

The first computer program you are generally taught in first year of engineering is a function that returns the factorial of a number. Factorial? Who uses factorials? What are they used for? We usually have no idea or any emotional connect to that problem. No wonder most find computer programming boring!

The conventional thinking is that computer programming is closely related to math and logic. The heart of a computer consists of hexadecimal numbers, flashing through transistors at lightening speed, and hence the reason that programming must be taught like math.

There is an alternate way to approach programming. Donald Knuth, who wrote the classic “Art of Computer Programming”, considered to be the bible of computer science, talks about “Literate Programming”, where programming is considered as a natural language, and not a mathematical algorithm. This means that programming can also be taught as literature and not just mathematics.

Jump start

In the first class we did variables, functions and lists and almost everyone got what we did, in the second class, we did more complex functions, using lists and loops and also introduced the concept of Python modules. Again most of the kids who attended, got this. Some kids understood a lot more than others.

In this class, we had many kids who had not attended the second class, so they were coming after a gap of two weeks and needed to be jump started. So we spent quite some time recapping what we did in the last class and quite a few kids could write the functions we wrote almost form memory. So far so good. It was a good revision for the kids who had attended both the classes.

At the end of the second class, we had decided that in the next class, we were going to make a sorting hat, a hat from the Harry Potter books that separates students into groups

Sorting hat

So I asked the kids, how does the sorting hat work? One of the kids came up with this answer, “When a student wears a sorting hat, the hat matches the student’s abilities with the abilities of the founder of the house. And which ever ability matches the most, the student is assigned to that house”. Pretty good explanation!

So we said, lets start making a sorting hat.

houses = ["Gryffindor", "Slytherin", "Ravenclaw", "Hufflepuff"]
abilities = ["bravery", "cunning", "intellegence", "hard-work"]

Yeah, mmm, this was good, two lists, but the next question is how do we co-relate the houses to abilities? Here is where we introduced classes

class House:
    ability = None
class Student:
    ability = None
gryffindor = House()
gryffindor.ability = 'bravery'
harry = Student()
harry.ability = 'bravery'

We saved this file as sortinghat.py and went into the Python shell. This was a good time to introduce inspection and the Python function dir, which helps you explore objects.

>>> import sortinghat
>>> dir(sortinghat)
['House', 'Student', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'gryffindor', 'harry']

Here we imported the sortinghat module and looked at what was inside it. We found a few things we recognized, Student, House, harry and gryffindor. Then we looked inside gryffindor

>>> dir(sortinghat.gryffindor)
['__doc__', '__module__', 'ability']

We found ability! Then we knew what this was:

>>> sortinghat.gryffindor.ability
'bravery'

Now that we understood what classes were, we added a few more properties like name and created a list of all the houses and students.

Let play

After that we decided to move straight to the magic. Click here to view the full file.

def sort(student):
    for house in all_houses:
        if house.ability == student.ability:
            if house.students is None:
                house.students = []
            house.students.append(student)
            print student.name + ' goes to ' + house.name + '!'

Then reloaded the module and called the function sort

>>> reload(sortinghat)
>>> sortinghat.sort(sortinghat.harry)
Harry Potter goes to Gryffindor!

We made a sorting hat!

Again a flurry of questions and the kids were eager to try it themselves. This was quite a long program and there were bound to be issues. Most kids got confused with the forced indentation in Python and a whole lot of them struggled. But at the end of it there were three or four who could get this working.

Conclusion

At the end of the third class, it seemed most of the kids were struggling, especially those who had missed the second class. There were too many concepts thrown at them and while they were having fun and trying hard, there was more assimilation that needed to be done.

On the other hand it was heartening that there were four or five kids who were getting it. These are kids who had never learned how to program but could understand a whole lot of concepts to get a program working. Now is the time to consolidate learning. In the next class, we will try and make more variations to this model and reinforce what we already know.

In Harry Potter we have found a great analogy to learn programming. Kids love stories and if they can feel they are writing one, it would be a great leap of imagination. How well they go from here will depend on what kind of support they find at their homes. I am hoping at least some of these kids have supportive parents / guardians who can help them make that leap.

SCHOOL OF COMPUTING WITCHCRAFT AND WIZARDRY

This is the second session of my computer programming class at Shishuvan.

The way we declare variables and functions in Python is called snake case. It means that you join words with an underscore (_), like this, snake_case. We had talked about snake case in the first class, and how Python is a snake, and we how we were talking to the computer in snake language. And everyone knows who can talk with snakes, Harry Potter!

We started the class with quick recap of what we did last time, that is variables, functions and lists. We then decided write a function that used lists.

>>> def add_marks(marks):
       return marks[0] + marks[1] + marks[2]
>>> add_marks([20, 30, 40])
90

The kids understood this alright. They recapped how we use indexes to address elements of a list, and how the first index is always zero and not one. Then I added another element to the list:

>>> add_marks([20, 30, 40, 10])
90

I made them re-write the function for summing a list with four elements. There had to be a better way to do this, and we quietly introduced loops.

>>> def add_marks(marks):
      total_marks = 0
      for mark in marks: 
        total_marks = total_marks + mark 
      return total_marks
>>> add_marks([20, 30, 40, 10])
100

As expected, there was a flurry of questions

Repetition and Induction

This is when it struck me that the kids were understanding what the function is doing, what they were figuring out is the how. They were learning by induction. And isn’t that how we learn anything? By repetition and induction. As humans we are hard-wired to mimic other people and then we bring in our own variations so that we start learning what we are actually doing.

That was what these kids were doing. They had no idea what loops were or what the for statement did, but they kind of, got it.

They had soon typed it out and then asked a whole bunch of questions, like about indentation. Like why the return statement needs to be out-dented and other things.

I challenged everyone to make a function that returns the average of the list. And someone did actually come up with this:

>>> def make_average(marks):
      return add_marks(marks) / len(marks)

This was super cool. They could now write functions that called other functions!

Working with Strings

To reinforce loops, we did another example, this time, we added strings. I first told them that we could add strings like numbers with a few examples and then we made a function.

>>> def say_hello(students):
      student_names = ''
      for student in students:
        student_names = student_names + ' ' + student + ','
      return 'Hello' + student_names[:-1] + '. How are you?'
>>> say_hello(['Harry', 'Hermione', 'Ron'])
Hello Harry, Hermione, Ron. How are you?

As you expect, the were already starting to make their variations, in function names, student names, the output text. Repetition, induction, then variation.

Since the function got longer, many students were getting a bunch of error messages, and this was a good way to learn reading them. They were mostly related to typos and passing strings without the quotes, but this was great too, because they were starting to learn nuances, like, you can’t make spelling mistakes, strings are different from names and commands.

Wizard.py

Finally it was time to teach them Python modules. We copied some of our functions into a text editor and then we called the file “wizard.py”. Then we imported the file and called the functions.

>>> import wizard
>>> wizard.add_marks([20, 30, 40])

This was also real cool, because now they realized that they could “teach” the computer a bunch of tricks and the computer can remember them.

I asked if they were feeling like wizards already, and a few hands shot up!

Conclusion

This session went of pretty well too. We have already started to see a lot of variation in the kids. Some kids were just zooming ahead, they understood the repetition-induction-variation system. Many were afraid to try, and this system works really well only if you feel its okay to fail. For most of us, the cost of failure is very high (exams!) and that means that we end up becoming dumb followers and not-trying. Some of the challenges would be to get these kids to try out different stuff and fail.

Since we are already in Harry Potter mode, in the next class we have decided that we are going to make a sorting hat and divide everyone in groups! Lets see how that goes.

TEACHING PYTHON TO SCHOOL KIDS

rushabh meha python workshop

(Rushabh leads a software product company that publishes a free and open source web based ERP for small and medium businesses – ERPNext. They have built the product from scratch and the product is being used actively by many businesses across the world.)

 

 

 

“Call of Duty”, “GTA Vice City”, “Minecraft”, “Candy Crush” the kids were shouting when I asked them what were their favorite computer games. What else did they do with their computers? I asked, “Download movies on torrents” someone shouted.

This was a group of 30 kids of age 12–14 that were attending a session introduction to computer programming I was a part of, at my daughter’s school, Shishuvan. The school had decided to start a computer club and a bunch of volunteers including me, had happily agreed to teach some Python programming to kids. Having learned programming at the age of 11, I knew they should be able to grasp the basic concepts.

After the warm up, we quickly fired up the Python shell.

Let’s Talk

“I am going to teach you how to speak to a computer. We talk to each other in English, but we will talk to the computer in a language called Python. Don’t worry, it is like English and its going to be real easy”. Having done this kind of session before, I knew that not using computer jargon and throwing the kids directly into code works really well.

“Lets find out how smart the computer is. Lets find out if it knows how to calculate”, I asked. We started with basic arithmetic, addition, multiplication and division.

>>> 2+2
4
>>> 5 * 20
100
>>> 10 / 3
3

“That is wrong”, the kids immediately shouted.

Then I said, lets try this:

>>> 10.0 / 3
3.33333333335

That’s how we got introduced to Decimals.

Python is like English

Some kids were already trying things on their own. Since I had told them that Python was like English they were already typing things like

>>> who is sachin tendulkar
>>> what is my name

“The computer is not so smart yet, we will have to teach it”.

It was amazing to see how quickly the kids were trying to gauge the smartnessof the computer!

Then quickly we got down to calculating a percentage and I quietly introduced variables

>>> my_marks / total_marks * 100

They were tagging along quite well.

Teaching the Computer

Then I became too ambitious. “Watch this”, I said

>>> def what_is_my_percent(my_marks, total_marks):
      return my_marks / total_marks * 100
>>> what_is_my_percent(273.0, 300)
91.0

“Since the computer is not so smart, we will have to teach the computer a few definitions. The way to define something to a computer in Python is by usingdef”, I told them.

Immediately there was a commotion. “What is this colon?”, “What is def?” they were shouting. I felt that I had tripped. Water was drying from my mouth. In a moment of horror, I realized that, with that one example, I had introduced too many things

The kids were all up in arms, all of us volunteers were walking from table to table, explaining the eager queries everyone was having.

Thankfully after ten minutes or so we recovered, and the kids were beginning to understand. They had discovered they could teach the computer to calculate formulas. Someone even used the word “function”. Soon, they were experimenting with new functions to calculate areas, adding numbers and more. We also did a bit of lists before we decided to call it a day.

At the end of the session we could see that the kids where excited learn about programming and some of them were ready to do a lot more. The way they were modifying the instructions we taught them, and changing the context of the examples, showed that they had already grasped a lot of concepts. They were ready to dive into classes and objects next.

Concluding Thoughts

I had a lot of fun teaching Python and the energy was great. At the end of a couple of hours of shouting, I was refreshed! A diverse group of volunteers came together to make this happen, including alumni, teachers, parents and administrators. This is only the first step of what we hope is a long journey. Over the next few sessions, we are hoping to teach the kids web programming, databases and the ability to build whole applications that will help run the school.

It is very heartening to know that the school was willing to let kids learn computers in a non traditional way. The can-do spirit of Shishuvan was amazing. Standardized and structured education has been the foundation of the modern society but as technology is breaking down barriers, education is changing too. It was thrilling to be a part of this change.

This was made possible due to the openness and vision of the Shishuvan community, specially Lincoln, Neha, Premjibhai and Sarita. Alumni Darshan and Raj have been very diligent and the ideal bridge. There was great support from fellow parents Parul and Uma. Special thanks to Anand for volunteering to help me conduct the session. We have just gotten started, watch out for further updates

Standard VIII goes back in time

Thanks to High School History teacher Vahbiz Dhalla for sharing this with the school blog. 

Standard VIII students have been looking at the  impact of British Rule on Indian Architecture. Students were asked to form groups and each group picked up a chit which had different Architectural Styles written on them. The students then researched  their chosen style: Rajput, Islamic, French, British and Portuguese.

This research culminated in a chart which they then presented to their peers before displaying them outside their class.

18 collage of process1 copy

display board OLYMPUS DIGITAL CAMERA collage final 1 display board 3 collage final 2  manan map  1 puneet map

Students also went on a Mumbai Heritage walk to see the different styles of Architecture and the impact left behind by the British on Architecture. The walk started at the majestic steps of the Asiatic Library. During the walk they were able to identify many features that they had researched in the earlier activity. Some of them even created maps enroute -showing the path of the Heritage Walk.

After returning to school they shared their learning and were shown some old pictures of Bombay.

When was the last time you took a walk through Mumbai’s historic Fort Area and admired the buildings?

 

Standard V looks at their inner, musical self

For their music project this first term, the students of Standard V were asked to design a creative poster on the topic – “If I were a musical instrument, I would be a/an _____.”

Here are pictures of some of the best projects submitted by the students. The music teacher Maxim, had a tough time selecting the projects and enlisted the help of his colleagues to decide which projects would finally make it on the display board.

Final decision taken – We need a bigger display board!!!

 

 

The happiest day, the happiest hour

By Priyanshi Mehta

(This gentle tigress has a factory inside her brain which takes in words, mixes emotions and churns out beautiful poetry and prose. In this poem, Priyanshi has tried to dabble in the Shakespearean style when most little people her age run away from Shakespeare! Keep reading the blog for more from this fantastic poet/writer)

The happiest day
The happiest hour.
My seared and
blighted heart
had known. The
highest hope of
pride and power.
I feel had flown.

Of power! said I?
Yes! Such I ween:
But they have
vanish’d long, alas!
The visions of my
youth have been.
But let them pass.

And pride, what have
I now with thee?
ANother brow may
even inherit.
The venom thou
has pout’d on me -
Be still, my spirit

 

Parents’ comment on ‘Sound of Music’

It was wonderful watching the Annual show of Std. V on Thursday, 25th Oct. We were really amazed with their confidence, vibrancy and energy during the show. The efforts and hard work put by all the teachers and other staff members were quite visible. The minutest details were worked upon to put up together the best show we have ever watched. It was really very well staged with perfect coordination of live chorus singing and orchestra.

We would also like to add that it was not only the theatrical nuances that the students were exposed to during the past one month of Annual day process, they were also informed about the history during the time of the story. They also learned team work and coordination.

We also appreciate the democratic process of selecting various cast of the play and giving equal importance to each and every child. All the 108 students were equally involved in staging the final show which was certainly not easy.

Congratulations to the team and thank you once again.

Deepti and Aashish Sanghi
(Parents of Ishitaa Sanghi, Student of Std. V)

An email exchange with Fumiko, Director of the Tokyo Holocaust Center

On their Annual day, Std VI performed ‘Hana’s suitcase’ about Hana, a 13-year old Jewish girl who was a victim of the holocaust. Vimala Subramaniam who teaches Std VI, corresponded with Fumiko Ishioka, Director of the Tokyo Holocaust Center, who got Hana’s suitcase on loan from the Auschwitz museum to tell the story of the Holocaust to children. To view some pictures from the play, click a related post here (will open a new window). Here we share their email exchange:

Vimala found Fumiko on Facebook and sent her a friend request. Vimala was ecstatic to receive a response:

Hello, Vimmi,
Did you find me through Hana’s suitcase?
Thank you for the friend request.
Can you tell me a little bit about yourself?
Hana’s suitcase is now traveling to share the story with many more students. Here we publish updates! : )

http://www.facebook.com/npo.therc

***********

The correspondence continued as you will see below:

Hello Fumiko,
I am teaching in Shishuvan High school in Mumbai, India. We staged the play on Hana in Oct for our school annual day. It was well received. We really appreciate the work you have put in to spread Hana’s story all over the world.Pl send me your mail i.d .And do write about yourself too.
Love Vimmi

***********
Thank you Vimmi for your reply. How wonderful to hear that you did a play on the story of Hana!

Vimmi, I have a favor to ask of you. If you have, could you share with me any pictures of your students on that school annual day? (What is annual day, by the way? Is it like a festival day?)

I would very much like to share your experience with others students both in Japan and elsewhere in the world. I am sure your experience will inspire other students and encourage them to learn more.

If you don’t have the picture, a class photograph will be great too.

I look forward to hearing from you again. Please send my very best wishes to your students.

***********

Dear Fumiko,

Thanks a lot for your prompt reply. I shall definitely send you the video link and the photos of the play on Hana. Right now, my school is closed for Diwali holidays. (Diwali is a festival of lights celebrated all over India on the 12th of Nov).

Annual Day comes every year in all the schools in which the students put up plays, songs and dances for the parents. In Shishuvan(the school where I teach) each and every student gets the chance to come up on stage and showcase their talents. We staged Hana’s suitcase with 79 6th graders. If you go on our website www.shishuvan.com, you will get a clearer picture of our school.

The director of our play Sudeep was thrilled to hear from you and he has done a fantastic job of directing the play, which you will be able to see when I send you the link.

One very important thing dear Fumiko — I had mailed Lara Hana Brady asking her about Hana’s brother George,but didn’t get her reply. Could you please enlighten me about him.

Do tell me more about yourself, your family et al. My children in school will be absolutely delighted to know that I am in touch with you..

Warmest regards
Vimmi

***********

Dear Vimmi,

How wonderful to hear that the story of Hana reached out to you and your students in India!
Who would have imagined that when this one suitcase arrived at my tiny education center back in 2000. I can’t wait to see pictures of your wonderful students.

George Brady is a true hero for me.
Finding all about Hana brought us mixed emotions.
The thought of 13-year-old Hana being sent to Auschwitz all alone was heartbreaking, but when we thought about the pain George must have had after losing such a sweet little sister it was even more devastating.
But it was not the end of the story.
In spite of what he went through, George never gave up and decided to live for the future.
He has now built such beautiful family in Canada.
Thanks to his courage to share with us his most difficult memories, we now all learn about Hana and through Hana we learn the lessons of the history.

Hana’s suitcase now travels all over Japan. We have been to schools in Canada, Mexico, Germany, and South Africa and many other places. Here you can see our past journey.
http://tokyoholocaustcenter.blogspot.com/

I am assuming your students read Hana’s Suitcase in English…?
The book is also translated into Marathi.

The reason why I’d love pictures of your students is because I would of course like to share it on our website, but also I was thinking I could add it to this special photo album I’m (secretly) preparing for George for his 85th birthday next year.

I am looking forward to hearing back from you.

All the best,
Fumiko

Learning by taking risks

By Betsy Watkins

(Betsy Watkins is the cheerful and dynamic Principal of Ascend International School, Mumbai. We were honoured to have her grace our Std. VI Annual Day with her presence and an inspiring speech, the text of which is reproduced below.)

Last week I had the honour as serving as Chief Guest at the 6th standard’s Annual Day performance of Hana’s Suitcase.  Students delivered a powerful performance, inspired by the moving story of one small group’s determination to give life to the faceless name of a holocaust victim.  The audience was touched.  The performance was heartfelt.  The conclusion could only be greeted with quiet reflection.  We must remember to give voice to history, perform exhaustive research, and always act as the kind of citizens that strive to preserve human dignity and life.

The Annual Day performance marked my third visit to Shishuvan.  Each visit to the school has further impressed upon me the strength of students’ abilities to articulate their thoughts, engage in democratic process and ideals, and be active participants in their own learning.  These are attributes that are as important in today’s world as mastering mathematics and more than one language.  Unfortunately, these attributes are often overlooked in many models of schooling.

I wanted to share with students how unique it is to be part of a school that has high expectations of children at such an early age.  So, as Chief Guest, I told the story of how I grew into becoming the student that I am today—one that remains curious, asks questions, reflects, works hard, and embraces challenges.

My story begins with what I consider a simple fact: I performed well in school, but I was a terrible student.

To be fair, my mother would categorically disagree with this statement.  In fact, she has trophies, report cards, teacher comments, standardized test scores and class rankings that would support her disagreement.  But what one cannot see from a report card, ranking, percentile or test score—is that I did not care very much about learning.  One can also not see that I although I knew facts and formulas for writing essays or performing calculus, I had not learned to think.  I had no curiosity.  I was motivated almost exclusively by trophies and rankings.  I performed virtually no learning activity unless I felt that a top tier University would admire the addition to my curriculum vitae.  I was the student who perpetually wanted to know, “Will this be on the test?”  I was more interested in awards and recognition than the joy of learning.

I truly believe I did not learn how to learn until I went to University.

In an introductory humanities class, I was asked to generate a paper in response to Agamemnon.  I was perplexed.  What should I write a paper about?  I was baffled by the lack of parameters and I approached my professor to explain my confusion.  “Usually the instructor tells the students what she thinks and then we generate a paper using this premise.  That’s the way it works.”

The professor, who had clearly seen this response in many students, was patient but honest. “Unfortunately that is the way many schools train students, but you actually have to learn to think.  What do you notice about this book?  What is your premise?  Being a student is about thinking, not about repeating what someone else has already told you.”

This was the first time I had been asked to think.  This was the first time I had been asked to generate questions and not ready-made responses.  It was painful because I had no practice.  I re-wrote this paper six times before I received a mark I could take home to my parents.  I was excited, because for the first time I had really learned while writing a paper.  The process did not come easily, but this is where my joy for learning began—because it turns out that thinking is engaging!

My second transformation as a student was many years later, when I was a teacher.  When I first started teaching, I was not a risk-taker.  After many years of praise for correct responses and high scores, it is difficult for one to choose the challenging path in which you might learn more, but make many mistakes along the way.  As a teacher, I marvelled over students who learned deeply and rapidly.  I noticed a trend.  The students who learned the most were the ones who were most willing to take on a challenge—the students that were ready to take risks because they understood the value of making mistakes as part of the learning process.

Over the years, children have taught me that to learn big, you have to take big risks.  Learning to take risks is how I arrived in another country to help found an international school committed to meaningful learning.  When the Kasegaon Education Society came to me and asked if I would help create a school in which children would not only obtain knowledge and skills, but also learn to think and embrace challenges—I knew I had to say “yes.”  I had to say “yes,” because as an adult, I have become a much better student.  I am curious.  I do love learning.  I am willing to make mistakes and reflect on my process.  And I am always ready for a challenge!

I think students are lucky when they are engaged in learning which asks them to think and promotes the value of questions.  Educational environments which encourage children to persevere through obstacles and challenges promote an intrinsic love of learning.  These attributes are among the things that make places like Shishuvan and Ascend International School special.  These schools are built to be learning communities—for everyone involved—so that everyone can capture the joy that is a true part of learning.

The day I entered the world

By Dharmil Dedhia

(Dharmil is a budding poet who is in Std. VI at Shishuvan. He has written several poems, and here is one he decided to share with us.)

Next was my turn,

God took me,

He kept his hand on my head,

He started crying ‘cause I was going.

 

There he dropped me,

Up from the sky to the world,

Bump! A woman caught me in her tummy,

Yup! She was my mother.