Chris Uppal said:
My guess (only a guess) is that the OP hasn't got going enough with
programming
yet for the rate at which the act of programming generates new ideas for
things
to do, to outstrip the rate at which you can implement them.
When you first start out there's obviously not all /that/ much that you
can
usefully do except soulless practice (reading books, doing the
exercises,
yawn...). Finger scales, and worse. As you start to write more, you
(or at
least I do, and I don't think it's uncommon) keep turning up things that
you
want to try for one reason or another. It may be something that you
need, or
something that is an interesting spin-off from what you are supposed to
be
doing, or it may be something that's done wrong that you want to try to
fix.
One way of another, the more programming you do, the more there is /to/
do (and
that's not even counting paid work ;-)
We all know that the only workable way to learn programming is to
practise --
but it's difficult to practise if there's nothing obvious to practise
/on/...
In case anyone reading this is in that situation:
If you're just starting out: {
* Consider buying a introductory book, following along, and doing the
exercises.
* Consider doing Sun's official tutorial, following it and doing the
exercises:
http://java.sun.com/docs/books/tutorial/
* Consider finding a local university, looking up the schedule for the
introductory Java programming courses, and just attending the classes.
Most universities are large enough that you don't even need to register as
a student (and thus pay the tuition fees). You can just sit in the class
and listen to the lectures given by the professor (I used to do this a
lot, before I got busy with a full time job). Of course, if you don't pay
the tuition, you shouldn't waste the teacher's time buy doing the exam
(forcing him/her to correct it needlessly), and you won't be able to get
credits towards a diploma.
* Consider googling for the term "introductory java exercises" and see
what turns up. Usually it'll be the webpage for a university course on
Java. For example, I got this page:
http://chortle.ccsu.edu/CS151/cs151java.html
}
if you feel confident that the above is too easy for you: {
* Consider hanging out in this newsgroup, answering questions for other
people. If you don't know the answer, research it!
* Consider going to Roedy's list of project and implementing some of
them:
http://mindprod.com/projects/projects.html
* Consider heading over to SourceForge (
http://sourceforge.net/) or some
other website hosting open source software, finding some Java programs
(perhaps one that you've personally used, like maybe the Azureus
Bittorrent Client) and studying the source.
* At this point, you should know enough about Java that you can start
coming up with your own projects as well, perhaps partially inspired by
some of the ones listed at Roedy's site.
}
if you feel confident that the above is too easy for you: {
* Consider heading to SourceForge (
http://sourceforge.net/), finding
projects written in Java, reading their bug lists, and try to actually fix
some of the bugs, submitting your fixes back to the community.
* Google for "Java programming contest" and consider entering some of
the contests that you find.
* Consider heading over to Download.com (
http://www.download.com/) or
some other website hosting closed-source shareware or "small" proprietary
software, and seeing if you can implement a similar program, despite not
having access to their source code or design documents at all. If you
succeed, you might try selling your software in competition with theirs,
or releasing it as open source or freeware for the community.
}
I've added this info to
http://moinmoin.riters.com/JINX/index.cgi/How_20do_20I_20learn_20Java_3f?action=show
- Oliver