I have always disliked those rather predictable coding courses that start with a “Hello World” exercise: especially as nobody in the real world ever says “Hello World” except, possibly, cult leaders.
That’s why when I decided to teach children to code, I followed my intuitions based on how I taught myself HyperCard, MetaCard, and LiveCode and based on my experience of working with primary school level children.
I have felt, for about 25 years, that the education system in Bulgaria, where I live, only serves to kill children’s imaginations and suppress their inherent creativity, while filling their heads with dry ‘facts’ that have little or no utility in the world we live. So I didn’t want to give them “Hello World”, but rather a kick in the mental pants to be part of the modern world instead of languishing under the weight of a dead 19th century education system.
I wanted to use lessons in LiveCode programming to move children from the Convergent Directed Learning model of education (i.e. educational force-feeding) to a Divergent Self-Directed Learning way of operating where children can learn by exploring for themselves. LiveCode lends itself to this sort of learning. I know, because that is exactly how I have learnt to program using LiveCode; always having the experiences of learning Fortran IV and PASCAL V in my past as points of comparison.
To teach the children, I started by making models of simple programming activities such as mathematical operations using beans and cups on the Harkness table I have in my classroom.
I then showed children how to make prototypes of those models in LiveCode itself.
When the children started suggesting improvements and correcting me when they saw me making on-screen errors in coding while I was demonstrating to them, I knew we’d made a breakthrough.
Now I have happy children who can reason their way through problems which their standard education system does not prepare them for.
I also take great personal satisfaction in seeing children who are incredibly happy at achieving so much so quickly.
I’m also pleased that several other people, both in Bulgaria and abroad, are following along with my course via the Facebook page that I set up for it. That is really super.
The advice I would give to anyone who wants to learn or who is only starting to learn to code is: I didn’t learn to drive a car until I was about 32 because I was scared. I felt like a complete fool after I learnt. Don’t be like me with computer programming: just dive in and get on.
What does your app building journey looked like? We’d love to hear your story! Contact us and tell us about the challenges you’ve encountered, the perseverance you’ve demonstrated, and the success you’ve achieved. Read more LiveCode Stories here.
4 comments
Join the conversationLiveCode - June 30, 2015
How to Teach Coding: http://t.co/2hQViqb2TC
George Brackett - June 30, 2015
I agree that programming (with someone nearby to fix minor glitches) is a great environment for exploration. Of course, the facilities provided must depend on the age of the audience. What age children are you working with? Have you tried using drag and drop environments like Scratch for younger children?
Richmond Mathewson - July 3, 2015
Yes, programming is a great environment for exploration. However, my first reason for using LiveCode is to teach the principles of computer programming. I have played with Scratch and believe that it dumbs programming down so much that it ceases to be programming; or, at least, it teaches few transferable skills which may be used with other programming environments. LiveCode strikes just the right balance between “toys-as-computer-programming” and “unusable programming languages (as far as kids are concerned)”.
Richmond Mathewson - July 18, 2015
Had I realised that my rather off-hand answers to a questionnaire from RunRev were going to be published as an article written by me; rather than an article written by a member of the RunRev staff I would have written a proper article about what I have been trying to do this summer that had some real intellectual and pedagogical ‘bite’ rather than what ended up here. As I am just about to jump in a car and drive through Europe for my summer holidays the best I can do at the moment is provide the text fora conference proposal for a ‘thing’ in Albania in November. Once my paper is written I shall provide a similar, but not identical article (one that concentrates more on the aspects of children learning to program with LiveCode rather than on the maturation of their self-directed study skills) here, or elsewhere.
Teaching Computer Programming to Primary School Children in Bulgaria.
John R. Mathewson BA, MA, MSc.
Un-Affiliated Scholar.
Bulgaria / Great Britain
richmondmathewson@gmail.com
The author taught a 6 week course to Bulgarian Primary School children in English in the Summer of 2015. The children had already had one to two years of English as a Foreign Language classes with the author.
While the overt aim was to teach children to program computers using Runtime Revolution LiveCode, other aims included getting children who are educated solely through a Convergent Directed Learning (CDL) model of schooling to adopt Divergent Self-Directed Learning (DSDL), to become more accurate and comfortable using English prepositions, and to use basic Mathematical concepts in English.
As the children moved from a CDL style of studying to a DSDL style they became increasingly confident is asking questions of the author, in English, relating to problems they were having with their programming exercises.
As LiveCode uses an English-like syntax rather than a more traditional type of computer programming syntax children were forced to use English prepositions in a fairly rigid fashion to achieve their programming goals.
The author will illustrate the syntactic features of LiveCode using examples drawn from the programming exercises used during the course.
Keywords: Self-Directed Learning, Technology.
Section: ICT in language learning and teaching.