Very often I have come accross people who need help in learning Java. Learning is all about theory and practice. I have been experimenting with the concept of coding dojo's and kata's to introduce the element of practice in programming. The concept was first introduced by Dave Thomas. You can read more about it here http://blogs.pragprog.com/cgi-bin/pragdave.cgi/Practices/Kata . Essentially it is an attempt to help programmers get better at their crafy by exploring various techniques and solutions without the time pressure that is always a part of client projects.
Here's how we did the dojo. A group of 6 developers got together (it could have been 8 or maybe even 12) and decided to solve a problem - http://blogs.pragprog.com/cgi-bin/pragdave.cgi/Practices/Kata/KataFour.rdoc . We began with an initial design discussion and then started projector programming in pairs. The first pair went up to the computer and coded while the others became a participative audience. After 20 minutes we switched pairs... and so on.
The entire session was extremely beneficial to everyone. Each developer had their strenghts and when coding in an area of their strength they would share their expertise with the rest.
What happened as a result of this session was an improvement of programming skills as well as greater learning about the technology. Everyone learned a lot of new things and raised the bar of their skills.
I think such a practice would be beneficial not only to entry level developers but also to senior programmers.
Since I found this practice useful, just thought I'd share it with everyobe here.