Thursday, October 13, 2011

Building an APP with Students: What I have learned this year

Last year, I decided to start an APP development club at my school. I spent some time in the summer break investigating alternative development environments. In the end, I settled on Corona SDK. Unfortunately, I only had a few days left to learn it before the start of the school year. I took some time in Term 1 to complete some tutorials and make connections with Corona developers. Thanks to Twitter, I was able to make friends who have taught me a lot about the technology. The group began in Term 2 and we are now most of the way through an APP we intend to submit to the App Store. A friend has prodded me to get back to writing about the experience so far.


Recap of journey so far:
As mentioned in previous posts, we meet for an hour on most Tuesday afternoons of each term. In Term 2, we built a small App to learn how to handle the "touch" event. At that stage, the group was 32 students strong. The last meeting of the term featured an appearance via Skype of Corona developer, PeachPellen.
One of the highlights of the journey so far was the day that three student members of the group and I presented a workshop on building APPs for teachers at the 2011 VITTA conference. The deputy principal who brought them back to school reported that they were buzzing with excitement. 
 
The APP we're building now
In the school holidays between Terms Two and Three, I had coffee with Ian Chia of Being Prudence. Ian quickly whipped up some code to teach me how Lua tables could be used to control conditional paths in a computer program. Wow! I have used this code in everything I have done since. He also gave me the idea to get the group to build a hangman game on a fashion-related theme.
The girls loved drawing the hangman in code and using a picture of a head taken in PhotoBooth. Too often the head was mine!
After a while, we decided to build a variation on hangman. The girls, whose number is now half what it was at the beginning, are now working in teams:
  1. Programmers: These girls are helping working on bits of the APP which I then integrate;
  2. Icon/Splash Screen artists: These girls are drawing the icon and the screen that shows while the game is being loaded on the phone
  3. Game asset artists: These girls are making the art work that will appear during the game.
Our current APP.
Can you guess the theme?

An accidental find (This really did happen)
One Tuesday afternoon, a year 9 student walked into the lab just before we had started. She told her friend that she'd stayed to serve a detention but she had gotten the date wrong. Knowing the girl from teaching her Maths and IT, I guessed that she would be interested in what we were doing. I asked her: "So your parents are counting on you being at school for an hour?" When she answered "yes" I invited her to stay for that session. It turned out that she had learnt from her friend about our game and produced art work on that theme. The art work was incredible. When Ian visited the group one lunch time, he left very impressed with that girl's skills. Needless to say, she has now joined the group and is part of group 3, the game asset artists.
I must remember to implore the principal not to scrap the detention policy!

Lessons Learned
I went into this out of a strong belief that our girls needed to know how to build technology, not simply consume someone else's products. These are some of the things I have learned so far:
  1. Work on programming fundamentals first: I have not really succeeded at teaching programming all that well. I have given the students an exposure. Next year, I want to start with some exercises aimed at teaching things such as loops, conditional statements and arrays. I am thinking of designing these exercises so that we implement them in Scratch first and Lua second;
  2. Attractive displays trump event handling: Many Corona tutorials introduce event handling very early. I understand the importance of this, but the students were most interested when they were working on the display elements of a hangman game. Next year, we may build an animated prototype of our APP before worrying about interactivity.
  3. It takes three terms to build an App: One short term of tutorials followed by two to build an APP was too short a time. Hopefully, we'll start in Term 1 next year and have three more terms for the APP.
  4. It was invaluable for me to build a connection with professionals: Peach's tutorials, Jayant Varma's tutoring and Ian's inspiration and continual support have made a huge difference. I was stuck on many occasions and these guys came to my aid.
  5. Keep it simple: We are committed to submit our APP to the Apple App Store in the middle of November. To this end, we have made some compromises. The game will have one screen which gets refreshed with each new mystery word. The splash screen will include the credits (which reminds me, I have to get the parents' permission to list their daughters' names).
  6. No matter how many start in the group, many will leave: We have lost students to drama showcases, netball coaching duties and part-time work. Finding the artistic student happened by accident this time around. Next time, I might invite a few students nominated by the art department to fill any vacant spots. We can benefit from their skills and, in turn, we can give them an authentic context to practice their craft.

In conclusion, I want to thank Ian Chia for all the help he is offering us and for prodding me to put this post together. Stay tuned for more news.

0 comments: