Teaching computer science without (much) coding
A little more than five years ago, I volunteered to go to a professional development session and become one of my school’s computer science teachers. I didn’t know much about computers at the time, but our state was introducing computer science requirements and standards. I was a science teacher, and computer science was being introduced underneath the science umbrella, so it made sense — and someone had to do it, after all.
When I began the professional development, I felt overwhelmed and nervous that I wouldn’t be able to help my students learn this material. We didn’t even have computers when I was in school! When I was in college, we had a computer lab, but it was only used for word processing.
But today, computer science is one of my favorite subjects to teach. Part of it was simply recognizing that programming is a very logical process, which appeals to the science teacher in me. The other part of it was realizing that so much of computer science is not programming. It includes programming and coding, sure, but teaching computer science also requires helping students understand how the internet works, the basics of copyright law, how to collaborate and so much more.
Here are a few tips that helped me feel like I was teaching something familiar while helping my students prepare for an even more connected future.
1. Check your state standards
In Indiana, we have our own computer science state standards. Your state may have its own standards, or it may use the Next Generation Science Standards, those created by the International Society for Technology in Education or something else entirely. When you dig into the standards, you will likely find that most of them are about anything you can think of except coding.
A few examples from the Indiana standards include: “Students create an understanding of computer science and explore how it impacts their lives,” “Students describe the types of data and how they’re created and stored using computers,” “Students analyze computer devices and other technologies to build an understanding of their impact on society and how to use them appropriately,” “Students will be able to understand the laws and ethical implications of privacy security and intellectual property” and “Students will investigate various careers within the field of computer science.”
Perhaps some of those standards are a little intimidating at first glance, but helping students understand how computers have affected society or the privacy and security implications of their decisions online felt like something I could do from day one. Teachers help students place all kinds of knowledge and practice within larger contexts in other subjects, so helping them do the same with computer science should be familiar to most of us.
2. Computer science is a tool — let your students build with it
I started teaching computer science at the beginning of the pandemic by using Codelicious since it provided purely digital lessons for students, including building websites, digital citizenship and STEM careers. This program fit the needs of students because the physical sharing of components like microprocessors was not permitted.
One of my students immediately started running with the website assignment. She was adding music and videos to her website, which was not something I’d taught any of them to do. It turned out she had looked up how to add things in Replit.com, the coding environment we were using, on her own time. It wasn’t something I required or even suggested.
This student was just so excited about doing the project she was working on that she felt driven to extend her own learning outside of the classroom and beyond what was expected of her.
Similarly, I had some students who had been given the assignment to create a PowerPoint presentation for their social studies class project. They asked me if they could make a website instead of PowerPoint, and with the permission of their social studies teacher, that’s exactly what they did.
Once students have the ability to create the basics, they will rush to the lead and eagerly begin digging up whatever they need to bring their vision to life. They will learn plenty on their own, and there’s a good chance you’ll be impressed with how far they’ll take whatever you teach them.
3. Pay attention to the social skills and context
There are numerous lessons on social-emotional learning baked into computer science, as well as a lot of related periphery knowledge.
Every coding project starts with problem-solving. Students have to look at the larger picture of what they want to accomplish. They have to break it down into smaller pieces and tackle each step in a logical order. Students need to create a plan before they enter a single line of code.
As the project progresses, many new questions may arise, depending on what the students are trying to accomplish and the techniques they want to use. How does the internet work? How will the website they are creating show images on the other side of the world? Can they use this picture, this video or this bit of music that they found online, or is it copyright-protected?
When teaching computer science in middle school, you may find students need to learn online basics, like what can happen if you share your password with someone, or what identifying information is and why they shouldn’t share it, or that they shouldn’t click just anything a stranger sends. (And, yes, advertisers are also strangers.)
As a computer science teacher, it’s certainly a good idea to learn the basics of coding so that you can be a helpful guide. But your students don’t need you to be an expert in JavaScript or to have an encyclopedic knowledge of HTML. They need you to help them understand why computer science is important, what it can help them do in the world and how to stay safe. Once they have that, they just need you to get out of the way and be ready to help them find answers to their questions.
Source:https://corp.smartbrief.com/original/2022/10/teaching-computer-science?utm_term=AEE6C64D-A551-4448-AC86-73E9EA97DDFE&utm_content=0FDF52C3-1B63-4BF5-9F93-2CC268ED5790&utm_source=brief