How College Board Will Gut AP Computer Science A πͺ
I was sitting in class, opening my computer, when a classmate walked up to the teacher with shocking news: they're removing polymorphism from the AP Computer Science curriculum. This was just a few days after we'd taken our AP exams, and I couldn't believe what I was hearing. The literal backbone of Object-Oriented Programming was being axed out of the curriculum. My teacher confirmed he'd heard about it too, something about making the course "more close to college level courses." That makes absolutely no sense.
(My actual face βπΆπ¦)
The Insanity of This Decision π΅
Let me be clear about what College Board just decided to remove: polymorphism and inheritance, the fundamental principles that make Object-Oriented Programming work. These aren't obscure, advanced concepts. They are, quite literally, core ideas that every programmer needs to understand. When you think about what polymorphism and inheritance represent, they're the foundation of how modern software is built. Every major programming language, Java, C++, Python, relies on these principles. They're what make code clean, maintainable, and scalable.
What Exactly are Polymorphism and Inheritance π
To understand why removing inheritance is so damaging, consider how these concepts work in actual software development. The goals of Polymorphism in Object-oriented programming is to enforce simplicity, making codes more extendable and easily maintaining applications. Think about any app you use daily. When you tap a "Save" button, that same method might save a photo to your camera roll, save a document to the cloud, or save your game progress, all using the same interface but with different underlying implementations. That's polymorphism in action. Inheritance is equally fundamental. Inheritance can help us to represent objects which have some differences and some similarities in the way they work. We can put all the functionality that the objects have in common in a base class, and then define one or more subclasses with their own custom functionality. Every graphical user interface you've ever used, from your phone's home screen to your web browser, relies heavily on inheritance hierarchies. Buttons, text fields, and menus all inherit common properties from base UI elements while adding their own specific behaviors.
What College Board Actually Said π¬
College Board's official reasoning states that "Recent college faculty surveys and syllabus studies have shown that many Computer Science 1 and 2 courses use Java. We are revising AP Computer Science A to reflect this research and align with other expectations of current introductory college programming courses." They claim that removing inheritance will "more closely align the course with introductory college courses and allow teachers to cover other topics in more detail." But this reasoning falls apart under any scrutiny. College Board surveyed faculty and found that "many Computer Science 1 and 2 courses use Java", but somehow concluded that this means they should remove inheritance? That's like saying "we found that many cooking classes use ovens, so we're removing the lesson on baking." If anything, College Board is creating a gap between what AP students learn and what they'll encounter in college. Students who think they're getting prepared for college computer science are actually being set up for confusion when they discover they've missed fundamental concepts that their college peers learned from day one.
What This Really Means π
This decision fundamentally changes what students understand about programming. Without polymorphism and inheritance, students are learning a watered-down version of object-oriented programming that doesn't reflect how software actually works. You can't understand modern software architecture without knowing how classes inherit from other classes, or how different objects can implement the same interface in different ways. Students taking this revised AP course will think they know Java, only to discover in college that they've learned a simplified version that barely scratches the surface. Not only that, most people take AP level courses to skip out on the college level courses meaning they may never latch on to the ideas of inheritance until it is far too late.
The Bigger Problem π
This reflects a troubling trend where essential but challenging concepts are simply removed instead of being taught better. Programming is complex, and software development requires understanding sophisticated relationships between different parts of a system. By removing polymorphism and inheritance, College Board is essentially saying high school students can't handle these concepts- but somehow college freshmen can on their first day of class? College freshmen who will be the same students that are being robbed of the understanding of inheritance.
The Bottom Line π
College Board's decision to remove polymorphism and inheritance from AP Computer Science isn't just wrong, it's harmful to students. They're taking kids genuinely interested in computer science and giving them an incomplete foundation. The claim that this makes the course "more like college" when it does the exact opposite shows how disconnected this decision is from reality. College Board has made their computer science course less college-ready, less job-ready, not more. This isn't about accessibility or better standards. This is about dumbing down a curriculum in a way that will hurt the students it's supposed to help. And that is absolutely insane.