The most important thing I have found throughout my programming journey is to always have fun and make things interesting. My personal favorites are AI programming and Hunter Prey simulations. So I always have some side project running whilst doing my work. Currently I am busy working on a simulation involving 3 types of territory protecting agents each with different levels of aggression and seeing who has claimed the most territory.
I find Greenfoot to be really good for keeping the motivation up compared to other IDE's, seeing as the programs themselves are more fun - What I'm saying is, you're going to enjoy making a game in Greenfoot a lot more than, say, making an accounting program in NetBeans or a text adventure in BlueJ - well, early on at least. Recently I've found networking and GUI development to be interesting me the most, but Greenfoot is still very good.
On the grounds of what to make, its really not too important as long as you're making _something_ (as long as you don't spend your whole programming career on the wombats tutorial scenario). I found the most motivating thing for me is improving (which, luckily, has come quite naturally to me, but then I come from a maths background also, and it really does help with programming), and also just seeing something after you've created it, and being able to play around with it. Most of all I think the huge level of creativity available in programming is very fun (and having fun keeps you motivated) - you can make _anything_ you want to when programming (although obviously if you're going to create a 3d physics engine or something, you might be having to spend quite a long time on it).
When I started programming, I kept getting stuck on the silliest little things, but I found if I posted on this discussion board I'd get really helpful replies - so I still hang around on here, trying to give some of those replies myself (I'm nowhere near the best, but I can at least help out with most things).
Good luck, and happy programming! :D
Thanks guys! This is a friendly forum. I think also before, I'd get so excited about programming that I'd try to do it as much as possible and I'd burn out and lose interest. This time, I'm going to take it a bit slower and try programming for an hour a day. Once again, thanks for the motivation.
Good luck, and above all, have fun! I was the same when I started - I programmed as much as possible, and then I had a month of so phase where I hardly did it at all 'cause I'd kind of burned out... However, now I just do it when I have an idea I want to pursue, but I also try to do it quite often to keep it up - I've found that the more I do, the better I become and the more enjoyable it is! :)
I agree to the sentiments posted above. The more you practice, the better you become. The more often you practice, the easier it becomes. The more you read about programming, the less mistakes you'll make and best practices you'll learn. The more you look at other people's source, the better design your code will operate from. One important aspect forgotten by many is design, design, design! Design on paper first! Why spend 4 days trying to make a routine work, when a couple of hours of thought with paper and pen can elimante bugs, frustration and wasted code.. Although, to counter this, sometimes its great or even very important to prototype code and then start again, taking the best bits as required into the full project. Don't ever be frightened of parking the current project, save a copy of it, and then work on the copy to improve it or try a different direction. You'll always have the previous version.