Harnessing Mobile Devices for Teaching Kids Coding
The Importance of Computer Programming
In 2014, programming was introduced in English schools for children from the age of five and in 2015, Australia followed by adding coding to the new digital technologies curriculum for children from the age of seven and up. Over in the US, code.org aimed for preparing 750,000 new teachers to teach computer science for the grades K-12 by the end of 2017. In Israel, the education system intends to introduce coding profession as a compulsory subject in primary schools by the end of 2020.
The world is controlled by technology and technology is programmed by people who understands how it works. Computer oriented jobs are needed four times more than any other profession in the states. The information technology is growing faster than we are educating people to manage it and It is therefore necessary to make this accessible to a wide range of populations including younger kids, the underprivileged and 3rd world countries.
The Challenges of Teaching Coding to Younger kids
This is true for many professions and certainly for coding – when teaching children, the material should be:
- Simple – the subject should be taught progressively starting very easy with immediate success, building the kid’s self confidence
- Fun – use “gamification”, computer graphics and animation whenever possible to make it interesting and fun so kids will want to further learn the subject later on even when they are out of school.
- Prepare for real world – you need to prepare the child to feel comfortable when approaching real-world technologies and solving coding problems.
There are many kids coding products available, popular names like: Scratch, Alice, Tynker, Codakid, Code.org and Code Monkey which are all great applications, some of them are free for non-commercial use.
All of those systems, excluding “Alice” are web applications and non of them is a native offline (which doesn’t require network connection) mobile app.
Harnessing Mobile Devices for Teaching Coding
Mobile devices can enhance the coding education process and open new possibilities. Hardware is quite cheap these days and mobile devices are common even in 3rd world countries which means greater accessibility to a broader audience.
In addition, mobile devices are well.. Mobile and hence they can break the traditional meaning of a computer classroom. Any place in any size can become a classroom even outside – under a tree. But developing on a mobile device can be a bit challenging. Let me explain why –
The Challenges In a Mobile Solution
Mobile solutions however do introduce new challenges when used as an educational tool:
- Screen – the screen is very small comparing to a regular computer screen
- Keyboard – the soft keyboard can occupy almost half of the screen when active and some special characters are hard to find. In addition, most of the keyboards default setup is optimized for writing text messages and not computer commands
- Performance – mobile device performance is still modest comparing to a desktop computer but the gap is closing rapidly
- Battery life – any mobile application should take in consideration its battery consumption
Introducing SceneMax3D Animation Programming Language
After many years of teaching kids computer programming using traditional tools and having more than 20 years of professional programming experience I have decided to create a new dedicated educational computer language and development environment.
SceneMax3D is the first educational computer language which has the mobile first approach. It is 100 percent mobile solution including the development, execution, debugging and deployment. It was designed from scratch to fit younger kids mind and abilities and takes in consideration the limitations of mobile device keyboard, screen real estate and CPU performance.
SceneMax’s programming syntax is a combination of English-like syntax with computer object oriented approach where everything is happening inside a 3 dimensional graphics scene. Let me show you a few code samples:
The following 2 lines of code will present a ninja on the screen:
Ninja is a model
David is a Ninja
You are getting an immediate feedback – a beautiful 3d ninja is shown on the screen of your mobile device. You are using the “is a” subsumption for defining the relations in your program and hence training your object oriented programming way of thinking.
Next, let’s move our ninja two meters to the right:
David.move(x+2) in 5 seconds
Now let’s rotate it a full 360 degrees rotation:
David.rotate(y+360) in 5 seconds
And finally perform some skeleton “Backflip” animation:
SceneMax also supports variables, functions, loops, multi threading, printing etc. Allowing you to solve more complex programming requirements. For example the following code will simulate 2 Spheres bouncing with gravitational forces:
Function bounce = do async
A is a sphere having material=”Pond” and pos=(-2+rnd()*1,0,-20)
Do 4 times async
A.move(z+25) in 5 seconds
A.move(z-25) in 2 seconds
Do 100 times async
A.rotate(y+360) in 5 seconds
Do 20 times async
Do 21 times
A.move(y+distance) in 0.05 seconds
distance = distance-0.04
Wait 5 seconds
This somewhat complex example has one function and four loops. Notice the intensive use of the “async” keyword which makes the bounce function and three of the program’s loops to run asynchronously in separate threads (Multi threading). Watch the below video clip to see how it looks like when running on the mobile device.
As a teacher, SceneMax’s English-like syntax and immediate graphic feedback will make teaching much easier and fun. Your students on the other side will enjoy the mobile nature of SceneMax allowing them to practice at home and present their projects to their proud parents.
Get your free copy of SceneMax 3D and start teaching amazing kids coding classes today!