Click here to Skip to main content
15,889,728 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
See more:
can any one suggest a good number of projects in java so as to improve and get used to the java language.
Posted
Comments
R. Erasmus 14-Jul-13 5:01am    
http://coderbyte.com is a nice place to improve your java skills.

Fortunately this is one of the easiest questions to answer thanks to the really good quality online material provided by Sun Oracle. The official java tutorial is simply superb, I wouldn't spend a penny on books before reading the official online documentation. After reading that doc you will be able to decide from the table of contents of a book whether it is a good book for you or not, and most importantly - you become a very good java programmer if your read the online docs carefully and you try things in simple example programs in parallel.

You can find the online doc here: http://docs.oracle.com/javase/tutorial/[^]
It has been split to 2 main paragraphs: The first paragraph (Trails Covering the Basics) is about the java language elements and the very basic runtime libraries (like collections: arrays, maps, ...). The following sections (Creating Graphical User Interfaces, and Specialized Trails and Lessons) are about java libraries.

While you are learning the basics (the java language) you don't really have tools to solve really interesting problems, you can deal only with simpler ones. You will find such simple problems in the doc, as it will demonstrate language features with example code. Always try the example code yourself, compile it and run it. I would first do this without using an advanced ide (like eclipse/netbeans) only on the commandline as this helps you to understand whats goin on in the background even if you are speeding up your work with nice ides.

The first paragraph (Trails Covering the Basics) is very important, and its is relatively short compared to the libraries part. Learn everything from the libraries paragraph (Specialized Trails and Lessons) is wasteful as it is very large part of the whole tutorial and you will see no point of those libraries (like jaxb, security, and javabeans) because they are not very useful for a hobby programmer/beginner as they are intended to simplify the development of enterprise applications. First you should encounter some enterprise problems to understand why are those "overcomplicated" libraries are "fun" to use. Libraries you should definitely master even as a beginner/hobby programmer:
- swing(gui)
- networking/socket/rmi(all of these is networking related)
With the java language and gui programming and some network programming knowledge (for example socket or rmi) you should be able to put together a chat server/client by yourself without cheating from other server progs. Don't cheat try to find the solutions yourself (the tricky part will be handling multiple connectsions and/or threads on the server). There are millions of good solutions to the server side problems. Later you can make an 1v1 multiplayer amoeba game.
- later 2D graphics and sound if you are interested in more serious games (make on online 2v2 multiplayer amoeba game)
- jdbc is also a useful topic if you want to save data into databases, this one can be very useful if you later want to do some basic web programming and you decide to use a lightweight database handling mechanism (jdbc) instead of a more complicated one (jpa). If you decide to learn jdbc then put together a gui(swing) calendar application that can be used to save events/notes to specific data/time and optionally it should be able to alert a few hours before the specific event.

- generics and reflection: these are more advanced topics that rather belong to the java language but it worth taking a look at these, you may find it interesting and they may ask this on interviews

There are a lot more technologies and libraries (for example for web/enterprise software programming) than what is mentioned in the tutorial but even learning the basics carefully takes weeks and the same is true for the libraries part.

If you think you became a master then take a look at the java virtual machine specification document to understand the java language/memory management a bit more.

Good luck, have fun!
 
Share this answer
 
v2
Well, I guess one could suggest many, but it could not really help you.

You cannot learn writing applications by playing with some preexisting projects. It could be even harmful to your skills. You can get some progress only if you start from actually creating project by yourself (while reading appropriate documentation and manuals, of course). When you break some of your teeth on your problems (and of course you should choose reasonably easy problems at first), you could be able to understand some works of others and learn some lessons. But by that time you will be able to find appropriate code samples by yourself. Or at least ask more adequate questions on the forums :-).

Wish you the best of luck with that.
—SA
 
Share this answer
 
v3
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900