Ask a Programmer- Guest post with Kodable kids app creator Jon Mattingly

On our quest to teach our kids’ programming, I recently downloaded the Kodable “Smeeborg Learning Guide” that goes along with their app. A few minutes ago I go just got a follow up email from one of the creators, Jon Mattingly, to see how we are doing or if we have any questions. In response, I invited him here we can ask some questions about teaching our kids. :biggrin:

https://itunes.apple.com/us/app/kodable/id577673067?mt=8

https://www.facebook.com/Kodable

www.youtube.com/watch?v=zWrcR22s178&feature=player_detailpage

www.youtube.com/watch?v=wazj9WBdvjw&feature=player_detailpage

Blog post on how to make your own Kodable “Fuzz”: http://www.kodable.com/2014/02/05/4-ways-to-make-a-kodable-fuzz.html

http://www.kodable.com/blogassets/blog7img4.png

Welcome Jon! I’ll start-

1. Kodable, along with many of the other programming apps for kids, seems so game based. Is it really laying the proper foundation? Will these games really work? Assure me it’s not just “edutainment.” :wink:

2. How long does it take to progress to “real” programming?

3. What is the next step after completing the Kodable app (please simplify it for us non-techy people!)

4. How do you continue teaching your child if you have a non-programming background? Is it best to find a local mentor?

5. How long does it normally take a child to get through the Kodable curriculum?

6. What is the difference between Kodable Lite and Kodable Pro? I noticed when we upgraded my kids lost all of their progress, so for parents considering this app, I recommend buying the full version from the get-go to avoid this.


7.
How do you feel about children’s computer programs that restrict their abilities to interact with the “true” computer interface? These programs limit their ability to “break” the computer, get into files they shouldn’t, or go to inappropriate websites (or in the case of my son, watch Angry Birds youtube videos all day) My husband and I go back and forth on this…between giving our kids “real” computer experience (with real risks) or limiting their access to a child-friendly, contrived but safe computer experience (i.e. Peanut Butter PC and the like). What do you recommend? My kids have their own (dinosaur Frankenstein) laptops…do you recommend loading them with Windows or Linux or something else? We formerly had Linux on one of them but I would get frustrated because if they got “stuck” we would have to wait until my husband got home to help them because I am not great with it. Is Linux worth the trouble to indoctrinate them young?

8. Do you have any other tips for families on this journey? If you have small children yourself, how did you teach them?

Lastly, I wish there was an option to turn off the Fuzzy Fun part of it. Sometimes my son wants to use that feature “just because” but his time would be better spent on mastering the mazes. He knows his colors, basic spelling, etc, so I redirect him away from Fuzzy Fun, but it would be nice to turn that part on or off. Maybe there is and I missed that part? That is a small suggestion, overall we are really liking this app!

Looking forward to your response. :slight_smile:

1. Kodable, along with many of the other programming apps for kids, seems so game based. Is it really laying the proper foundation? Will these games *really* work? Assure me it's not just "edutainment." Wink

A common misconception is that programming is all about learning “syntax” or how to “write code.” Programming is a thought process more than anything else. The most important thing to learn is how to think like a programmer. This is why experienced programmers have no problems learning new programming languages, because they know how to think like a programmer, and then all that matters learning a few new commands.
Kodable sets this basis, you have to use logical thinking to solve problems. You can actually map various commands in Kodable to essential programming concepts, such as loops and functions. They’re simplified from a traditional programming function, but the important thing is learning how to think through how a function works, which is what you have to do in Kodable.

