Kids, Code, and Computer Science Magazine

Codea

Codea is an app designed to make it easy to create games and software. Here are tutorials and links to online resources.

A few software applications for phones and tablets can help teach you programming. There are Python and Lua emulators, for example, to let you practice typing code and look up references. With the right curriculum, little kids can use these apps to learn basic programming.

Codea is different. Aside from the clean simple beauty of the software interfaces, Codea is perfect for people who love programming, video games, and tinkering. The iPad application, on its own, will not teach you to be a software programmer. But it is an amazing toolkit to help people learn software programming in a fun often intuitive way. People have used Codea to create games sold in the Apple store.

Here’s an overview how Codea works:

The language used in Codea is Lua which is used in lots of video games. Aside from the cleanliness of Lua code, and its use in game software, Lua also is similar to other languages and makes a great place to start learning how to program software. However, Codea won’t formally teach you Lua. You’ll need to take classes or go online and learn by doing, same as any other language.

How do you use Codea?

Because the software is an excellent software development platform, Codea rewards looking tutorials up online, checking reference materials, and asking questions in forums, all steps you do with any language. When you understand how to code the piece you want to create, Codea offers tools to make your coding faster and more efficient. For example, the software reads both what you code in real time and tracks all your variables to flag you when a variable is unused. Changing a color can be done in your code with a color wheel.

You also have a library of code to perform different tasks. You can tweak values in the example code to see what happens. And you can copy code, put it into your project, and modify the code.

How to Get Started with Codea

To get started, you will need the application ($9.99 in the iTunes store), an iPad (buy refurbished if you don’t need an iPad otherwise), and lots of online resources and Codea tutorials. A good set of resources are at the bottom of this article.

You also should prepare for what happens when you want to graduate from tinkering to coding an application with Codea. Rather than try to build a complicated game, start with a simple game that involves touch or input. Create your first few applications from start to finish. Get used to the process of design, build, and test used in all software development. Then look at games like Tetris and Pacman, or any game you know, and take a portion of the game play you enjoy and try to recreate the functionality in Codea. Don’t build the entire game. Only try to recreate one bit of functionality with code in Codea.

The trick is to build a bridge between goofing off with Codea (or any programming language) and competency. Creating small projects built from your interests is the key. Lots of people enjoy coding but give up because they can’t figure out how to make the leap from beginner to competent programmer.

Codea Tutorials

Aside from tinkering with the examples included with Codea, the best way to use Codea and learn Lua is through classes, online tutorials, reference sites, and asking questions (and searching for your questions) online. However, as with any language, you don’t need to begin with formal classes to enjoy Codea, learn Lua, and make games. The Codea app rewards tinkering. And there’s lots of help online.

Formal classes simply help you organize the way you work and how you think about programming, extremely useful but not required to get started. Learning is all about growing out of what you have done before. It’s guaranteed what you’re proud of today will look childish tomorrow if you stick with coding. Classes are simply one way to grow quickly as a programmer. Tinkering can have the same effect if you’re persistent.

Here are a couple tutorials to help you get oriented to Codea and start playing with code.

Hello, World!

Here’s a simple Hello World project tutorial on YouTube taught by Patrick Coxall, a Canadian teacher:

Aside from the too dark background, this tutorial provides an excellent tour of the Codea interface and how to tweak a basic Hello, World! project. It also helps the author is a teacher.

For Kids

Once you are familiar with where things are in Codea, and have tweaked a few of their example projects, the For Kids wiki page is a great place to start learning how to code with Lua and Codea. It’s a set of short text tutorials with small code samples to create Spritey, an online character, and code Spritey to do different things. You could easily print out the pages then refer to them as you type in Codea.

More Codea Tutorials

I’ve linked below to a number of tutorials which might be good to try after playing with the built in Codea examples. Patrick Coxall has a series of videos on YouTube. David Such and Ignatz have dozens of tutorials to demonstrate how to code with Codea. Ignatz has a FloodIt game which looks simple enough to understand once you’ve played with Codea and feel familiar with coding Lua.

Beyond these tutorials, you also might search Github and Github Gists for code people have created for Codea which you can try out.

There really is a lot you can do with Codea if you enjoy programming, video games, and tinkering. The app gives you access to graphics, gravity, touch, and other elements used in games. It’s up to you to find the best way to wade into Lua using Codea. Hopefully this article has given you a proper context and lots of ideas.

Learn More

Codea (iTunes)

http://itunes.apple.com/app/id439571171?mt=8

