Learning to Program
Computational thinking is now considered a critical digital skill for everyone. Learn more from the video here which is taken from the ISTE website at http://www.iste.org/learn/computational-thinking.aspx
Some other resources to explain Computational thinking
Jeannette Wing's ACM article that brought this phrase to focus
Mark Guzdial's Blog article that explains it well
Google's effort in this field and their definitions and examples
Google's online class on CT
Another resource that explains it
Computational thinking =
critical thinking skills + power of computing
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 4+ years to approximately 500 students each year, 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 Scratch 2.0 works directly in the browser, no downloads needed. It has many cool new features including 'make your own blocks', video motion sensing, cloning, and cloud variables. Some of my favorite resources for Scratch are here.
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
One great site to learn Logo without downloading software is turtleacademy.com
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
Some other places to learn and try out programming skills
Some 'older' resources - need to update and re-check this list!
Computer Science education
Bringing creativity with the arts
What is Computational thinking?