2. How long does it take to progress to "real" programming?
I started programming when I was 6, making a very simple password program on an old Windows 3.1 computer that didn't even have a mouse! So the potential is there to start really young. Once you have a good command of written language and typing skills you could definitely progress to "real" programming.
3. What is the next step after completing the Kodable app (please simplify it for us non-techy people!)
Our goal with Kodable is to build everything a kid needs to go from thinking like a programmer with Kodable to being able to pick up a real programming language like Javascript. We'll build on Kodable with a "Kodable 2" soon that introduces kids to more advanced concepts like variables and object-oriented programming. In the meantime, Scratch is a good option http://scratch.mit.edu, although it isn't guided like Kodable, so be sure to give your kids a task to accomplish so they don't get bored. For older kids, CodeHS is a good option as well. http://www.codehs.com
4. How do you continue teaching your child if you have a non-programming background? Is it best to find a local mentor?
We wrote the Learning Guides especially for this reason, because there are so many people that don't understand programming but still want to teach it. My best advice would be to learn yourself! I'm actually completely self-taught. I graduated from college with a business degree. You don't have to outsource your child's learning, programming [b]really[/b] isn't that hard to get a basic understanding of. Most of it is simply logical thinking (if this is true, do that, otherwise do that other thing). Finding a local mentor is an option, but there are so many good resources online that it really isn't that hard to do yourself. Also, don't underestimate your children, especially these days. If they have a true interest, they'll probably be able to find stuff to help learn really easily.
5. How long does it normally take a child to get through the Kodable curriculum?
It depends greatly on the child and how they are using Kodable. Younger kids typically don't have a huge attention span, so they'll play 5-10 levels in a sitting over 15-20 minutes. In school, Kodable tends to last a few months to a semester. It also depends on the problems you're solving (which also mirrors programming) If you're on a difficult level, it might take 10-15 minutes to complete a level, and you won't feel like playing anymore. THAT'S OKAY! The same thing happens in programming, it's perfectly ok to step away and come back later.
6. What is the difference between Kodable Lite and Kodable Pro? I noticed when we upgraded my kids lost all of their progress, so for parents considering this app, I recommend buying the full version from the get-go to avoid this.
There is actually a feature in Kodable Pro that lets you transfer progress from Kodable if you have it installed. You can access it in Adult Mode > Settings. The free version of Kodable includes 45 levels as well as the Smeeborg Learning Guide. You can purchase additional content via in-app purchases, and can "upgrade to pro" which unlocks all content for the same price as Kodable Pro. Kodable Pro offers all content for one upfront price. This is mostly for schools, who cannot make in-app purchases, and parents who would rather not have in-app purchases in their kid's apps. This includes 105 levels, including Function Junction and Bugs Below. Function Junction teaches kids about functions, one of the most important concepts in programming. Bugs Below teaches kids how to "debug" their code by giving them a problem that they must solve using concepts they have learned in previous lessons. You also get Learning Guides for each of these worlds.
7. How do you feel about children's computer programs that restrict their abilities to interact with the "true" computer interface? These programs limit their ability to "break" the computer, get into files they shouldn't, or go to inappropriate websites (or in the case of my son, watch Angry Birds youtube videos all day) My husband and I go back and forth on this....between giving our kids "real" computer experience (with real risks) or limiting their access to a child-friendly, contrived but safe computer experience (i.e. Peanut Butter PC and the like). What do you recommend? My kids have their own (dinosaur Frankenstein) laptops...do you recommend loading them with Windows or Linux or something else? We formerly had Linux on one of them but I would get frustrated because if they got "stuck" we would have to wait until my husband got home to help them because I am not great with it. Is Linux worth the trouble to indoctrinate them young?

I think giving a kid a laptop with Linux might be a bit on the extreme end, but I do think there’s a lot of benefit to knowing how computers work. Im lucky to have been born in a time where you had to understand computers between the times computers were too complicated to be accessible (60s-early 80s) and now, when they core workings of the computer have started to be abstracted out, which I don’t think is a good thing. We’re getting a generation of kids growing up with the most advanced machines we’ve ever built, but have absolutely no idea how they work. Even a secretary or mechanic in the 90s had to understand the Windows filesystem. There is no filesystem on the iPad. I don’t think that’s good.

8. Do you have any other tips for families on this journey? If you have small children yourself, how did you teach them?
Don't give up! Programming can be hard, but not impossible! You're teaching your brain to think in a different way, and that can be difficult at first. You don't have to know how to build a computer from tin foil and program in binary to understand simple programming concepts, so don't feel discouraged. There's so many more resources out there now than there have ever been before, so take advantage of them!

Please let me know if you have any more questions, or if they’re something private you can send me a PM!

Thank you so much for joining us here! TMT asked some great questions. I don’t think I have any right now. I just wanted to mention that my son (4) was playing Kodeable tonight and he loves it. I was shocked at how intuitive it was for him and he hit the ground running with it, flying through the first few training levels. We have tried a few other programs that have been more open ended, which left us both scratching our heads. Thank you.

WEll that answered almost ALL of my questions! :yes:
When are you expecting to release codeable 2? I am not in a rush to start ( kids are super busy as it is but do love their tech!) I don’t want to run out of lessons before I am readying to go hunting for more. I get the idea that they may go looking for more for themselves but really mine are too young and naive for me to give them free rain online as yet.
Is there enough now? Does it matter if they take a break between apps/learning? Would it be better to sink in and keep going to really get the benefit of it all? I ask because each time we take a break in our math we really are stepping backwards when we restart. Is programming going to be like this?
At least two of my kids are going to love this, I am just wondering when and how is the ideal way to approach it.
Thanks for stopping by to chat with us! We really appreciate it! :yes: :yes: :yes:

I’m so happy your son is enjoying Kodable Korrale4kq! If there’s anything I can do to help please feel free to use the contact form in the adult mode of the app, it goes straight to my inbox!

