Corona SDK is a framework primarily used for making games, and it's quite popular among young people just learning how to code. It's perfect for after-school clubs, or perhaps a formal class in preparation for high school AP Computer Science. I think even motivated junior high students would get a lot out of it. Here are five reasons I think schools should teach it:
- It's free. There are paid versions of Corona which offer features such as large app sizes, premium graphics, and higher revenue limits for published games. However, the free Starter Edition is plenty capable enough for first time coders.
- It's cross-platform. Corona consists of libraries, a compiler, and a phone simulator. You write your game in a free text editor such as Notepad++ or Text Wrangler, either on a Windows PC or a Mac. Completed games are exported to iOS, Android, and soon to Windows Phone and Windows 8. No matter which platform you use to build your game, or which target platform you want your game to run on, Corona has an answer.
- It lets kids build what they want: games. What's the top category in app stores? Games. It's what consumers want to buy, and what kids want to make. According to Distimo, "The vast majority of all revenue generated in the Apple App Store and Google Play came from games in September 2013." Check out the Corona Hall of Fame for a sample of great games built with their product.
- It teaches real programming. To me, this is the most important reason to learn Corona. There are many tools out there for quickly making games. They're great, but they often insulate the student from programming. Some of these tools don't allow for any coding at all. Not so with Corona. Students build their games from scratch, beginning with just a blank page in a text editor. With a simple yet powerful language called Lua, they'll use the same programming concepts that professional developers do: variables, loops, conditional statements, functions, events, data structures, and more. They'll be immersed in creating their game, learning programming at the same time. This prepares them for AP Computer Science or introductory programming courses in college. Plus, Lua is widely used in game development even outside of Corona.
- College applications will stand out with a published game. Or, students can dream big and even pay for college with money they'll make from their published game. Why not? When we hire students straight out of college here at Microsoft, we look at traditional metrics such as grades and the like. However, we also consider apps they've published, side projects, and code contributed to open source projects. This sets those applicants apart. Ask a guidance counselor or academic advisor if you think this strategy makes sense for a college application. It does to me.
If you're a teacher considering Corona, I recommend you check out books by Dr. Brian Burton. If you order them from his site, you'll receive several updates a year for free. He currently has three books:
- Learning Mobile Application and Game Development with Corona SDK includes lesson plans and is good for people brand new to programming.
- Mobile App Development with Corona: Getting Started is good for people who already know the basics of programming. It's what I myself used to learn Corona.
- Beginning Mobile App Development with Corona is the textbook version of book number two, and targets people who've already had a year of programming.
Of course these opinions are mine alone, and not necessarily those of Microsoft.