The prospect of teaching computer science is intimidating to many excellent teachers simply because they don’t have the educational background or experience they feel is needed. As with any science, there is a great deal of technical knowledge and theory to understand. Additionally, computer science has its own language, or even several languages, and that can seem like a huge barrier for teachers to overcome before they feel qualified to teach it.
Here’s a secret: You don’t need to know how to code to teach computer science! Personally, I didn’t go to school to be a teacher and had no background in computer science, yet I taught computer science successfully for several years. A volunteer position in the computer lab at my kids’ elementary school led to a challenging, full-time position teaching computer science to students in grades K-8.
Initially, I was asked to teach middle-school students to code — but the realization that made my job manageable, especially in the early days, was understanding that computer science is much more than just coding. Coding is certainly an integral part of computer science education, but there’s an equal need for students to build foundational skill sets before jumping into a programming language. I advocated for that for my middle-school students, and it became a passion.
Computer science skills are life skills
Coding shouldn’t be the first thing students learn in a computer science class. Coding requires learning a whole new language that is quite literal, so students must first learn to break down challenges into simple, discrete steps and communicate them clearly before they learn to code. (Similarly, students cannot read or write in a foreign language without first learning the basics and breaking the language down into foundational concepts, right?)
Programming is about solving complex problems, which means students also need to learn to manage their frustrations, persevere beyond failure and learn from trial and error. Before they can program, students must be able to think creatively, process steps sequentially, articulate potential solutions and work collaboratively with their peers. These are all skills that teachers have plenty of experience practicing with students!
Introductory coding platforms, like Scratch Jr and Scratch, allow students to create computer programs using a block-programming language. Students snap blocks together containing simple symbols and numbers in a drag-and-drop fashion. Teachers can focus on basic concepts and package those important social skills within programming lessons, even when neither they nor their students know any coding languages. Younger students can build programs without even knowing how to read or write.
Computer science is becoming a part of every career
The life skills that are fundamental to the practice of computer science will come in handy no matter what academic path or career goals a student has, but so will a basic understanding of how computers work and how to navigate them effectively. Whether students go into agriculture or finance or firefighting, career readiness now demands knowing how to be patient with technology, how to adapt to new platforms and how to have a growth mindset when faced with using entirely new tools. We are well aware of the rate of innovation in our world today; there’s no slowing down. That means technology and computers are an increasingly important element of any career path our students choose to follow.
A large part of K-12 computer science is exposing students to the various ways computers are used in the workforce so they can also envision themselves as computer scientists. A student who wants to work on a racing team’s pit crew, for example, might think computer science doesn’t apply to them. We encourage students to take a closer look at the pit row during any race, and they will see large tents housing multiple computers, monitors and teammates in headsets managing their safety and operations, all with technology. Computer science education is exposing your students to STEM careers so they can see that computers are everywhere and that anyone can be a computer scientist. A student may not need to learn to code in Python specifically, but they will need to be comfortable with technology in any given career and use software specific to their field.
No matter what they do in their future lives, students must not be afraid of technology, and they must learn how to be good digital citizens. It’s our responsibility to educate ourselves and young minds alike to be happy, healthy individuals in a world dominated by computers. Students will eventually be interacting with computers to do their taxes, register for college classes, renew government documents, pay bills and do many other routine tasks. A good computer science curriculum with teacher-led instruction goes beyond coding to ensure they can manage all that and more, safely and with ease.
Computer science, other curricula enrich each other
When teachers view computer science as more than coding, it also changes the perspective of who is qualified to teach it. An art teacher who excels at unleashing student creativity, an English teacher who emphasizes small iterative improvements with each draft or a shop teacher skilled at helping students draw connections between hands-on learning and the real world all have something important to offer in the world of computer science education.
The concepts behind computer science and those of other academic disciplines are mutually reinforcing. Logically solving problems step by step may be something teachers and students discuss explicitly in the computer science classroom, but it’s also something they practice every time they solve a math problem. Students tap into their creativity and ability to develop characters and storylines in a game development computer science class just as they would in a literature class. Students tackle an engineering problem in computer science class by taking their best guess at a solution, testing it and adapting it based on new information from their test — the same way they develop a hypothesis, test it and refine it when using the scientific method. The cross-curricular overlaps are everywhere; it just takes a little creativity and intentionality from the educator.
My growing interest in computer science led me to switch from being a middle-school teacher to becoming a teacher trainer for Ellipsis Education. We’ve found that many teachers who specialize in another subject have been asked to teach computer science too. It’s so inspiring to see the creative ways they implement it.
An art teacher, for example, was asked to alternate art classes with computer science classes every other week. She was teaching students about famous artists in her art class, then asked students to turn the avatars in their coding projects into their favorite artists for computer science class. Physical education teachers have paired physical dance battles in P.E. with on-screen dance battles between students’ avatars. Finally, some English teachers have students create a plot, develop characters, imagine a setting and write a story, and then have their students illustrate their story through an edtech program.
What computer science teachers need
Because computer science is more than just coding, instructors can teach it without investing in a lot of specialized equipment. Robots and technical devices are fun to play with in a computer science classroom and certainly engage students in a new way. But sometimes budgets don’t allow for these items, and that’s OK — because they aren’t necessary for quality computer science lessons.
If you have a whiteboard, you can teach computer science. If you don’t have a whiteboard, you can still teach computer science! Learning to tie one’s shoes or make a peanut butter and jelly sandwich, for example, is simply following an algorithm, which is just a set of step-by-step instructions to solve a problem or complete a task. Asking students to write or draw step-by-step instructions for these algorithms is a great computer science lesson.
When I first started teaching computer science lessons, I was placed in the cafeteria to teach without anything to write on or display. Students helped me bring in the parade of carts on days we needed laptops. But we didn’t need them for what turned out to be some of our favorite and most productive lessons: making binary bracelets with crayons, markers and paper, and having students collaborate using the engineering design process to create a structure with tape, paper and popsicle sticks. A little planning, creativity and resourcefulness can go a long way when teaching computer science concepts.
No end of resources for educators
Educators are typically lifelong learners, so, of course, those who are asked to teach computer science lessons will undoubtedly want to learn more about it. Fortunately, there is an abundance of resources available for supporting and advancing one’s own education. Explore educational communities (such as the Computer Science Teachers Association, ISTE and the Replit community). Subscribe to relevant newsletters and blogs. Listen to podcasts. Or sign up for free coding courses, such as those offered by W3Schools, or certifications. YouTube is another great resource for finding computer science content to provide some structure and initial exposure to coding.
I also used the free Code.org program to get me through a full year of teaching computer science. It definitely has a special place in my heart as well as the classroom. Code.org allows students to work through coding projects more independently on their computers, which, for some nervous teachers, may seem appealing. However, I saw firsthand that students need more after that initial exposure and greatly benefit from teacher-led instruction when it comes to computer science. Students need a holistic curriculum that provides more context around coding, that explores STEM careers and that equips them with the life skills they need to be successful. Students must understand the social ramifications of technology, and how to be safe, conscientious citizens in our digital world. They can’t do that on their own.
I experienced the anxiety that most teachers feel if they’re asked to teach computer science, and I don’t have the education or background in the field. It is undoubtedly a challenge, but it is doable without any prior coding experience. Reframing this new discipline as an opportunity to demonstrate lifelong learning and to develop a growth mindset can go a long way.
The anxiety teachers feel about computer science is usually about coding, so if that’s a deal-breaker for a teacher, then administrators and peers should encourage them to just dive in and learn a programming language. There are many free resources to learn coding languages. But here’s another secret: All programming languages are grounded in some common fundamental concepts, so learning one will provide universal insight into the rest.
Computer science teachers don’t need to know how to code and can have fun learning alongside their students. But if using these resources first can help you face that fear and head into the world of computer science lessons with more confidence and enthusiasm, then it’s an excellent first step!
Everyone can be a computer scientist, and anyone can teach computer science — that includes you!
Opinions expressed by SmartBrief contributors are their own.