During a decade spent teaching high school coding and computer science, I have almost exclusively taught while using the flipped classroom model. I strongly believe that this model is the best way to teach young people how to write code, and when free access to LLM chatbots has upended education (it is common to hear disheartened teachers throw out the phrase “homework apocalypse”), I think that for the disciplines that can manage it, the flipped classroom will become a necessity.
Before diving into the nitty gritty, I should first answer the question, “what is a flipped classroom?” as I know that even many other teachers are unfamiliar with this teaching strategy. The flipped classroom model inverts the kinds of activities that are traditionally given as classwork and homework. In a traditional high school classroom, a teacher might lecture for the majority of class time, then assign students a set of problems to do for homework. Class time is dedicated to conveying information, and homework is used to get students practicing. In the flipped classroom model, students would be reading a textbook chapter or watching a lecture video on their own time before coming to class, and then working through associated problems during class time. They do the bulk of their practice in the presence of their teacher, and homework is focused on the dissemination of whatever information is needed to succeed with classwork.
The name “flipped classroom model” was coined in 2007 by Jonathan Bergman and Aaron Sams; though undoubtedly fantastic, innovative teachers, they were not the first to use this model. I first encountered a flipped classroom as a computer science student at Belmont University, where professors Bill Hooper and Joyce Crowell used the model extensively in their introductory programming courses (and I’m very sure they’d never heard of Bergman or Sams). In fact, teachers had been using the same or similar instructional strategies for decades before the model was codified under the name “flipped classroom.” You can read more about the history of the instructional style here: https://files.eric.ed.gov/fulltext/EJ1349598.pdf
Today, flipped classrooms are often classified as a kind of “blended learning,” with the assumption that teachers will record lecture videos and post them into a learning management system. This approach to a flipped classroom can obviously be very effective (and also involve a lot of up-front work by the teacher), but there’s no strict necessity to involve technology at all. You could just as easily use a text book and assign students to “do the reading,” before they come to class.
For teaching students how to write code, the flipped classroom is to my mind the best approach. As anyone who has ever learned to program a computer knows, writing code is a skill. As computer science teachers, our goal is not to fill our students brains full of information. Our goal is to teach our students a skill. Therefore, it seems obvious to me that we should spend the majority of the time we have with students working with them on skills development, and not information relay.
When they first begin, learning to write code can be very difficult for students, if only because it tends to be so different from anything they have done in other courses. Whenever I’ve taught an intro class full of students who have never done any programming before, there is always a distinct period of time at the beginning of the year when the whole class feels like they’re in over their heads, but invariably, a moment occurs for almost every student when something clicks and the unique mode of thinking inherent to writing code starts to feel natural.
This moment occurs at a different time for each student: for some, it’s at the end of first week, others after a couple months, and some towards the end of year. Because there is always great disparities for when each student has this breakthrough, it’s critical to be present as a teacher during practicing and skills development to give each student individualized support. This level of support is only possible if you’re not spending 45 minutes or more lecturing. In a flipped classroom setting that’s done well, the majority of instruction will be given one-on-one or to small groups while the rest of the class is busy with their work.
I’ve found other reasons for teaching this way. The bulk of my teaching career was spent in schools where I could not guarantee that students would have access to a computer, access to the internet, or even dedicated time to do work (many of my students worked full time jobs after they left school in the afternoon). It’s easy to take for granted that every student has the ability to go home and work on a computer after school without realizing that the assumption is one of economic privilege.
I left a career in software to become a high school teacher in the 2010s. Since starting a couple big wrecking balls hit the world of education: namely, the COVID-19 pandemic and the widespread proliferation of free LLM-powered chatbots. Some approaches to teaching no longer work, but certain old approaches may be the tools that we need to make sure learning and skills-development still happen.
One huge, glaring, obvious, and much-lamented drawback to the vast majority of students having instantaneous, free access to ChatGPT (or Gemini, or Claude, or DeepSeek, &c &c) is that if (almost) every student has the option to never do homework again, (almost) no students will ever do homework again. When homework’s main purpose is to enforce the development of skills, the AI cheating epidemic is devastating to all the wider goals of education. However, if homework’s focus is on knowledge conveyance, things start to look less devastating.
No matter what camp into which you as a reader may fall in the debates about AI’s role in education (AI will save our education system; AI will destroy whatever’s left of our education system; within clear limits, students should learn how to use LLM technologies; something else), it seems obvious to me that using an LLM chatbot for knowledge consumption is much less deleterious to learning outcomes than using it to write a paper for you or to complete a coding assignment. To some extent, if I told a student to read a textbook chapter about for loops before class, and they used ChatGPT to read a summary instead, I wouldn’t care. As long as it adequately prepared them to do our in-class assignment the next day, they’ve accomplished what I’ve asked. I’d care a lot more if I asked them to write 10 for loops for homework and they had a chatbot do it for them. Now they’re no longer developing skills.
As every English teacher reading this post is certainly muttering to themselves right now, reading is, of course, itself a skill. It’s not so easy as I’ve made it sound to shunt all types of assignments neatly into two binary camps of “knowledge conveyance” and “skills development,” which is why the flipped classroom doesn’t work for every course or every discipline. English courses may be hit the hardest by the rise of LLMs, and it’s unfortunate that one of the best strategies to protect students from their worst instincts isn’t very helpful for English teachers in the trenches, fighting the good fight.
And yet, for so many classes, the flipped classroom is undoubtedly the right answer. For many disciplines, including coding, most CTE courses, many math classes, and any course that emphasizes project-based or inquiry-driven learning, teaching with a flipped classroom is probably better for student learning regardless of any home apocalypses that might be at hand. Even if the rise of LLM chatbots proves to be largely a disaster for our education system, perhaps a widespread move to counteract cheating by adopting flipped classrooms will lead to student gains among those who are willing to try something new.
Last modified on 2026-01-15