Jason Pfirman
(He/him)
Coding Teacher
Somerset Intermediate School, Somerset County
How did you get into CS?
For many years, I was a Social Studies teacher with a long-standing interest in computers and coding. However, I never had the opportunity to formally explore this passion until recently. When my school introduced a coding class and hired an instructor to lead it, the course was occasionally held in my classroom. Observing how the class was structured and delivered, I found myself captivated by both the subject matter and the instructional approach.
I told myself that if the opportunity ever arose, I would love to take on the role. Midway through the school year, the original instructor left the position, and I immediately applied. I was fortunate to be selected for the role, and for the past five years, I have been teaching coding—an experience that has been both fulfilling and deeply rewarding.
What are some successes and challenges you've experienced in CS ed?
The Computer Science program provides teachers with the flexibility to design lessons tailored to the needs and interests of their students. This level of creative freedom makes lesson planning both engaging and dynamic. I especially enjoy seeing students express their talents in both art and technology as they complete various projects. Collaboration is a key component of the class, as students often assist and support one another throughout the learning process.
One of the most rewarding aspects of teaching this course is witnessing students' pride in their work. They are always eager to showcase their accomplishments, which is incredibly fulfilling to see. However, one of the biggest challenges I encounter is helping students develop resilience. Coding requires practice, and making mistakes is an essential part of the learning process. Many students today have a low tolerance for frustration and may be quick to give up when faced with difficulties. To address this, we have frequent discussions about the importance of persistence and learning from mistakes. Watching students grow from where they start to where they ultimately end up is the most rewarding part of the experience—it truly makes teaching this class so fulfilling.
What do you find compelling about CS?
What I find most compelling about Computer Science is its ability to blend creativity with problem-solving. CS is not just about writing code—it’s about thinking critically, breaking down complex challenges, and developing innovative solutions. It’s a field that constantly evolves, influencing everything from medicine to entertainment to artificial intelligence. This dynamic nature makes it an exciting and ever-relevant discipline.
In my own work, I find immense fulfillment in teaching CS because it allows me to inspire curiosity and resilience in my students. I love seeing them explore new concepts, collaborate on projects, and bring their ideas to life through code. One of the most rewarding moments is when a student overcomes a challenge they once thought was impossible. Watching their confidence grow as they troubleshoot, refine, and ultimately succeed is an incredible experience.
One of the biggest challenges I face is helping students develop perseverance. Coding requires patience, and mistakes are part of the learning process. Many students struggle with frustration when their code doesn’t work as expected. That’s why I emphasize that failure is not the opposite of success—it’s part of it. By creating an environment where they feel safe to experiment and problem-solve, I help them build the resilience needed to thrive in both CS and life. Seeing their growth from the start of the course to the end is what makes my work so meaningful.
What are you currently working on? What are you looking forward to/hoping for this school year?
I have recently introduced stop motion animation as a creative project for my students, allowing them to produce short films while developing skills in editing, planning, scriptwriting, sound design, and musical scoring. By working in pairs, students collaborate in a team-like environment, supporting one another through each stage of production.
In addition to classroom projects, we have partnered with other special-area teachers to organize events where students can showcase their work. One highlight was our winter festival, where we set up a gallery featuring student-created animated holiday cards on laptops. Parents were invited to view the projects, and it was incredibly rewarding to see their enthusiasm and engagement in their children’s learning.
Looking ahead, we are integrating stop motion animation into our school's science fair. Students will select a scientific topic—such as the water cycle—and create an animated video to visually demonstrate their understanding. This interdisciplinary approach not only strengthens their technical skills but also deepens their comprehension of core academic subjects in an engaging and interactive way.
What advice, suggestions, or resources would you like to share?
For anyone teaching or learning Computer Science, my biggest piece of advice is to embrace the mindset of problem-solving and persistence. CS is not just about memorizing syntax—it’s about learning how to think logically, debug issues, and approach challenges with creativity and patience. Mistakes are not failures; they are an essential part of learning. Encouraging a growth mindset in both educators and students is key.
For teachers, I recommend focusing on project-based learning to keep students engaged. Let them build things they care about, whether it’s a simple game, a website, or a stop-motion animation project. Real-world applications help reinforce concepts and make learning more meaningful. Additionally, incorporating collaboration—through pair programming, group challenges, or peer debugging—fosters a supportive learning environment.
Finally, I encourage both students and teachers to stay curious and explore beyond the classroom. Experimenting with personal projects, participating in coding challenges, or joining online communities like Stack Overflow or Discord groups can make the learning experience even more enriching.