Mandabplus3 -
We’d like to have Kodable 2 out in the fall by the start of next school year. Depending on how long your kids play in one sitting, Kodable could last a month or 6 months. I don’t think there would be any harm in starting now; no time like the present! As long as you play with some kind of consistency (maybe once or twice a week) you should be ok with them learning and making progress. One of the best things you can do is connect things they’re learning in Kodable to the real world. For example, if they have to make a decision between two things, ask them to verbalize it as an “if” statement. You’ll be looking for them to say something along the lines of “If this is true, I’ll choose option A, otherwise I’ll choose option B”

Hope this helps :slight_smile:

Very interesting thread!
Maybe you have already commented on this, sorry if I missed that, but I would like to know at what age should a kid start with the app to really take profit from it. Please take into account that most of us have exposed our children to reading and math from a very early age, and they’re doing simple math at 24 months old, for example.
My twins are 2,5 years old now. When would you recommend to start? What are the necessary skills?
Thank you!!!

We’ve had kids as young as 18 months using Kodable and understanding it, but those are usually the ones that have been exposed to technology at a very young age. The “sweet spot” is usually between 5-8, although it sounds like your children might be ready now! The biggest problem we find with younger kids are 1. attention span and 2. drag/drop motor skills. You might have to help them use Kodable at first, especially if they tend to drag their palm across the screen, instead of just their finger. Other than that kids can usually grasp the concepts of cause/effect and direction at a lot earlier age than most people give them credit for!

Thanks for your answer, we’ll give it a try! We have been using educational apps for more than half a year now, no problem with attention spam or drag & drop! :biggrin:

Hi Jon!

Welcome to this community.
And you did a great job. A year ago I was asking about something like this on this forum and I totally agree with the methodology.

TmT, you made a good list questions.

As a programmer, I agree with Jon. I believe the important point here is to help people to start thinking as programmers. Much more important than the syntax is the foundation for programming. In a early stage, visual programming will let a kid to understand that a sequence of commands is not something happening at the time of writing, but something to be done later if someone happens to execute it. This will be very important later with Object Oriented Programming, where what you write is not a sequence of what will happen, but a list of things that can happen. This is something that at my University a lot of students took months to figure out.

Regarding the computer question, I also have the same doubt for later. iPad is great for now that my son is 2, but later is important to know how things really happens and how a computer is made. But I don’t know how safe this will be.

I am in trouble from my daughter today. Apparently I managed to download codeable on only 2 of the three iPads. Hers missed out and she is unhappy because the other two are having a jolly good time zooming through exploring. I don’t have time to keep tabs on what they are doing but they certainly seem to be having no trouble making it all work. E
I downloaded three apps for coding. So far codeable seems to be the favourite. Every know and them I get handed an iPad and told “make him move mum,” lol then they laugh while I figure it out.
So far so good…off to upgrade an iPad to keep one little girl happy :slight_smile:

Jon- My son needs to get 5 more fuzzes. When he gets them, is that the end of the app? I was peeking over his shoulder and just wanted to get some clarity on that. Thanks!

Also, can you tell me a little more about this, how does it work? I just started following you on twitter, but I am new to twitter overall. Thanks!

Kodable
What is programming success? We’re discussing programming assessment in ‪#‎KidsCanCode‬ Tuesday 8P ET

https://scontent-a-sea.xx.fbcdn.net/hphotos-frc1/t1.0-9/1962643_598373893589775_907706378_n.jpg

Sorry for the delay, I’m not getting email notifications about this thread for some reason…

The “end” of the app is when you’ve completed all 105 levels, or finished Bugs Below. We’re working on a level editor that you’ll be able to use to make your own levels, and we’re going to be expanding Kodable in the near future, so we don’t like thinking of Kodable as “ending” it’s just a “finished with what we have now” kind of thing :slight_smile:

#KidsCanCode is a Twitter chat that we’ve created where people on Twitter can meet up at a certain time to discuss coding-related topics. Don’t worry it isn’t a sales pitch, we rarely talk about Kodable specifically. We’ve actually written a blog post on what a Twitter chat is and how you can participate in one -

http://www.kodable.com/2013/11/29/how-to-participate-in-a-twitter-chat.html

Thank you!

Hi Jon!

My son is two years old, so he is not old enough to play properly, but he likes it and he understood some concepts. If you allow me, I’ll leave here a suggestion.
For his age, I think a step by step progress during a game is better. I mean, he uses one command and press PLAY to see what happens. It will of course not finish the stage. Then, he places another command and press play to see the difference of this new command added. The problem is that he understood that the red bar over a command means it is wrong. But in this case where the problem is that the next command is missing, the red bar stays over the last command added. So he thinks that he placed wrongly the last command instead of understanding the the problem is that the command in sequence is needed. The consequence is that he changes the last command to a wrong one. My suggestion is to put the red bar over the next blank square, or maybe a “?” on this next square.

I don’t know if I made myself clear, if not, don’t worry about asking me.