I want to teach kids how to write code. Where do I start?
As part of corporate social responsibility, we as a company would like to give back to the society by teaching kids how to write code and adopting the ones who are really good so that they have the opportunities and resources to continue doing what they love and and what they are good at.
The kids come from backgrounds where they cannot afford to have computers and internet at home.
We are opening out our office on weekends to do this.
What languages do we start with and how do we make it engaging and motivating?
The kids start at age 13 going up to 18.
Personally, I would recommend starting with web fundamentals like server, client ,host, ports, OSI model, yes it takes time but it definitely worthy. how can someone debug code without having knowledge of web fundas?
An easier interface. That's my answer. Tools that do it for them. Much more efficient, much better results. Whoever controls the legalese in that system owns the future. Period.
More inspiration here: http://techcrunch.com/2014/04/12/changing-our-education-system-one-programmer-at-a-time/
If your target customer segment is KIDS. then coding needs to be fun.. one best place to start is http://scratch.mit.edu/
Scratch is a tool for teach programing and algorithms. The kids can make games and so!!!
I recently started watching a course on Lynda.com that speaks to this very question. The video course "Foundations of Programming: Programming for Kids with David Gassner" is a great high-level view of how to get started and the various tools out there for toddlers up through high schoolers.
While the videos early years content isn't aimed at your target you might still find some useful tidbits until you get to the more advanced tools.
You could start by introducing them to LiveCode (www.runrev.com). LiveCode has a small footprint, is a continuation of the hypercard concept but has the main advantage that it is free, can output to multiple systems (Win, OSX, Linux, iOS and Android) and can use or be used in other code.
Don't take my word for it - check the site, check the references and maybe call them as they might support your efforts in various ways.
Plenty of online support and resources - I use it to quickly code some stuff of my own and I am not a programmer. But it is visual and brings fast results (great for showing them lean/agile development as well).
Just begin a project just like you would and explain their function. A project that will benefit them , something they would use like building an application for apple or Microsoft or both. Jane
i don't fall in the age range that you specify, i am a little older .. ok, a lot older, but i really want to learn how to right code.
How can our kids benefit from this? I mean Cameroonian kids.
I would start with English since there are a lot of inner city youth that can't speak English fluently... to make it engaging and motivating, have a FUN spelling bee and afterwards have them put together a small booklet with all the words they have learned for the next class. You can then have an awards ceremony present them with certificates as well as reward your outstanding students with a certificate and a $ 25 gift card...This should be VERY motivating for any child...GOD BLESS you with success with this project. It's MUCH needed especially for our students from other cultures who's struggling with learning and speaking English.
I'm surprised this hasn't come up, but blocky (https://code.google.com/p/blockly/) might be exactly what you are looking for.
Developed by a Googler (interviewed in this video, with a demo of the program): https://www.youtube.com/watch?v=OYTzXcOtsTs
Start them on markup (HTML) and then ease them into JS. It's the most accessable, with the most free online documentation, and you can direct activities that the kids can see in their own HTML pages immediately. Showing quick returns is like the drug-dealer model of education. As the topics increase in complexity, the time it takes to do stuff increases - but ease them in. Don't loose them too early.
Also, show how math helps make fun - (i.e. games).
I will assume that this is coding such as HTML?
I suggest that you start with basic keyboarding. Coding can be so boring, so familiarity of the keyboard will at least help them focus (preparation for the next big thing).
Next thing is make them familiarized with the formatting using MSWord, this includes Font sizes, color, style and adding links. They have to understand what is formatting.
Of course this will vary depending on the age of the student.
I am willing to participate if you need help :)
All the best,
Although it's not necessarily the best programming language in the world, AppleScript is a great tool to introduce the ideas of programming.
You might also want to look into Lego Mindstorms as a great way to connect both programming and robotics. It makes the abstract connect with the concrete in a very fun way.
There are a number of things to keep in mind, age, experience level, enthusiasm. I have noted, of late that to really engage kids and get them excited about a process that can be tedious, it is wise to put a fun wrapping around otherwise dull activities.
There are a number of stories out there about using Minecraft as a means to engage kids in the principles of coding. Here is one of many resource about that.
A good way is use Mozilla Webmaker  to teach Web development or Mozilla AppMaker  for Mobile Apps.
Excellent tools to teach, easy and funny!
You can contact Mozilla community in your country. It's very normal they have social programs ready to start.
But you can start by your self.
Hi Chacko, I was fortunate enough to do some study at Cambridge, this was a priority for them too, so they developed the Raspberry PI...., so maybe there would be a good start along, also try connecting it to one of the online tutorial schools such as....http://railsforzombies.org and you have a very low cost educational startup.....good luck, and enjoy!!!