What is Coding?
Although code can have a number of different meanings, we use this term to refer to programming languages that provide instructions to computer software, programmable robots, electronics kits, and more!
Humans and other living beings use rich, complex languages to communicate with one another, but computers and other electronics are composed of semiconductor devices called transistors that only understand two types of input – on and off. These states are represented by Binary code, which uses 0 to represent a transistor turning off and 1 to represent a transistor turning on. However, since most of our modern devices have billions of transistors, Binary is no longer the most efficient way to code. Instead, we use programming (or coding) languages to simplify the process. There are many different coding languages used for different purposes, but each language provides an easier way for us to communicate instructions to a computer or electronic device.
Getting Started with Coding
There are traditionally two different types of code: block-based coding, and text-based coding. Although text-based programming languages are the industry standard, block-based coding is highly recommended for people who are just learning to code (and most offer a bridge to text-based coding). Block coding platforms are highly visual and tangible, requiring users to drag-and-drop “blocks” of code into the editor before executing their completed code.
These types of games can be useful for introducing or reinforcing coding concepts throughout various stages of development. While most of these games encourage computational thinking (a key element of learning to code), some further introduce students to coding elements like loops, decision trees, and so on.
- Lightbot has a similar premise to Kodable, encouraging users to solve increasingly difficult puzzles with drag-and-drop instructions. While the interface does not look like a block-coding platform, the principles are very similar. Users arrange instructions (such as “forward”, “turn left”, “jump”, and “light”) into an order that Lightbot can understand and follow to complete each level. This game also introduces users to intermediate coding concepts including loops and functions. To read more about how Lightbot helps students develop authentic programming capabilities, click here.
Block-Based Coding Platforms
Scratch (by MIT) is a block-based programming language and online community where students can learn how to code and share their interactive stories, animations, and games with people around the world.
By far the world’s most popular block-coding platform, Scratch’s mission is to “support approaches to coding that engage young people in thinking creatively, reasoning systematically, and working collaboratively — essential skills for everyone in today’s society”. While Scratch is available in web-based and standalone software formats, Scratch Junior (targeted at students between 5 & 7 years old with even simpler block codes) is available as an Apple, Android, or Chrome app. There are also countless educator resources available for teaching with Scratch, such as the Scratch for Educators page and Harvard’s ScratchED website. To read more about Scratch, please see our Related Resources at the bottom of this page.
STEAM-3D Maker Lab interns Natasha-Mahvash Datoo and Ateesia Crooke compiled a curriculum and activity guide for educators looking to get started with Scratch and Scratch Junior. Click here to download a copy for yourself!
MakeCode (by Microsoft) is another popular block-coding resource. Offering platforms that are compatible with a variety of electronics and games (such as BBC’s micro:bit, Chibitronics’ Chibi Chip, and Minecraft), MakeCode features a familiar block-coding interface and a visual simulations window for executing and testing completed code.
Although you can log in to MakeCode with your standard Microsoft account, coding projects save in your browser – no login required! We always recommend logging in where possible so that code can be saved for access on other devices. Like Scratch, there are also various educator resources available for MakeCode, such as the MakeCode Educators page and the recently-released micro:bit Classroom demo where students’ work can be consolidated (and educators can provide “stub” code for students to start from).
Learning Benefits of Coding
Coding enables students to:
- Formulate a problem as they determine how to use the block elements in various coding platforms to construct their story – creating plot, setting, sequencing, and perspective.
- Logically organize and analyze data by creating blocks of code to create and design settings.
- Represent the data (story content) through the movement of sprites (digital characters).
- Use algorithmic thinking as they create code to make sprites move and communicate.
- Identify, analyze, and implement solutions in the ordered steps they created to make the program work as they envision.
- Transfer this problem-solving process to other situations as they tackle more complex coding challenges online and elsewhere in their lives.
Want to bring coding into your classroom but not sure where to start? Check out our list of Ontario curriculum connections for some explicit ideas!
Affordances of Scratch
- Scratch is used in over 150 countries and is available in over 40 languages. This is great for teachers that are working with bilingual or ESL students!
- Scratch can be used across the various Canadian curricula.
- Scratch is that it is a free program, so people can access and utilize scratch for both personal and academic use.
- The stronger your knowledge base on Scratch, the more effective your STEAM integration.
- Scratch advanced users would benefit from engaging in an active online community which would, in turn, lead to an improvement in their social and academic prowess.
- There are many online tutorials accessible for teachers and students.
Challenges of Scratch
- Scratch cannot be used on mobile devices.
- Users require training to effectively use Scratch’s advanced features. This issue extends to both the teacher and student.
- Students with lower attention spans may be frustrated by the absence of immediate feedback.
- Despite having no inherent cost, Scratch is expensive for classrooms as each student require their own device for usage.
- Scratch is not accessible to those with certain physical impairments.
Digital storytelling involves combining digital media (images, voice narration, music, text, or motion) to tell a story. Over the past few years, digital storytelling has become an increasingly popular and effective way for students to meet a range of learning goals in the classroom.
- Create short stories related to a piece of literature.
- Create and/or illustrate a math problem.
- Research and report about a career.
- Research and report about a historic figure, scientist.
- Illustrate a current event.
- Game-based approach to learning.
- Help students to learn through projects.
- Integrate STEM with language arts, social studies, visual arts, computer science and foreign languages.
Scratchers can create autobiographies, family histories, vacation journals, fantasies, and fairy tales that give a new voice to their interests and talents that traditional writing and publishing may not able to provide.
Thus, Scratch can act as an amazing digital storytelling tool.