I think the solution would be to create a programming-intensive BFA in Software Development--a Julliard for programmers. Such a program would consist of a practical studio requirement developing significant works of software on teams with very experienced teachers, with a sprinkling of liberal arts classes for balance. It would be a huge magnet to the talented high school kids who love programming, but can't get excited about proving theorums.
When I said BFA, Bachelor of Fine Arts, I meant it: software development is an art, and the existing Computer Science education, where you're expected to learn a few things about NP completeness and Quicksort is singularly inadequate to training students how to develop software.
I've always said to anyone that will listen to me (which is not very many) that software is an art form. It attracts artists. Seriously. Just look at any software company and the amount of musicians, artists, carpenters, etc… working there that create code for a living and create other things in their down time.
Creation of something out of nothing.
There's no real definition of art, but in my narrow experience, the creation of music and the creation of software are deeply similar.