It seems that teachers are expected to have a wealth of knowledge about everything under the sun. Even as the world changes, they keep adding the new learning to the old content so that students will benefit.
Coding is a vital skill and there are so many ways it enriches the classroom. However, many teachers feel completely inadequate to teach coding because they have never been taught to code.
That’s ok. Coding isn’t about knowing how to code. It’s about knowing how to problem solve and we already know that’s where teachers excel. Come learn some of the ways you can teach coding without being able to code.
What is Coding?
Coding is telling a computer what to do. It’s basically writing a set of instructions for a computer to follow in a language the computer understands. There are thousands of coding languages and you definitely would not be expected to know and understand them all.
My First Coding Experience
If you grew up in the 80s (not judging anyone’s age) you might remember a very simple computer program where you entered a whole bunch of instructions to try to get a triangle to draw a line on a screen. The program was called Logo and it was actually designed in 1967. I remember when my school got its first computer in 1983. Each class got to use the one computer for about one week per school year. We would spend about thirty minutes on the computer with a partner trying to get that stupid little triangle (called a turtle) to do something. We were all pretty annoyed when Brian Dabbler (name hidden to protect his identity) managed to get that thing to draw a star and then wouldn’t tell anyone how to do it.
I didn’t realize it at the time, but this was my introduction to coding. I also didn’t realize that my teacher didn’t have a clue how to turn the computer on. It didn’t stop me trying to figure it out for myself. Your students don’t need to know what you do or do not know about coding.
Focus on the Problem-Solving
There is nothing wrong with handing students a program or robot and saying, “Can you figure it out?” I almost guarantee they will. Students today are not afraid to face technological challenges and come with a skill set most of us older teachers had to acquire in our adult lives.
Allow students to explore, make mistakes and teach you what they are learning. Creating open-ended challenges allows students to move at their own pace. If students don’t know how to do something, ask students to teach each other. Create an atmosphere of collaboration. When you teach coding through exploration, students are highly engaged. It is not fun to watch someone else code (just ask any of my classmates watching Brian make that stupid star).
Unplugged Coding Activities
Unplugged coding activities are ones that don’t actually need a computer to be completed. While it might seem useless, there’s actually a lot of value in unplugged coding. That being said, the engagement is always higher when students get to see tangible results from a robot.
Explicitly Teach Coding
When we started writing new resources for the Alberta science curriculum, we were confused by the terminology of “computer science.” We noticed none of the activities required computers. What we’ve come to learn, is that it’s more like computational thinking. Since the point of coding is to design algorithms, it doesn’t matter if that is done on a computer or not.
We wrote a computer science resource for each of the grades we teach. The focus is on unplugged coding activities (but there are lots of opportunities to take it onto a computer).
Design Thinking Grade 4 Computer Science focuses on the process of creating and designing algorithms. Students learn the Design Process and will be able to use it throughout their schooling. Find it on TpT ($USD) or our BN Shop ($CAN).
Computer Languages Grade 5 Computer Science teaches the purpose of computer languages. It focuses on visual block-based coding, but explains some of the basic structures used. Find it on TpT ($USD) or our BN Shop ($CAN).
Abstractions and Coding Grade 6 Computer Science teaches how to streamline instructions for efficiency. It focuses on visual block-based coding. Students learn the different structures that are used in all computer languages. Find it on TpT ($USD) or our BN Shop ($CAN).
If you are an Alberta science teacher, we have resources to help you.
Play With Codes
Algorithm Sequencing
Introduce students to algorithms by having them write step-by-step instructions for everyday tasks. For example, students can write algorithms for brushing their teeth or solving a simple math problem. Emphasize the importance of clear and precise instructions in coding.
Binary Code Challenges
Teach students about binary code by providing binary code charts and challenging them to decode and encode messages using binary digits (0s and 1s). Students can practice converting between binary and decimal numbers and explore how computers use binary code to represent data.
Flowchart Design
Have students create flowcharts to plan and visualize the steps involved in completing a task or solving a problem. Encourage students to use symbols such as rectangles (for processes), diamonds (for decisions), and arrows (for flow of control) to represent the sequence of actions in their algorithms.
Code Writing
Use Morse code or have students create their own code puzzles for classmates to solve.
Practice Problem Solving
Logic puzzles are a great way to teach students to look for information and solve puzzles. Get this free logic puzzle when you sign up to our email list. If you’re already on the list, you can find it in our Resource Library.
Coding Sites and Programs
There are several sites that are dedicated to education in coding. Many of these have free educational accounts, but increasingly more are becoming paid versions. At the time of writing, we have included free sites, but it’s possible their policies have changed over time.
This is just a starting list. We know there are so many different coding websites, but we will have to write a second post with the more advanced options.
Micro.bit
Micro.bit is an educational coding site to use Microbits. These are little plates with LED lights which students can program. Newer versions have sound and a variety of other abilities. Students use visual block-based coding to give the bit instructions.
One benefit to this site is that the coding is done separately from the device. Students can write their code on a laptop (it requires a USB to download the code to the device) and then test it on the device. If you have a limited number of bits, you can still have students code because they don’t need their own bit for the entire time.
The site is full of projects that your students can both attempt or learn from and there are lots of tutorials. Hint: That means they can work more independently. This site also doesn’t allow user uploads, so you don’t have to monitor student activity as closely.
The bits are relatively inexpensive compared to other coding tools (but they are less expensive the more you purchase).
Scratch and Scratch Jr.
Today’s version of Logo, is Scratch. Scratch uses visual block-based coding so students can manipulate a sprite (a character). Fortunately, the sprite can do much more than draw a line. Better yet, it uses English prompts as building blocks. Each block is a command. Students just need to stack the blocks to control the sprite. If the sprite doesn’t do what they want to or expect, they can change the blocks around easily. Best of all, they don’t need to write any code. Scratch does all that behind the scenes. Students who want to learn the code can switch to see a screen that shows it off.
Scratch is done on a web-based platform and it is easiest on a laptop. Since there is a wide variety of users, it is important to watch what students are doing while on the site. They need to be logged into their account for any of their projects to save. You will need to remind them constantly to save because it’s not automatic.
Scratch Jr is designed for younger students. It uses tablets and has fewer tools. It’s also a good place to start with an introduction, but it’s a bit too young for upper elementary students.
Scratch doesn’t require any other coding tools.
Ozobots
The first time I saw Ozobots, I wanted one. In fact, I have a little collection and they have clothes. That being said, for the cost-to-learning ratio, try borrowing these instead of purchasing your own.
Oxobots are little robots that follow lines drawn on paper in a modified version of blocky code. The colour and type of line provides the instructions for the Ozobots, so students do not need to write any coding languages. Each colour represents a different action. Newer models are starting to have new abilities including the Ozobot crawlers which are more like robots.
Ozobots are a great introduction to coding and are great for younger students. The Ozobots website is full of lesson plans, tutorials and ideas for out-of-the-box ways to use Ozobots. It is definitely worth a look before making a decision.
Code.org
Code.org is an educational website focused on introducing coding to students. Teachers can create accounts for students so they can save their progress as they work through the lessons, so you can just use the tools for demonstrations.
This does have a cute theme and the students loved the activities until they got good. It’s a great introduction, but upper elementary students may need something more challenging after they have the basics.
There are lots of education opportunities on the site for teachers, so if you’re looking to learn the basics, this a great place to start.
Wonder Workshop (Dash and Dot)
You may have seen the blue round robots known as Dash or Dot. These are so much fun, but they are designed for introductory coding. They are not cheap, so many schools have to limit the number of purchases. You can still code through the Wonder Workshop website, so there are still lots of ways to learn.
There are professional development opportunities and competitions, too.
Sphero
This is a fun one. Students code a ball that moves on its own. There are lots of helpful instructions and tutorials on the Sphero website.
Khan Academy
Khan Academy offers a series of interactive coding tutorials and challenges for students interested in learning computer programming. This is an actual coding course that students can use to learn coding languages beyond visual block-based coding.
CS First
CS First is developed by Google. It provides a free coding curriculum and resources for teachers interested in teaching coding through creative projects and themes. Teachers can access lesson plans, video tutorials, and coding activities covering topics such as storytelling, game design, and animation. CS First also offers professional development workshops and training materials for teachers new to coding instruction who want to teach coding.
Do You Teach Science?
We have a variety of science posts to help you out.
- How to Shock Your Students With Engaging Electricity Lessons
- How to Leverage Critical Thinking Challenges to Your Advantage
- 15 Simple Machines Activities that Will Hook Your Students
- How to Escalate Your Chemistry Experiments
- Astronomy Lessons That Are Out of This World
- Create These 5 Fantastic Devices That Move
- Foster Environmental Stewardship in the Classroom
- How to Teach Students About the Earth’s Spheres
- How to Teach Human Body Systems to Young Scientists
- Make the Best of Your Natural Resources Lessons
You’re Not Alone
Learning something new is intimidating enough, but learning along with your students can be difficult. You are not alone. Teachers everywhere are learning coding as it’s being added to school curricula around the world. If we’ve learned anything in our teaching careers, is that things come and go and teachers are always able to handle it (although we don’t condone the added workload being dropped on teachers in the form of unpaid labour. You should be paid for your professional development time and schools should be paying for any resources required to teach coding.)
And, there are now versions of that program Logo online. I finally figured out how to make the star. I hope Brian lived a productive life (because he also used to just pour glue on this hand and eat it off).
What are you using to teach coding? Let us know in the comments below.