Best way to teach yourself programming?

What is the best way to teach my 12-year-old son programming, preferably JavaScript?

  • Answer:

    Look at Scratch and Alice (in that order): http://scratch.mit.edu/ http://www.alice.org/ These are programs from MIT and Carnegie Mellon respectively and they teach the basic fundamentals of programming agnostic of any particular language.  Unless your son is already excited by programming and is simply struggling w/ learning JS, I would point him at one of these two apps first and let him absorb the fundamentals and get engaged & having fun before throwing him into a particular language.  90% of the battle is in getting over the "suck threshold" (http://headrush.typepad.com/creating_passionate_users/2005/10/getting_users_p.html) as Kathy Sierra would say and these apps are geared toward achieving that.

Sean Tierney at Quora Visit the source

Was this solution helpful to you?

Other answers

Teach him how to build a web site.  That is how I learned.  Buy him a domain name and let him play with it.  I started learning this stuff when the web just came out.  Before that, I played with Basic and Hypercards on the Macintosh.  Another good thing is LEGO Mindstorm. 

David Chen

From my own experience, kids love cool things that they can share with their friends. I started Developing iPhone games when I was 14, sharing my games with my friends and family is what motivated me to advance in developing games and opened up my mind into the world of programming. I would recommend starting with simple softwares that don't require any programming knowledge, for example GameSalad. Starting with simple software is the best thing to make himunderstand how programing works which will make it very easy in the future to learn actual programming languages such as Javascript. If he starts learning javascript, I would highly recommend trying out Titanium SDK.

Abdulrahman AlZanki

I'm a web developer who knows php, and a bit of C and Ruby. I am familiar with Ruby on Rails. I know little actionscript (Flash). I have coded a battleships game, a remotely hosted shopping cart, a large mysql database importer, a webhost billing script, a link sharing site with rails, and an incomplete platform flash game. The one thing I do not know is javascript. Why? Because it's hard. Javascript is for hackers. It's for people who not only can understand something, but can take it apart and find better uses to implement a technology. It's all very well learning about the javascript syntax, about variables, loops, functions etc; but when it comes down to making javascript plugins for websites, such as image galleries, the sort of stuff you see on Dynamic Drive, how on earth do you do that? Javascript is poorly documented. W3Schools and Pixel2Life is out of date and doesn't contain HTML5 specific javascript. MDN (Mozilla Developer Network), tries to solve that problem by having a function reference, but that doesn't do much to help one learn it. HTML5Rocks barely helps. Javascript is an acquired thing to learn. You learn it by copying other people's javascript, finding out how it works, using Google, and thinking like a hacker, and not a php coder who simply manipulates information in a mysql database or a string. Here's a challenge for you. Four years ago, I never knew that javascript frameworks like JQuery existed. I wanted content on a page to change when I clicked an image. I didn't know how to do it. Dynamic Drive failed me. I searched Google for 2 hours to find a javascript script that would hide or show a div based on a click. I was searching for a a javascript gallery plugin, and JQuery did not come up in the search results. Now I have the code, I know how the javascript works, and can modify it and mash it up with other javascript. I challenge you to do the same thing that I did. See how easy it is. Here's a 2nd challenge. Look online for how to do code something hypothetically. I've got the real code for it from a magazine so it's not online. Use Google. There's a javascript you can use to make a div play and pause a HTML5 video? It doesn't use plugins like JW Player, for frameworks like JQuery or Prototype, and it allows you to style the controls for HTML5 video. It does the following things in order. Check for HTML video support Get all the video containers on the page <div class='video'> Gets every single instance and create a <video> tag, and a play and mute button. It should get and create all video elements, and turn off native controls. Make sure the play pause button toggles. Make sure the mute button toggles. Add custom controls to the video controllder Initalise function on page load. You can use CSS3 to style the <video> if you wish. Javascript is for hackers. It's coding on another level, and I don't mean that by saying it's hard. The javascript syntax (code) looks just like C, php, ruby and every other code.

Adisa Nicholson

Hey if you want him to start him coding then do check out this  Code.Org-http://Code.org  . Its easy and intuitive to try out things for kids. * Had tried Code.org with my previous boss niece and he was loving it.

Basavaraj Hampali

Related Q & A:

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.