(Computational thinking = critical thinking skills + power of computing)
Learning to Program
Computational thinking is now considered a critical digital skill for everyone. Learn more from the video or on the ISTE website at http://www.iste.org/learn/computational-thinking.aspx
Learning to program is one way to acquire computational thinking skills ....
... and it is fun !
How do I start learning programming?
What is the best language to learn first?
Based on my experience teaching programming over the last 3+ years to approximately 1500 students, either Scratch or Logo is a great starting place. Scratch has a visual drag and drop interface and is much like putting Lego blocks together. It also provides a rich set of graphics and sounds to create projects like games quickly. Here is a simple introduction to Scratch that creates a pattern using programming. The new version of Scratch 2.0 will be Flash based and will work directly from the browser, no downloads needed. It has many cool new features including 'make your own blocks', video motion sensing, cloning, and cloud variables. It is scheduled to be released sometime later in 2012.
My students also enjoyed the experience of typing in code and the flexibility of Logo. We used ACSLogo in the classroom, this is a good Logo version for the Mac. Other versions of Logo are available on the Logo Foundations site
What do I do after Scratch and Logo?
There are several languages that are a possible next step after using Scratch or Logo.
Currently there is much excitement and venture capital being spent in teaching people to program.
One good language to learn is Processing (an extension of Java). It is the best example of combining technology and art. The programs, called 'sketches' can be used to create some very cool visual effects and more. My students have learned Processing using on the Khan Academy CS platform. See class demos and more on my Processing page.
Since Python is now a popular language, there are several free resources to learn Python. Here are some possibilities
Online, Interactive Tutorials for Python
Also available as a print book from Amazon