codeOne of the beauties of teaching in the 21st century is the full range of possibilities that are laid out for our children.  They are not constrained by the traditional ties of paper and pencil.  If they can dream it, not only can they design it, they can also build it.  With advances in technology, it’s now possible for students to create their own code to build any program, idea or resource they desire.  And with the proliferation of devices, our children are quite literally designed to code their future.


How can we capture this exciting possibility for teaching and learning?  First and foremost, we must provide opportunities for students to build their understandings of problem-solving, perseverance, and experimentation to foster a love of curiosity.  Additionally, we can engage our students in more meaningful work by highlighting the true craft and art of coding a new design.  It’s one thing to code just because you can – many countries (like India, Singapore, and China) have a generation of students who are good at coding. But it’s another thing to code because you love what it can create.  This is true art.


The benefits to providing opportunities to build new solutions and possibilities through coding also allow for the personalized learning experiences that our children crave.  Because writing a code provides students with infinite possibilities, no two student projects need to look the same.  Students can share their own perspectives, strengths and weaknesses which can be compared to their own previous work, rather than to another student’s.  And as educators, we have the opportunity to truly facilitate learning in and through the design process in which our students participate.  This is what STEAM is all about: weaving science, technology, engineering, the arts and mathematics together seamlessly to provide an integrated and innovative learning experience.


Here’s a few ways that we can tap into the potential benefits of coding for all students that truly connect through the STEAM philosophy:

1. Process over Product.  It’s critical to understand the “why” behind the math, science and design before attempting to code itself.  Without this crucial context, coding just becomes a series of entries based on “plug-in” applications.  Think fill-in-the-blanks.  Focusing on the process gives students the freedom to experiment with a variety of different solutions to create something new in its entirety, rather than just a few new actions in the same product.


2. Foster Curiosity.  Leave materials out and encourage students to play with them.  Ask them what would happen if you added a new clue to a riddle.  Provide “if this, then what” questions and encourage students to debate.  Build a culture of creativity and curiosity to discover a new solution or reality in their world.


3. Teamwork Wins.  Creativity doesn’t thrive on its own.  It requires feeding and nothing does that better than working collaboratively with others’ ideas.  Encourage teamwork in coding design through having a “coding station” on the class laptop or computer device. Use a grade-level appropriate app (like Hopscotch for young students and Scratch for middle schoolers) to help facilitate the program design for the team’s vision.


Coding truly is an art and can be approached in the same ways that we teach our students to play an instrument or create a piece of pottery.  All they need is a great question and a spark of curiosity to create a new work the world has never seen – in code.