Sunday, November 09, 2008

JavaInsights 101


This learning track is for developers who have completed at least one course in Core Java (or are familiar with basic principles of Java, like Syntax, compiling, and running Java programs) and would like to improve their understanding of the Java language and ecosystem.

Why Is This Track Needed?:

A typical Core Java course focuses on the Java syntax and simple exercises to understand Java. These are an important first step, however, usually due to lack of time such a course cannot equip the learner with deeper knowledge of how to develop good software in the Java ecosystem. The Java landscape is very huge and cannot be dealt with in a single course. When dealing with such magnitude, the best way to learn is self learn. This track's focus is to help developers by providing guidance as they get their feet wet, and give them the initial momentum for continuous self learning. The track will provide developers with:
  1. An understanding of coding and design best practices
  2. An exposure to the Java ecosystem of open source libraries and frameworks
  3. An understanding of how to unit test Java code
  4. An understanding of source control systems and how to use them
  5. An understanding of how to use development and code analysis tools
  6. A deeper understanding of some of the topics already learned in a regular Core Java course
Learning Methodology:

For this track we will use the concept of networked collaborative learning. Breifly, this means that everyone is a learner and a mentor. Learning happens by understanding, practicing, and participating. New media technologies (such as blogs, and podcasts) will be used for participation.

The JavaInsights101 track consists of 16 tasks. I recommend that you try and complete them in 16 weeks. Each task is explained in a separate blog post. After completing a task, please write a blog post (describing your solution, problems faced if any, and how you overcame them) on your own blog and leave a comment on the post describing the task (on this blog). Be sure that your comment contains the URL of your post describing your solution for the task.

Participants are encouraged to write blog posts regularly as well as read posts of other participants and leave (constructive) comments on their blogs.

There is a supporting Google Group for this track, which can be used for asking questions, and other discussions related to the track. Participants are also encouraged to go beyond this Google Group and ask questions on public Java forums, such as Java Ranch and . Participating on these forums will give you a wider perspective and will also help you connect with the Java developer community. For the benefit of other participants, whenever you ask a question on another forum, either write a blog post with the URL of the question, or write a quick mail on the mailing list, describing your question and it's URL. This will help other participants who have similar questions. Moreover if someone already knows the answer, they can post it on the question thread.


To register for this track leave a comment on this post with your blog URL and go to Task 1. If you do not already have a blog, do Task1 first and then leave a comment on this post.


This is a pay-it-forward course, which means you do not have to pay any fees monetarily. However, you are strongly urged to volunteer after completing this track by helping new participants, by either answering their questions on the forum, or by reviewing their code.

Frequently Asked Questions

Learning Tasks:
  1. Create a blog
  2. Create a working environment for Java
  3. Hello World
  4. Task: Check-in code into a source control system
  5. Refactor HelloWorld to use JSAP
  6. First Steps Into Test Driven Development
  7. An exercise with Collections
  8. An exercise with Threads
  9. An exercise with Swing
  10. Unit testing the Swing GUI
  11. Unit test code coverage
  12. Using Log4J for logging
  13. Code review
  14. Using ANT for compiling your project
  15. Ensuring code quality with FindBugs
  16. Your journey begins now


freeman said...

Awesome, thanks for doing this Parag. I'm looking forward to brushing up on my Java too :)
freeman :

Parag said...

Hi Freeman,

Welcome to JavaInsights 101 :-) I now have my first participant...

subbu said...

thanx for initiating event like this. I m looking to have my hand in Adavanced java..thanx again

subbu :

Megha said...

thanks for taking this initiative.


tanu said...

nic 1 i hav to see wat type of trainig i wll get from here

tanu :

Parag said...


Nice to have you both in the course. I also suggest that you use your blog as a learning journal for the work you do on the tasks.

Feel free to ask questions here as well as on the newsgroup (link provided in this post).

ved said...

Thanks dude !

Nice Work

My blog:

rajdgreat007 said...

its a nice start....
my blog..

EC said...

Hi Parag,

This blog is an excellent idea! I am a beginning Java student, taking an online class through a junior college. I will be visiting your site often.


junaid said...

interested in this course and also want to teach java to students

mine is


Parag said...

Hey Junaid, you have a nice website. I am planning to host this course on very soon.

Kashish Durgiya said...

Hi Parag,

Thanks for creating and starting this course, I like the look of this, will go through the course and I think surely I'd love it.

Kashish.(Blogging @

Parag said...

I am glad you liked the course Kashish. You may also want to take a look at, where I have several other courses also.

Random Thoughts said...

Joining bit late, but i am sure there is enough to know about.


Random Thoughts said...

Thanks! Parag for initiating this.

jaya prajapati said...

It is nice to learn at home,I like this course,I want to join this course

suma said...

can i join dis??

Jignesh Jain said...


Vaibhav Shah said...

Hi parag,
nice working...i also wanna learn advanced java...

christi parks said...

Are there some advantages of one language C and Java over the other? Which one is optimal? Which one is more "future proof"? Would it be optimal to know both? If so, which order? I am a little confused on the subject. Just got across this course, will it be helpful also. A little enlightenment could help. Thanks

rammi said...

i want to learn adavnce java


heena goyal said...

Very nice information shared... i wanted to learn java because i want to switch from dotnet to java . The current project i am working on is on dotnet but i want to take java in my next project so i wanted to do training on java as i am working i don't have time to attend classes so i am planning to do online java training course . One of my friend has recommended me link as she studies most of her online courses from WIZIQ. I don't know how is it going to work for me , so anybody aware of this online java training course please let me know..

Link Building services said...

Thanks for creating and starting this course, I like the look of this, will go through the course and I think surely I'd love it. Essaycapital

arjun kale said...

Excellent piece of knowledge, I had come back to read concerning your web site from my friend shiva, bangalore. I have readed atleast eight posts of your website and let me tell you, your website provides the most fascinating information. This is the knowledge that I had been craving for, I am already your rss reader currently and that I would frequently be careful for the new posts. Thanks plenty another time, Regards,Java Online Training

kiran m said...

Thanks for Sharing this valuble information and itis useful for me and ADV JAVA learners.We also provides the best Online ADV JAVA Training classes.

anil said...

Thank u so much.

naveen kumar said...

Thank you provide valuable informations and iam seacrching same informations,and saved my time SAS Online Training

Good Trainings said...

Nice information. Our institute Is the Leading online institute in Hyderabad, India to provide JAVA online trainings with the real time experts and certified professionals. alot JAVA Online Training.