Programming, Software Development, Computational Thinking or Coding
No matter the terminology used, right now educators worldwide are attempting to integrate new ways of thinking into the curriculum. This is no easy task, as timetable pressures, teacher training concerns and equipment funding shortages all make introducing a complex subject all the more difficult.
Instead of seeing Computational Thinking as a problem subject to be integrated, it is regretful that we can’t embrace it as an opportunity to change how we view many projects. Rather than a dry exploration of syntax and logic, Computational Thinking skills could enable students to build interactive narratives to teach literature and language skills, games to assess maths and spelling and unleash the digital creativity skills we desire in our graduates. A student versed in coding has better design skills than a student who only consumes information, better development skills than a student who never attempts to build anything, and better debugging skills than a student who has never had to fix a broken program.
In essence, we must continue teaching the 3 Rs, reading, writing and arithmetic, but also consider teaching the 3 Ds: Design, Develop and Debug. This is not without its challenges, namely what do we teach and how do we teach it? Before suggesting some of the tools that we use to promulgate Computational Thinking, let us preface it with the fact that these are mostly Microsoft technologies. Writing as the Microsoft Ireland Academic Team, this will not be a surprise to you, but please note they are also free technologies and you do not have to pay to enjoy and use them in the classroom.
Probably the most popular programming language for teaching younger students is Scratch from MIT. A block based language that eschews typing complex syntax structures in favour of a Lego-esque design, Scratch is loved by students aged 7 to 77. For students that have reached a high level of competency in Scratch, Kinect for Windows can be added to the mix. The Kinect is a special camera that can track the human body in 3D space. We developed free software called Kinect2Scratch that enables Kinect games and fitness programs to be developed in Scratch with ease.
For students who want to explore more complex computer science concepts, TouchDevelop is a simple but powerful programming language that avoids typing errors by allowing users choose commands from a palette of contextually aware commands. It works best on a touch screen tablet or laptop, and is compatible with virtually all tablet OS, including iOS, Android & Windows. It can also run on traditional laptops and PCs with a keyboard and mouse, but really excels when used on a touch screen. It is free and available from www.TouchDevelop.com.
Finally, if students enjoy Minecraft and learning through creative world building, introduce them to programming through Project Spark. A beautiful rendering interactive game creation tool, Project Spark hides a deep and powerful Computational Thinking environment under the guise of a game creation and playing tool. Available free on Xbox One and Windows 8, download it from the Windows Store to start building and learning. We developed a free course for all Project Spark learners.