Thursday, March 20, 2014

Teaching Programming Languages in Education

Last year, the UK announced the redesign of their educational curriculum that requires all students to learn computer programming in school from the ages of five through sixteen. Since then, there has been a great surge across the nation to incorporate and highlight programming courses in educational organizations. Historically, programming courses have been in existence for some time now, mostly on the secondary level, but were always thought to be elective courses for a select few whose interests were in high tech careers where programming was an essential element. No need to learn how to code unless your career target was that of a programmer in the back of the office, isolated from the crowd! 

This concept has changed dramatically with the understanding that students now need problem solving, critical thinking, communication, collaboration, creativity and analytical skills to be effective members of a global society. The ISTE standards clearly indicate that students should acquire the "4Cs" (communication, critical thinking, creativity, communication/collaboration) to perform better in all disciplines. Technology has changed the way in which we teach and learn, and having these skills allows students to become more engaged in a student-centered, differentiated environment where learning is more personal and meaningful to the world around them. Here are some favorite apps/sites that promote programming skills at each level:

Elementary Programming Apps and Resources:

Daisy the Dinosaur (free)
Move the Turtle (iPhone/iPad, $2.99)
Hopscotch (iPad, free)
Scratch (web, free)
Stencyl (Windows, MAC, Linux, free)
Dynamic ART ($2.99)
Kodable (free)
A.L.E.X. (free)

Middle School/High School Resources

App Inventor: (web, free) Hosted by MIT, App Inventor is similar to Scratch with drag and drop coding blocks.

Alice:
(Windows, MAC, Linux, free) Carnegie Melon's desktop app uses a 3D programming environment to teach programming. Needs Java runtime to run, but great for kids to see the code behind the scenes.


Pluralsight: (web, free) Online training site that offers three video courses for kids. Videos include training in C#, Visual Basic, Scratch, and App Inventor.

Codeacademy and Khan Academy: (web, free) Interactive online tools to learn coding. Codeacademy teaches web fundamentals, jQuery, JavaScript, Python, Ruby, PHP and more. Khan Acadmey's coding uses JavaScript.


Hour of Code
Khan Academy created a site for teaching the "Hour of Code" in the classroom

1 comment:

Anonymous said...

Thanks for the shout out! We agree that programming can be a great way to foster the 4C’s. It is important to communicate that learning to code does not just teach children a useful skill, but can help them in multiple discliplines.