Kids and Programming

I have recently signed up to be a volunteer teacher at http://www.tealsk12.org/.  I have been interested in teaching kids programming for some time now.  Finally, a few weeks back my oldest son Noah showed interest in learning computer programming as well  I was so excited at that news!  I did some research and found a few sites that offer courses for children.  I went through this PluralSight course with him.  Overall, I did not think I was impressed with it.  I felt that a lot of key and hard to understand concepts, such as variables and even math, were rushed through.  I think the main reason I did not like it was the shortness of the course.  It needed to be much longer I feel, even for a starting course.  I also looked at the following sites:

The main reason I looked at the last two was the fact that I feel kids should start learning with web development.  I feel that web development languages (HTML, CSS, JavaScript) are universal.  They run everywhere on all devices, and I feel the future of business software is the web applications development.  The reason I feel that this fact is important is because it directly translates into money.  Money is the concept that a 14 year old can easily relate two.  W3Schools actually got bad reviews as http://www.w3fools.com , but I think some complaints such as browser compatibility indicators got addressed.  I found simple concepts explained at w3schools quite well.  I used them to develop a small starting plan for the lessons for my son Noah.  So far, I have done six 30 minute lessons with him.  The concepts I have covered thus far in the first 6 lessons

  1. HTML tags, only taling about <h1-6>, <p>, <button>,<label>
  2. Basic CSS, background-color and color, and four main ways to use CSS – in-line or style attribute, tag type, element id and class attribute on elements.
  3. Basic input, <input>
  4. Basic JavaScript, function definition, calling functions from buttons
  5. JavaScript variables
  6. JavaScript variables, math, getting elements via document.getElementById()

In addition, we did a couple of review lessons, not introducing any new concepts.  In each subsequent lesson I reinforce previous lessons by asking Noah use the concepts covered in homework assignments.  After each lesson we create a homework assignment.  Each assignment takes maybe 15 minutes.  I ask Noah to do each one a few times, until he is comfortable doing it without looking at the previous lesson.  I am trying to keep lessons interactive, keeping Noah at the keyboard 90% of the time.  As far as tooling goes, we just use http://jsfiddle.net.  To get totally immersed in the languages, we create homework as html pages as well, defining the homework target inside <p> tag, and putting homework into the same fiddle.

I am planning to continue the lessons once his and mine vacations are over.  I am also planning to switch to Visual Studio as the editor pretty soon, just not quite yet.  I think jsfiddle offers a clean learning environment that is available from any computer.  I will try to post more on the subject as time goes on.

If you are interested in teaching kids programming, sign up at http://www.tealsk12.org/.  You can make a difference in kids’ lives.

Thanks.

Leave a Reply

Your email address will not be published. Required fields are marked *