Jan 10, 2025
Programming in 2025: A preview of our upcoming CS courses
The hottest programming language of 2025 is: English?
It turns out that, with LLM assistants like ChatGPT and Claude, even novices are able to build their own tools, websites, and apps. They’ll write a lot of the code for you.
However, LLM coding assistants still work best when you understand the problem you’re asking them to solve. As most engineers have found, if you only half-understand the problem, you’ll get a half-good solution out of these models.
We’ve been thinking hard about how to teach programming in 2025, and we’ve arrived at a new three-part foundation for our CS courses. 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 that image processing made a perfect sandbox. 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 function works.

For example let’s look at the dramatic black-and-white portrait filter. At first glance, it looks like a single complex transformation. But look closer, and you see small, testable pieces:
- a grayscale conversion that works pixel-by-pixel.
- contrast enhancement that makes bright pixels brighter and dark ones darker
- and a vignette calculator that darkens corners based on how far they are from the center.
Decomposing problems like this is best practice for working with AI: break down complex problems into clear, implementable pieces that can each be verified independently.
Building reliable systems
These verified pieces then become building blocks. You can reuse the grayscale filter for other artistic filters, or even edge detection. The contrast enhancer can be used to make some pretty extreme photo effects.
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 understand, yet powerful enough to combine in novel ways.
We thought hard before settling on image processing for this course. 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 single-pixel changes to building complex, layered filters. 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. These are areas where building verifiable components are especially crucial.

The goal of our CS courses goes beyond teaching the basics of programming. We want to develop the skills that help people collaborate more effectively with AI.
In a world of LLM-assisted coding, great programmers are no longer those who can write quickly code to a spec. The AI can now do that job. Instead, they’re people who can think clearly about complex systems, one verifiable piece at a time.
To keep up with our latest thoughts on the intersection of AI and STEM learning, follow us on LinkedIn and on X at @brilliantorg and @suekhim.