Programming in 2025: A Preview of Our Upcoming CS Courses
2025’s hottest programming language? Plain English, courtesy of AI. More people than ever before are able to build their own tools using LLM assistants like ChatGPT and Claude. AI can handle the technical heavy lifting. What it needs from you is crystal-clear thinking and well-structured problems to solve. Miss these basics, and you’ll find yourself trapped in an endless loop of almost-working solutions.
We’ve been thinking hard about how to teach programming in an AI-first world, and we’ve arrived at a three-part foundation for programming in an AI-first world. We’ve already started with computational thinking in Thinking in Code, which focuses on precise expression of ideas. Now, we’re developing part two: Decomposition and Abstraction, where you’ll learn to break down complex problems systematically.
A Deep Dive into Decomposition and Abstraction
When designing each of our CS courses, we look for one core activity that can scale from simple to complex. For Decomposition and Abstraction, we found our perfect sandbox in image processing. Building image filters naturally teaches students how to break down complex operations into simple, reusable pieces. Additionally, every operation provides immediate visual feedback—you can literally see if your abstraction works.
Take a common photo effect: the dramatic black-and-white portrait filter. At first glance, it looks like a single complex transformation. But look closer, and you see distinct, testable pieces: a grayscale conversion that works pixel-by-pixel (you see immediately if colors turn gray), contrast enhancement that pushes bright pixels brighter and dark ones darker (tune and verify the effect visually), and a vignette calculator that darkens corners based on distance from center. This decomposition mirrors how to best work with AI: break down complex requirements into clear, implementable pieces that can each be verified independently.
Building Reliable Systems
These verified pieces become building blocks. The grayscale converter becomes a trusted component for vintage effects, edge detection, and artistic filters. The contrast enhancer adapts to different styles. This is exactly how you build reliable systems with AI assistance: instead of generating an entire complex system at once, you build up from verified pieces, each small enough to specify clearly yet powerful enough to combine in novel ways.
We didn’t just pick image processing on a whim. Behind every Brilliant course lies a carefully mapped skill tree—a progression from foundational concepts to advanced techniques. In Decomposition and Abstraction, we’ve charted every step from basic pixel manipulation to building complex, layered systems. By the time you finish the course, you’ll have developed the most valuable skill in modern programming: the ability to break down complex problems into pieces that both humans and AI can understand.
The Bigger Picture
This course on Decomposition and Abstraction sits at the heart of our reimagined computer science foundations. It builds on our computational thinking courses, where students learn to express logic precisely and systematically. And it sets the stage for our resource efficiency course, where students discover how data structure and algorithm choices shape performance.
Together, these three foundational courses develop the core skills for programming in an AI-first world: precise thinking, systematic decomposition, and performance-aware design. From this foundation, students can explore how these principles apply to different domains. Our first specialized tracks, launching in 2025, focus on machine learning and networks—two areas where clear thinking and verifiable components are especially crucial.
The goal isn’t just to teach programming—it’s to develop the precise, systematic thinking that makes AI a powerful collaborator rather than just a code generator. Because in 2025, the best programmers aren’t those who write the most code, but those who think most clearly about complex systems, one verifiable piece at a time.