I'm 16 and a programmer. Lately though, I've been feeling bored with the thing I fell in love with. I was wondering if anyone can help me with getting back on track with programming and if there are any ways I can stay on track so I don't lose my skills.
Would you like to enhance your threading, streaming (file, socket, etc), drivers, etc? Would you like to do embedded applications, desktop application, GUI or web pages?<p>When I want to learn a new language or experiment with different facets of a language, I find a problem to solve. I usually start off automating a manual process and build up from there, or rewrite one of your existing programs using a different design.<p>Learn another operating system. Each OS is different and will require different designs to accomplish the same thing.
Take advantage of the time you have to explore, learn, and discover new things. You're young enough that you have a lot more opportunities for what you can do with your time than us older people do - but you (probably) don't need to spend some of your time working to pay for your own food, housing, transportation, etc. You can always come back and program if you want to.<p>But you definitely should be in a CS program if/when you goto college :)
Personally, I have always been drawn to graphics programming, since it allows a huge amount of expression (even with relatively little code). There is also no end to the challenges that you will encounter (particularly if you are creating your own algorithms). You will also learn many important data structures and algorithms in the field, and probably a better understanding of underlying computer hardware.