Need help getting started with desktop application development

So first things first, I do know how to code. I know a lot of people like to start telling noobs like me to start coding, but I already can code in C++, matlab, and phython. However my experience has only been making mathematical models. So even though I can code, I do realize that my skill sets are extremely limited.

I have never been able to get into the design side of things which is where I really want to be. I have tried taking 3 separate classes and I always drop out because they suck something awful.

I have also been playing around with linux for about 2 years now that I have finally found a distro that I am truly happy with, I would like to work towards making my own desktop environment from scratch.

Clearly that is a ways away, but for the moment I would like to be able to make my own music browser. I could be completely fooling myself, but it seems like an achievable goal.

I want to take the source code from a program called tomahawk and redesign the interface so that it mimics banshee. I really like the design and polish of tomahawk, but it is kind of slow and the way in which you browse for your music is idiotic. No other word for it really.

What sort of programs, programming languages, setup would I need to accomplish such a feat?

If this is a suicide mission, is there a more simple program that I could make to get started on the path to making a custom DE?

Thanks for any advice in advance?