When I first began my undergraduate work in education, I was sure I wanted to be a first grade teacher. They are so cute and sweet! Later, I decided I wanted to be a secondary math teacher. Math is so FUN- I want to bring it to life for students who may not see themselves as mathematicians. Never along the way did I see myself as a coding teacher; in fact, if you'd told me ten years ago that I'd end up here, I'd have thought you were crazy. To me, coding was completely foreign. Computer science was something studied by people who were interested in designing websites (or something). Coding was beyond my scope of reality because I had never been exposed to it.
Through some valuable opportunities at various points in my career, I began to learn about and practice some coding on my own. Coding is relevant, cross-curricular, and fun, so I became passionate about bringing it into my classroom. Now, I am a coding specialist at an elementary school, helping to expose K-5 students to the world of coding and computer science.
Coding is for everyone, but it's our job to provide students opportunities to try it out! Some schools do have specific coding specialist positions, yet many don't. While coding itself is rich in educational gems, it also lends itself to valuable skills like persistence, problem solving, communication, and teamwork, thus making it an exceptionally valuable tool in any classroom. Here are some resources around integrating coding into your classroom (without busting your "time bank"):
Perhaps now one of the most well-known coding resources for students of all ages, Code.org is a completely free resource for learning about coding. Whether you have a pre-reader learning about sequencing with bold arrows or a middle school student learning to create an app in the "App Lab," Code.org has something for everyone. It is quick and easy to create classes and associated accounts, and lessons are provided for teachers. There are a variety of lessons that appeal to the diverse interests of our students, and students can work at a teacher- or self-guided pace.
One feature that I love is the ability to assign "partner coding" to students. As students sign into a class, they can select the option to code with a partner, and students are taught about the roles of "driver" and "passenger" in the assignment. Watching students navigate the complexities of taking turns with the mouse and cooperating effectively is especially interesting. Just as will students have to work together in teams or partnerships later in life, they must figure out how to share their thoughts and ideas in a direct but collaborative way.
Scratch is a coding platform which allows users to create stories, games, and animations using colored blocks. While Scratch itself is generally less structured than code.org, it also allows users a great deal more freedom when it comes to creating projects. There are also tons of resources online for educators to use, from lesson plans to "project cards" which guide students through suggesting coding tasks.
I find Scratch to be a great tool for cross-curricular integration. Because it allows users the freedom to create, students can code part of a narrative from a writing lesson, or can code a prediction of what might happen in a science experiment. Though the actual program may be only a few seconds long, the act of thinking critically about a subject and bringing it to life via coding has the potential to be especially powerful.
Scratch also has a place for educators, called Scratch in Practice. Here, teachers can find ideas and strategies for using Scratch in their classrooms. With lots of support, Scratch makes teaching coding exciting and approachable for all teachers.
Also worth mentioning is Scratch Jr., a version of Scratch tailored to younger learners (specifically ages 5-7). Scratch Jr is an app that allow students to create stories and animations using colored blocks designed for pre-readers. It also has guided, standards-based lesson plans that walk educators through all of the app's offerings. The lesson plans even include videos to help teachers make sure that they feel confident in their coding instruction.
I use Scratch Jr. with kindergarten and first grade students, and they love coding their own creations. We have used the app to teach one another algorithms (like brushing our teeth), to visually represent math problems, and to discuss social challenges and solutions.
Another great resource for younger students is an app called CodeSpark. It does show up as a paid app, but it is completely free for educators with an education account. This app allows students to complete puzzles, create games and stories, or explore other coding topics (like Booleans) in fun, approachable ways. The actual activities are free of words, so readers and non-readers alike find the activities exciting and engaging.
In CodeSpark, a teacher can create a class and then allow or deny access to various corners of the app. CodeSpark provides full lesson plans that can be coordinated with the unlocking of puzzles or activities, or a teacher can give students the full reign of the app. The teacher portal is easy to use and allows the teacher to watch student progress within the activities.
I have had the most student excitement around this app, which fits the interests of many different learners. Several parents have e-mailed me asking how their students can use this at home... which is a definite win in my book.
Coding is a critical skill for today's students that will open up doors of opportunity (even for students who don't choose to pursue a computer science or programming path). What are some resources that you've tried or loved- for students or for teachers? How might you dip your toes into the world of coding in your classroom?
- computer science
- middle school
- problem solving