I think you'd like to read StopCoding
One more thing I'd like to mention, and some may not agree that this is something that beginners should try to tackle, but at some point you have to familiarize yourself with certain program design principles like SOLID, DRY, and SLAP. You may feel like these topics are way too advanced for you but if you are not aware that such things exist and can help you write better programs, I really believe that your ability to improve as a programmer will be severely limited.
To put it another way, you can watch how people swim, you can read how people swim, but *you* have to get in the pool and paddle around to actually learn how to swim. The question is, how well prepared are you and how much an idea do you have of what you want to do when you get into the water? It's not going to be easy, but don't get easily discouraged if you struggle at first. We all go through that learning phase but perseverance and diligence seldom go unrewarded.
adam wilson wrote:wow that's totally different on how school teaches us. My teacher tells us we should sit down a couple hours a day playing around with our different codes we use..is this good practice? judging by what I have read it sounds like it's not.
One more thought about "Stop Coding:" There are circumstances when you really don't know how the technology works. Say you just want to see how to create a GUI box. Or maybe you've never used a switch before.
But before you tackle a significant program, you should map out the logic. In my day they called this flowcharting and I couldn't turn in a program without a flowchart. ("Significant" will change as you get more experienced.)