Codea Resources

http://codea.io
https://bitbucket.org/TwoLivesLeft/core/wiki/Home
https://bitbucket.org/TwoLivesLeft/core/wiki/Codea%20Programming%20FAQ
http://codea.io/talk/categories/code-sharing
https://bitbucket.org/TwoLivesLeft/core/wiki/CopyingCode
https://bitbucket.org/TwoLivesLeft/core/wiki/HintsAndTips
http://codea.io/talk

Codea Tutorials

https://bitbucket.org/TwoLivesLeft/core/wiki/ForKids
https://bitbucket.org/TwoLivesLeft/core/wiki/Tutorials
https://bitbucket.org/TwoLivesLeft/core/wiki/DrawingTutorial
https://bitbucket.org/TwoLivesLeft/core/wiki/AnimationTutorial
https://bitbucket.org/TwoLivesLeft/core/wiki/TouchTutorial
https://bitbucket.org/TwoLivesLeft/core/wiki/Parameter
https://bitbucket.org/TwoLivesLeft/core/wiki/SensorTutorial

Patrick Coxsall Codea Tutorials (YouTube)

https://www.youtube.com/channel/UCwfVwIQIZJUXh4Gk7kvR0TQ
https://www.youtube.com/playlist?feature=c4-feed-u&list=PL28ZgPD5H3I07rN55BaYuq65ezTH509Sd
https://www.youtube.com/watch?v=qRkC7Js9ep0
https://www.youtube.com/watch?v=bogCG07VtX4
https://www.youtube.com/watch?v=CO-9BjxqY9o
https://www.youtube.com/watch?v=B3k0saVH5uA
https://www.youtube.com/watch?v=kjwV6PKX1mk
https://www.youtube.com/watch?v=vPBuhSaAv0E
https://www.youtube.com/watch?v=CnBnNTH9flw

David Such Codea Tutorials

http://codeatuts.blogspot.com/p/contents.html

Ignatz Codea Tutorials

https://coolcodea.wordpress.com/
https://coolcodea.wordpress.com/2013/06/19/index-of-posts/
https://coolcodea.wordpress.com/2013/03/10/starting-with-codea/
https://coolcodea.wordpress.com/2013/03/page/2/
https://coolcodea.wordpress.com/2013/03/page/1/
https://coolcodea.wordpress.com/2013/03/28/17-things-i-would-have-liked-to-have-known-sooner/

Ignatz Board Game Tutorial

A high level description of coding FloodIt using Codea, with code from Pastebin and Github.
https://coolcodea.wordpress.com/2013/03/30/18-lessons-from-a-simple-board-game-part-1/
https://coolcodea.wordpress.com/2013/03/31/19-lessons-from-a-simple-board-game-part-2/
http://pastebin.com/pbXLsJ1e
https://gist.github.com/dermotbalson/5346233

Lua Resources

http://www.lua.org/manual/5.2/
http://lua-users.org/
http://tylerneylon.com/a/learn-lua/
https://bitbucket.org/TwoLivesLeft/core/wiki/OtherResources
http://luatut.com/crash_course.html

Also In The June 2014 Issue

Codea

Codea is an app designed to make it easy to create games and software. Here are tutorials and links to online resources.

Raspberry Pi Projects

Here's a quick introduction to Raspberry Pi, how to find one, get set up, and then do all sorts of neat projects. With links for each step.

Summer Tech Camps and Local Groups

Summer is a great time to get outdoors, learn technology, and meet people in summer tech camps and local tech groups.

Github Basics

Github is an important tool used by programmers to manage their code projects. Here are Github tutorials with links to learn more.

Create ASCII Art

It's fun and easy to create ASCII art with your computer keyboard, a text editor, and your imagination. Here are ideas to get started.

If you’re not failing 90% of the time, then you’re probably not working on sufficiently challenging problems.

June 2014 Learn More Links

Links from the bottom of all the June/July 2014 articles, collected in one place for you to print, share, or bookmark.

June 2014 News Wire

Interesting stories about computer science, software programming, and technology for the months of June/July 2014.

Robots!

Mindstorms, Sphero, and Robot Turtles engage kids (and families) in playing while also teaching computer science and programming.

Describe an Object, Multiplying Numbers

Computational thinking projects help you to solve problems in ways used to create software, as well as problems in real life.

Count Dots, The Orange Game, Santa’s Dirty Socks

These hands on projects teach computer science concepts without a computer. Plus links to many more projects.