Saturday, November 9, 2024

How I Use Codecademy to Teach High School Computer Science

Learning to code so that you can land a job in tech can feel daunting. That’s why we’re sharing inspiring stories from Codecademy’s community — to show how people like you (yes, you!) can embark on a learning journey and end up with a totally new career. We hope these stories serve as a reminder that there’s no single path to a more fulfilling work life. 

Today’s story is from Tobin Shields, a High School Computer Science Teacher and Cybersecurity/IT Professor, living in Portland, Oregon. Heads up for teachers: We’ve partnered with Clever to give free Pro memberships to over 200,000 students K-12 in the U.S. Read more stories from Codecademy learners here — and be sure to share your story here. 

Why I chose to learn to code 

“During college, I was always really interested in technology. I did a whole bunch of graphic design training and got into web design. At the time, web design was a huge way to apply graphic design concepts. Everyone was needing a website then. So, I picked up the basics of HTML, CSS, and JavaScript.  

I wanted to be a high school English teacher. The school where I was doing my student teaching had a computer science teacher position open that apparently no one was applying for. I was one of two people who applied for the job, and the other person didn’t show up for the interview. I got the job and then slowly began to pick up more skills. I had the web design background, but I had to really go through and self-teach myself and jump in. 

Around the time that Codecademy launched, not only was I looking for ways for my students to have a great platform to learn on, but I also ended up learning three or four languages on the site myself. I fell in love with technology and particularly the IT side of things. Although I do a lot of programming and teach programming courses, I decided to go back and get a master’s in cybersecurity. 

Learn something new for free

Even though I was working on some of the coolest stuff at the college level, I preferred working with young people and getting them excited about STEM, computer science, and computational thinking. I decided to return to teaching high school because I could focus not only on teaching tech skills but also on getting students super pumped about these subjects. I wanted to inspire them to pursue these fields post-high school.” 

Did you know educators can get 50% off Pro or Plus memberships? Verify you’re a teacher, faculty, or staff at an accredited educational institution to access the discount. 

How I discovered Codecademy 

“I did a Google search, like, ‘learn code online interactively’ or ‘learn HTML.’ When I was originally looking for solutions for teaching programming, I found many resources that required reading a lot of text, maybe using a sandbox for coding, or bringing up your own text editor to follow along loosely. There was no validation, no feedback, and no way for me as a teacher to know if my students were even reading the material. 

What drew me to Codecademy was the interactivity. It felt like students could make meaningful progress on their own. As a teacher, it’s nice to have a record of their progress, but what really drew me in was that at the end of each exercise, I received validation that I was moving in the right direction or was told if I made a mistake. This is invaluable because, as a teacher, you don’t get many opportunities for immediate feedback. 

In a typical classroom, you don’t really know how a student is doing until you start collecting their work. That could be a few lessons in, and by the time you grade their work, you’re weeks into the material. With Codecademy, I can say, ‘Hey, I just did a demo on Python variables. Now go to Codecademy to lock that in.’ I can go around and work with students one-on-one, see who is making progress quickly and who isn’t, and offer help immediately. It’s like the ideal learning assessment for a teacher. It’s individualized learning with clear, understandable metrics for both students and teachers. 

Additionally, the fact that Codecademy works well with Chromebooks and is entirely web-based is crucial. Many people don’t realize that high schools predominantly use Google Suite and Chromebooks. Because of this, I almost can’t even consider platforms that don’t work smoothly on a Chromebook. It’s critical that students can use the tools at home, on their own devices.”  

Want free Codecademy Pro memberships for your high school class? We’ve partnered with Clever to give free Pro memberships to high school classes in the U.S. Teachers can sign up their entire class in a few simple steps.  

How I built a computer science curriculum with Codecademy courses 

“While I had a really great background in general teaching, I had no best practices around teaching computer science. I had to make it up by myself. What I ended up doing was sitting in a bunch of math teachers’ classrooms and watching how math teachers taught. Math classes follow a formula: the teacher does a demo, the students work together solving problems, and then they have to do work themselves. In teacher language, it’s called, ‘I do, we do, you do.’ So, I thought, ‘Well, this seems like the obvious way to teach coding.’ 

I would do a lesson where I would go through a demo, and they’d follow along with me and generate it. Then, I thought, How do I do the ‘we do’ where we’re working together and getting that feedback? Codecademy was the perfect next step because they had the tools for it. I knew that my students needed a second touchpoint that wasn’t just immediately doing a challenge where they had to reapply what they learned. 

I have a three-step sequence: I do a demo, they do the relevant Codecademy lessons (not even a whole course, just the series of lessons that covers what we talked about), and then they do a challenge. This demo-Codecademy-challenge cycle fills the guided practice, and then formally shows that they know how to do a thing. This loop continues until I ask them to do a larger, more substantive programming challenge.” 

Why Codecademy lessons work well in the classroom  

“What’s nice about that is they have heard it from an instructor, practiced it in a guided session, and then practiced it themselves multiple times before the larger assessment. If a student has done 20% while everyone else has done 100%, I can see that they haven’t stepped through the necessary skills. I have metrics that help me know where to start with a student. 

If a student has missed days or hasn’t used class time effectively, I don’t even make them do the assignment. I tell them they need to learn the stuff first. Instead of sitting with that student one-on-one and reteaching them, I can say, ‘Hey, go through Codecademy.’ There are YouTube videos of people who go through the lessons. I find playlists of people who have gone through Codecademy, and I say, ‘If you’re really stuck, here’s that.’ I also teach them how to get solutions, revert their code, and troubleshoot the platform, because every web platform has bugs. I build up their resiliency so they can navigate it themselves.  

By having 100% completion and gamifying it with a progress bar, students — especially those who struggle — get a lot of satisfaction from completing these courses. I remember a student last year who really struggled. We went through the command line shell course, and he spent three weeks on it, while most students finished it in less than a week. When he finished, he was so proud. He wouldn’t stop talking about it. He kept saying, ‘I finished. This is so cool. I know how to do this.’ 

There is real satisfaction in giving a little certificate at the end and seeing measurable progress. It’s not only a progress tracker for me, but also a feedback mechanism for students to measure their own understanding. Measuring your own understanding isn’t always evident in teaching —you don’t always know if you’re really picking it up. The platform does a good job of giving some semblance of that to students along the way.” 

Not sure where to start? Check out our personality quiz! We’ll help you find the best programming language to learn based on your strengths and interests. 

Want to share your Codecademy learner story? Drop us a line here. And don’t forget to join the discussions in our community. 

Related Articles

Latest Articles