<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-29611753</id><updated>2012-02-16T15:58:45.644+05:30</updated><category term='log4j'/><category term='java_insights101'/><category term='ant'/><category term='summarize'/><category term='JavaInsights101'/><category term='task'/><category term='findbugs'/><title type='text'>Adaptive Learning</title><subtitle type='html'>Through this blog I offer an online learning course called Java Insights 101. The course focuses on helping developers who are already familiar with Java's syntax, understand how to write good code and work with the Java ecosystem.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-29611753.post-7103549991306556145</id><published>2009-01-11T16:36:00.008+05:30</published><updated>2009-01-11T17:47:54.008+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaInsights101'/><category scheme='http://www.blogger.com/atom/ns#' term='task'/><category scheme='http://www.blogger.com/atom/ns#' term='summarize'/><title type='text'>Your journey begins now</title><content type='html'>Congratulations !!! if you have reached here after completing all tasks. You have successfully completed the JavaInsights 101 course.&lt;br /&gt;&lt;br /&gt;I hope it has given you insights about good coding practices, and the Java ecosystem.&lt;br /&gt;&lt;br /&gt;This course consisted of writing code, reading code, and blogging. I personally believe (though some people may differ) that all these activities are extremely important to learn and become a successful software developer. I will urge you to continue with all of the above on a regular basis.&lt;br /&gt;&lt;br /&gt;Since you are a software developer, your work will largely consist of writing code. This will help you sharpen your skills and learn more, but at the same time writing code at work is not the same as writing code to practice. You must perform periodic coding kata's to improve your programming skills further. Please read &lt;a href="http://blog.adaptivesoftware.biz/2007/02/sharpen-your-programming-skills.html"&gt;this&lt;/a&gt; blog post to learn more about coding kata's.&lt;br /&gt;&lt;br /&gt;Your work will also offer you plenty of opportunities for reading code. You will often have to refactor existing code. Every time you so this, try to understand how the code functions and think if it same could have been implemented in a more efficient way. This simple exercise will help improve your programming skills. If you do not get such opportunities at work, then visit an open source project of your choice and either study it, or even better participate on the project.&lt;br /&gt;&lt;br /&gt;Reading good books, blogs, and articles have helped me a lot. Here are some resources I frequent :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.java.net"&gt;java.net&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://weblogs.java.net/blog/editors/"&gt;Java editors blog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://java.dzone.com/"&gt;JavaLobby&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.artima.com"&gt;Artima&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;I also listen to the &lt;a href="http://www.javaposse.com"&gt;JavaPosse&lt;/a&gt; podcast. It is humurous, insighful, and it brings you the latest Java news.&lt;br /&gt;    &lt;br /&gt;Last but not the least, I would like to stress on the importance of writing. I started blogging so I could share my knowledge, and to improve my own skills. Blogging has helped me improve my communication and technical skills. Writing helps clarify my thoughts and also improve memory recall. Blogging forces me to think about the correctness of what I write. I do not want to embarrass myself by posting incorrect information on the web :-) This makes me think about various pros and cons, alternative solutions, and the like. The thought process which accompanies blogging has helped deepen my understanding of what I write.&lt;br /&gt;&lt;br /&gt;I hope my experiences will help you and you will continue with all of these activities. Regardless of this I am sure you will become a very good software developer. As you scale new heights, don't forget to help others on the way, and share your knowledge freely :-)&lt;br /&gt;&lt;br /&gt;Finally coming to this last task, write a blog post summarizing the most important things you have learned in this course. Then read some on line resource on programming (you can use the list I have mentioned above), and summarize it on your blog. If you liked the post, or if you have any thoughts on the topic, you may also leave a comment on the original post.&lt;br /&gt;&lt;br /&gt;After completing this task, please leave a comment here with your post's URL.&lt;br /&gt;&lt;br /&gt;Wish you good luck!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-7103549991306556145?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/7103549991306556145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=7103549991306556145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/7103549991306556145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/7103549991306556145'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2009/01/your-journey-begins-now.html' title='Your journey begins now'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-8328074682215803450</id><published>2009-01-11T16:25:00.002+05:30</published><updated>2009-01-11T16:32:19.068+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaInsights101'/><category scheme='http://www.blogger.com/atom/ns#' term='findbugs'/><category scheme='http://www.blogger.com/atom/ns#' term='task'/><title type='text'>Task: Ensuring code quality with FindBugs</title><content type='html'>We have written a lot of code till now. We have used Java collections, Swing, as well as threading concepts.&lt;br /&gt;&lt;br /&gt;However, cranking code is not all. Software that we write has to be bug free and it also has to be maintained over time. There are several reports which suggest that a bug caught early in the development lifecycle is orders of magnitude easier (and cheaper) to fix than one caught later in the development lifecycle.&lt;br /&gt;&lt;br /&gt;Because of this we want to ensure code quality. There are several ways of doing this. Diligent coding, manual code reviews, and automated code reviews. I am already going to assume that everyone is writing their code diligently. We have also done manual code reviews. This task deals with setting up automated code reviews.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://findbugs.sourceforge.net/"&gt;FindBugs&lt;/a&gt; is an excellent software which statically reviews Java code. Download and install &lt;a href="http://findbugs.sourceforge.net/"&gt;FindBugs&lt;/a&gt; as a plugin for your IDE and see how many bugs it reports for your code.&lt;br /&gt;&lt;br /&gt;Then understand and fix all the bugs.&lt;br /&gt;&lt;br /&gt;Describe what you did, any problems that you may have faced and how you overcame them, in a blog post.&lt;br /&gt;&lt;br /&gt;Leave a comment here after completing this task.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-8328074682215803450?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/8328074682215803450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=8328074682215803450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/8328074682215803450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/8328074682215803450'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2009/01/task-ensuring-code-quality-with.html' title='Task: Ensuring code quality with FindBugs'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-452329008348071213</id><published>2009-01-11T16:13:00.003+05:30</published><updated>2009-01-11T16:19:56.438+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaInsights101'/><category scheme='http://www.blogger.com/atom/ns#' term='ant'/><category scheme='http://www.blogger.com/atom/ns#' term='task'/><title type='text'>Task: Build the project using ANT</title><content type='html'>Till now we have relied on our IDE to compile code. However, in most organizations, build systems use build scripts to generate a build.&lt;br /&gt;&lt;br /&gt;This means that even though individual developers might continue to build using Eclipse's compiler (this does have a huge advantage due to it's on the fly error checking), the organization's nightly build system will most likely use build scripts written in ANT, or perhaps a full fledged build system like Maven. We will not talk about Maven in this course, but we will learn how to create simple build scripts in ANT.&lt;br /&gt;&lt;br /&gt;First download &lt;a href="http://ant.apache.org/"&gt;ANT&lt;/a&gt;, and create a simple build script that will compile your project.&lt;br /&gt;&lt;br /&gt;Describe what you did, any problems that you may have faced and how you overcame them, in a blog post.&lt;br /&gt;&lt;br /&gt;Leave a comment here after completing this task.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-452329008348071213?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/452329008348071213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=452329008348071213' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/452329008348071213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/452329008348071213'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2009/01/task-build-project-using-ant.html' title='Task: Build the project using ANT'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-7752845631400192611</id><published>2008-12-24T11:15:00.003+05:30</published><updated>2008-12-24T11:27:24.057+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaInsights101'/><category scheme='http://www.blogger.com/atom/ns#' term='task'/><title type='text'>Task: Code review</title><content type='html'>Reading and reviewing code is as important to learn programming, as is coding itself. In this task we will review some code instead of writing it.&lt;br /&gt;&lt;br /&gt;Review the code of some other participant on Java Insights 101, and leave a comment on their blog describing your findings. Please be careful to be constructive while commenting on someone else's code. Mention the things you likes, and offer clear reasons for things you did not like. If possible, also offer alternative ways to implementing the code.&lt;br /&gt;&lt;br /&gt;I have listed some parameters for reviewing code. You may choose to follow them, or you may choose to use your own list of parameters.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Correctness&lt;/li&gt;&lt;li&gt;Clarity (of code logic, variable names, class names, etc)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Adherence to good coding standards&lt;/li&gt;&lt;li&gt;Consistency&lt;/li&gt;&lt;li&gt;Good design principles&lt;/li&gt;&lt;li&gt;Simplicity&lt;/li&gt;&lt;li&gt;Test coverage&lt;/li&gt;&lt;li&gt;Usage as well as level of Log4J debug statement&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-7752845631400192611?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/7752845631400192611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=7752845631400192611' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/7752845631400192611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/7752845631400192611'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2008/12/task-code-review.html' title='Task: Code review'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-4647537825183084140</id><published>2008-11-30T19:09:00.004+05:30</published><updated>2008-12-24T11:14:11.666+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaInsights101'/><category scheme='http://www.blogger.com/atom/ns#' term='log4j'/><category scheme='http://www.blogger.com/atom/ns#' term='task'/><title type='text'>Task: Use Log4J to print debug statements</title><content type='html'>I hope you have been printing debug messages as your code executes. I assume you must be using System.out.println(msg); to print the debug messages.&lt;br /&gt;&lt;br /&gt;In this task we will replace use Log4J to print debug messages.&lt;br /&gt;&lt;br /&gt;There is a much better way to print debug messages, because Log4J allows us to redirect the messages to any arbitrary destination, such as console, file, log server, etc. Log4J also allows us to associate levels such as 'error', 'warning', etc with these messages. Besides these there are a few other advantages to using Log4J as well.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://logging.apache.org/log4j/1.2/index.html"&gt;Log4J&lt;/a&gt; and replace all instances of System.out.println() with Log4J debug messages.&lt;br /&gt;&lt;br /&gt;Describe what you did, any problems that you may have faced and how you overcame them, in a blog post.&lt;br /&gt;&lt;br /&gt;Leave a comment here after completing this task.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-4647537825183084140?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/4647537825183084140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=4647537825183084140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/4647537825183084140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/4647537825183084140'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2008/11/task-use-log4j-to-print-debug.html' title='Task: Use Log4J to print debug statements'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-5198914668578350751</id><published>2008-11-30T19:05:00.002+05:30</published><updated>2008-11-30T19:08:54.874+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaInsights101'/><category scheme='http://www.blogger.com/atom/ns#' term='task'/><title type='text'>Task: Determine how much code your unit tests cover</title><content type='html'>So now, we have unit tests for all our code. But do the unit tests cover the code sufficiently. Do they they cover all paths in the programs logic? Do they cover all classes and methods?&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://emma.sourceforge.net/"&gt;EMMA&lt;/a&gt;, which is a free and open source code coverage tool, and find out how well your unit tests cover the tested code. Then try and increase your test coverage to 100%.&lt;br /&gt;&lt;br /&gt;Describe what you did, any problems that you may have faced and how you overcame them, in a blog post.&lt;br /&gt;&lt;br /&gt;Leave a comment here after completing this task.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-5198914668578350751?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/5198914668578350751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=5198914668578350751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/5198914668578350751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/5198914668578350751'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2008/11/task-determine-how-much-code-your-unit.html' title='Task: Determine how much code your unit tests cover'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-7537942221405741391</id><published>2008-11-29T16:01:00.002+05:30</published><updated>2008-11-30T11:38:30.309+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaInsights101'/><category scheme='http://www.blogger.com/atom/ns#' term='task'/><title type='text'>Task: Unit testing the Swing GUI</title><content type='html'>We created a Swing GUI in task 9, but did not unit test it. Going with the philosophy of test driven development, we should have first written unit tests for the GUI and then implemented it. Well we will bend the rules this one time and write the tests after creating the GUI.&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://fest.easytesting.org/swing/wiki/pmwiki.php"&gt;FEST&lt;/a&gt;. This is a Swing unit testing library, that uses JUnit 4.0. Write unit tests for the GUI you created in task 9, using FEST.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Some Thoughts:&lt;/span&gt;&lt;br /&gt;FEST depends on &lt;a href="http://www.junit.org/node/477"&gt;JUnit 4.0&lt;/a&gt;, which uses Java Annotations. If your Annotations knowl&lt;br /&gt;Describe what you did, any problems that you may have faced and how you overcame them, in a blog post.&lt;br /&gt;&lt;br /&gt;Describe what you did, any problems that you may have faced and how you overcame them, in a blog post.&lt;br /&gt;&lt;br /&gt;Leave a comment here after completing this task.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-7537942221405741391?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/7537942221405741391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=7537942221405741391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/7537942221405741391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/7537942221405741391'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2008/11/task-unit-testing-swing-gui.html' title='Task: Unit testing the Swing GUI'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-2063134544018985154</id><published>2008-11-29T15:52:00.003+05:30</published><updated>2008-11-29T16:00:48.405+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaInsights101'/><category scheme='http://www.blogger.com/atom/ns#' term='task'/><title type='text'>Task: An exercise with Swing</title><content type='html'>Add a Swing GUI to &lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/task-exercise-with-threads.html"&gt;task 8&lt;/a&gt;. The GUI should provide a means for the user to choose all the files they want to parse. We will print the word count as well as the line count of all the chosen files. So the user no longer needs to specify that.&lt;br /&gt;&lt;br /&gt;The output should be printed in a read-only scrollable JTextArea on the GUI.&lt;br /&gt;&lt;br /&gt;The design of the GUI is left as an exercise to the developer.&lt;br /&gt;&lt;br /&gt;&lt;font style="font-weight: bold; font-style: italic;"&gt;Coding Requirement:&lt;/font&gt;&lt;br /&gt;Be sure that initialization of the GUI happens on the &lt;a href="http://en.wikipedia.org/wiki/Event_dispatching_thread"&gt;Event Dispatch Thread&lt;/a&gt; (EDT). Understand why it must happen on the EDT &lt;a href="http://www.jguru.com/faq/view.jsp?EID=8963"&gt;&lt;font style="font-style: italic;" size="1"&gt;(what is the EDT?)&lt;/font&gt;&lt;/a&gt;. At the moment you do not need to write any test code for the GUI.&lt;br /&gt;&lt;br /&gt;Display a title for the application in the titlebar.&lt;br /&gt;&lt;br /&gt;Be sure to print the debug log to the console as your program executes.&lt;br /&gt;&lt;br /&gt;&lt;font style="font-weight: bold; font-style: italic;"&gt;Some Thoughts:&lt;/font&gt;&lt;br /&gt;Even though we are not testing the GUI, it is also part of the software we are building, and must be tested. Think about how you can test the GUI. We will work on this in the next exercise.&lt;br /&gt;&lt;br /&gt;Describe what you did, any problems that you may have faced and how you overcame them, in a blog post.&lt;br /&gt;&lt;br /&gt;Leave a comment here after completing this task.&lt;br /&gt;&lt;br /&gt;&lt;font style="font-weight: bold; font-style: italic;"&gt;Resources:&lt;/font&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://weblogs.java.net/blog/cayhorstmann/archive/2007/06/the_single_thre.html"&gt;The Swing Single Thread Rule - Cay Horstman&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html"&gt;Threads and Swing&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-2063134544018985154?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/2063134544018985154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=2063134544018985154' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/2063134544018985154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/2063134544018985154'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2008/11/task-exercise-with-swing.html' title='Task: An exercise with Swing'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-2192483834245872425</id><published>2008-11-11T20:26:00.002+05:30</published><updated>2008-11-29T15:52:04.004+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaInsights101'/><category scheme='http://www.blogger.com/atom/ns#' term='task'/><title type='text'>Task: An exercise with threads</title><content type='html'>Refactor &lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/exercise-with-collections.html"&gt;task 7&lt;/a&gt; to allow the user to specify multiple input files. Parse each file and print either the word count or the line count as specified by the user.&lt;br /&gt;&lt;br /&gt;Processing of each file should be done in a separate thread. Do not print the output from individual threads, because the output from different threads may overlap, making it difficult for the user to read. Instead each thread should give its output to the main thread as an object and the main thread should print it after all threads have finished processing their files.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Coding Requirements:&lt;/span&gt;&lt;br /&gt;Be sure to print the debug log to the console as your program executes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Some thoughts:&lt;/span&gt;&lt;br /&gt;How will you do test driven development for multi-threaded code? Are there any standard paradigms?&lt;br /&gt;&lt;br /&gt;Describe what you did, any problems that you may have faced and how you overcame them, in a blog post.&lt;br /&gt;&lt;br /&gt;Leave a comment here after completing this task.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-2192483834245872425?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/2192483834245872425/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=2192483834245872425' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/2192483834245872425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/2192483834245872425'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2008/11/task-exercise-with-threads.html' title='Task: An exercise with threads'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-7212799899073671090</id><published>2008-11-11T20:09:00.004+05:30</published><updated>2008-11-29T11:22:53.113+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaInsights101'/><category scheme='http://www.blogger.com/atom/ns#' term='task'/><title type='text'>Task: An exercise with Collections</title><content type='html'>Refactor &lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/first-steps-into-test-driven.html"&gt;task 6&lt;/a&gt; to add a feature. Over and above what we did in &lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/first-steps-into-test-driven.html"&gt;task 6&lt;/a&gt;, we also want to print the number of times each word occurs in the input text file. This detail should be printed such that the word count appears in the same order as the words are encountered in the input file. The program will also accept an ignore file containing words that should be ignored for the count.&lt;br /&gt;&lt;br /&gt;Output for the text appearing above will be something similar to this:&lt;br /&gt;Refactor - 1&lt;br /&gt;task - 2&lt;br /&gt;6 - 2&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Coding Requirement:&lt;/span&gt;&lt;br /&gt;In the code, you must use a Map to store the words as keys and the count as it's value. From this exercise onwards we will also print a debug log as the program code executes. What this means is, you should print something to the console at important points in the program logic. These statements should show the progression of the program. In case the program fails, the debug log might help you determine the source of error quickly without having to debug the code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-7212799899073671090?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/7212799899073671090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=7212799899073671090' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/7212799899073671090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/7212799899073671090'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2008/11/exercise-with-collections.html' title='Task: An exercise with Collections'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-3275899823078281837</id><published>2008-11-10T12:47:00.010+05:30</published><updated>2008-11-11T20:35:56.411+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaInsights101'/><category scheme='http://www.blogger.com/atom/ns#' term='task'/><title type='text'>Task: First Steps Into Test Driven Development</title><content type='html'>From here on we be using TDD (Test Driven Development) methodology.&lt;br /&gt;&lt;br /&gt;While writing test driven code, we first write a unit test for the code we are about to write, and then we write the actual code. The code is refactored till the test passes. This process continues until we have a working solution. Writing code thus, also means we write code piecemeal in an iterative manner (which is another good coding practice).&lt;br /&gt;&lt;br /&gt;We will use JUnit 3.8 as the testing framework. You may need to download it if your IDE does not already have it.&lt;br /&gt;&lt;br /&gt;For this task you will write a simple program which takes a text file as an argument along with another argument which specifies whether the user seeks a word count or a line count. based on what the user asked for, print either the word count or a line count of the text file.&lt;br /&gt;&lt;br /&gt;Remember you have to do Test Driven Development, which means first write an empty (solution) class, then write a test to test one of the public methods of your class, then implement the method and refactor it till the test passes. Then write another test for another public method, and implement that method in the actual class... so on and so forth.&lt;br /&gt;&lt;br /&gt;As a practice of the solution class is called FileStats, the test class will be called FileStatsTest. Also if we are writing a test method for a method called methodA(), then the nam of the test method will typically be testMethodA(). See documentation of JUnit 3.8 for more details.&lt;br /&gt;&lt;br /&gt;All the test classes will reside in the test directory and will have the same package as the solution class.&lt;br /&gt;&lt;br /&gt;Describe what you did, any problems that you may have faced and how you overcame them, in a blog post.&lt;br /&gt;&lt;br /&gt;Leave a comment here after completing this task.&lt;your_name&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Resources:&lt;/span&gt;&lt;br /&gt;&lt;/your_name&gt;&lt;ol&gt;&lt;li&gt;http://agilesoftwaredevelopment.com/videos/test-driven-development-basic-tutorial&lt;/li&gt;&lt;li&gt;http://www.ic.sunysb.edu/stu/yosong/cse219/junit.html&lt;/li&gt;&lt;li&gt;http://www.scribd.com/doc/524491/JUnit-Tutorial&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-3275899823078281837?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/3275899823078281837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=3275899823078281837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/3275899823078281837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/3275899823078281837'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2008/11/first-steps-into-test-driven.html' title='Task: First Steps Into Test Driven Development'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-360679751129208587</id><published>2008-11-10T12:43:00.003+05:30</published><updated>2008-11-10T13:05:04.124+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaInsights101'/><category scheme='http://www.blogger.com/atom/ns#' term='task'/><title type='text'>Task: Refactor HelloWorld to use JSAP</title><content type='html'>In the HelloWorld example you wrote for Task 3, you wrote custom logic to parse the command line arguments.&lt;br /&gt;&lt;br /&gt;JSAP is a very good open source library that does command line argument parsing. Download JSAP and use it to parse command line arguments in the HelloWorld exercise.&lt;br /&gt;&lt;br /&gt;While refactoring code, try and use refactoring support in your IDE.&lt;br /&gt;&lt;br /&gt;Describe what you did, any problems that you may have faced and how you overcame them, in a blog post.&lt;br /&gt;&lt;br /&gt;Leave a comment here after completing this task.&lt;your_name&gt;&lt;br /&gt;&lt;/your_name&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-360679751129208587?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/360679751129208587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=360679751129208587' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/360679751129208587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/360679751129208587'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2008/11/refactor-helloworld-to-use-jsap.html' title='Task: Refactor HelloWorld to use JSAP'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-6725618128761219491</id><published>2008-11-09T22:29:00.003+05:30</published><updated>2008-11-28T18:36:37.235+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='task'/><category scheme='http://www.blogger.com/atom/ns#' term='java_insights101'/><title type='text'>Check-in code into a source control system</title><content type='html'>Register an open source project on http://code.google.com and check in your workspace project into the SVN repository.&lt;br /&gt;&lt;br /&gt;If you are using the Eclipse IDE, you may have to download a plugin for SVN.&lt;br /&gt;&lt;br /&gt;Describe what you did, including any problems you may have faced, and how you overcame them, in a blog post.&lt;br /&gt;&lt;br /&gt;leave a comment here after completing this task.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-6725618128761219491?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/6725618128761219491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=6725618128761219491' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/6725618128761219491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/6725618128761219491'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2008/11/task-check-in-code-into-source-control.html' title='Check-in code into a source control system'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-269012178078531596</id><published>2008-11-09T22:28:00.003+05:30</published><updated>2008-11-10T12:28:45.920+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='task'/><category scheme='http://www.blogger.com/atom/ns#' term='java_insights101'/><title type='text'>Task: Hello World</title><content type='html'>Everything starts with a HelloWorld, and so shall we :-)&lt;br /&gt;&lt;br /&gt;Write a HelloWorld program that takes in command line parameters to determine what should be printed. The program usage is as follows:&lt;br /&gt;&lt;br /&gt;HelloWorld -g &lt;greeting&gt; &lt;greeting&gt; -n &lt;your_name&gt;&lt;name&gt;&lt;br /&gt;-g A compulsory parameter which denotes a greeting such as Hello, or Hi&lt;br /&gt;-n &lt;/name&gt;&lt;/your_name&gt;A compulsory parameter which denotes &lt;greeting&gt;&lt;your_name&gt;the name that will follow the greeting in the output&lt;br /&gt;&lt;br /&gt;Running&lt;br /&gt;HelloWorld -g Hello -n Parag&lt;br /&gt;&lt;br /&gt;will print&lt;br /&gt;&lt;br /&gt;"Hello Parag"&lt;br /&gt;&lt;br /&gt;HelloWorld -g Hello&lt;br /&gt;Should print the usage string&lt;br /&gt;&lt;br /&gt;If any of the arguments are not provided, the program should abort with a usage string.&lt;br /&gt;&lt;br /&gt;Describe what you did, including any problems you may have faced, and how you overcame them, in a blog post.&lt;br /&gt;&lt;br /&gt;Leave a comment here after completing the task.&lt;br /&gt;&lt;/your_name&gt;&lt;/greeting&gt;&lt;/greeting&gt;&lt;/greeting&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-269012178078531596?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/269012178078531596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=269012178078531596' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/269012178078531596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/269012178078531596'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2008/11/task-hello-world.html' title='Task: Hello World'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-1793956576110906634</id><published>2008-11-09T22:27:00.002+05:30</published><updated>2008-11-10T12:18:30.683+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='task'/><category scheme='http://www.blogger.com/atom/ns#' term='java_insights101'/><title type='text'>Task: Create a working environment for Java</title><content type='html'>Ensure that you have installed JDK 1.6 (latest update), and an IDE such as Eclipse or Netbeans.&lt;br /&gt;&lt;br /&gt;In your IDE, create a new project called JavaInsights101_&lt;yourname&gt;. Create an empty readme.txt file in the project. Create a 'src' directory, and a 'test' directory  in the project.&lt;br /&gt;&lt;br /&gt;Describe what you did, any problems that you may have faced and how you overcame them, in a blog post.&lt;br /&gt;&lt;br /&gt;Leave a comment here after completing this task.&lt;your_name&gt;&lt;br /&gt;&lt;/your_name&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-1793956576110906634?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/1793956576110906634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=1793956576110906634' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/1793956576110906634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/1793956576110906634'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2008/11/task-create-working-environment-for.html' title='Task: Create a working environment for Java'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-446511193452562472</id><published>2008-11-09T22:26:00.005+05:30</published><updated>2008-11-10T10:44:25.544+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaInsights101'/><category scheme='http://www.blogger.com/atom/ns#' term='task'/><title type='text'>Task: Create a blog</title><content type='html'>To start with, all participants must create a blog which they can use as a regular learning journal, and a means for reflection, sharing, and collaboration.&lt;br /&gt;&lt;br /&gt;If you need help with blogging, check out Freeman Murray's &lt;a href="http://groups.google.com/group/techstart-in/web/blogging?pli=1"&gt;track on blogging&lt;/a&gt; for more information:&lt;br /&gt;&lt;br /&gt;Also register and introduce yourself on this &lt;a href="http://groups.google.com/group/adaptive-learning"&gt;mailing list&lt;/a&gt;. We will use this list for asking questions and other discussions related to this track.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-446511193452562472?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/446511193452562472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=446511193452562472' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/446511193452562472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/446511193452562472'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2008/11/task-create-blog.html' title='Task: Create a blog'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-6433568338278451</id><published>2008-11-09T22:21:00.017+05:30</published><updated>2009-01-11T17:49:51.169+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='java_insights101'/><title type='text'>JavaInsights 101</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Description:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Why Is This Track Needed?:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;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:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;An understanding of coding and design best practices&lt;br /&gt;&lt;/li&gt;&lt;li&gt;An exposure to the Java ecosystem of open source libraries and frameworks&lt;/li&gt;&lt;li&gt;An understanding of how to unit test Java code&lt;/li&gt;&lt;li&gt;An understanding of source control systems and how to use them&lt;/li&gt;&lt;li&gt;An understanding of how to use development and code analysis tools&lt;/li&gt;&lt;li&gt;A deeper understanding of some of the topics already learned in a regular Core Java course&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Learning Methodology:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Participants are encouraged to write blog posts regularly as well as read posts of other participants and leave (constructive) comments on their blogs.&lt;br /&gt;&lt;br /&gt;There is a supporting &lt;a href="http://groups.google.com/group/adaptive-learning"&gt;Google Group&lt;/a&gt; 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 Java.net . 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Registration:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To register for this track leave a comment on this post with your blog URL and go to &lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/task-create-blog.html"&gt;Task 1&lt;/a&gt;. If you do not already have a blog, do &lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/task-create-blog.html"&gt;Task1&lt;/a&gt; first and then leave a comment on this post.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Fees:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Frequently Asked Questions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Learning Tasks:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/task-create-blog.html"&gt;Create a blog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/task-create-working-environment-for.html"&gt;Create a working environment for Java&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/task-hello-world.html"&gt;Hello World&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/task-check-in-code-into-source-control.html"&gt;Task: Check-in code into a source control system&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/refactor-helloworld-to-use-jsap.html"&gt;Refactor HelloWorld to use JSAP&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/first-steps-into-test-driven.html"&gt;First Steps Into Test Driven Development&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/exercise-with-collections.html"&gt;An exercise with Collections&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/task-exercise-with-threads.html"&gt;An exercise with Threads&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/task-exercise-with-swing.html"&gt;An exercise with Swing&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/task-unit-testing-swing-gui.html"&gt;Unit testing the Swing GUI&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/task-determine-how-much-code-your-unit.html"&gt;Unit test code coverage&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/11/task-use-log4j-to-print-debug.html"&gt;Using Log4J for logging&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2008/12/task-code-review.html"&gt;Code review&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2009/01/task-build-project-using-ant.html"&gt;Using ANT for compiling your project&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2009/01/task-ensuring-code-quality-with.html"&gt;Ensuring code quality with FindBugs&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2009/01/your-journey-begins-now.html"&gt;Your journey begins now&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-6433568338278451?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/6433568338278451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=6433568338278451' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/6433568338278451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/6433568338278451'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2008/11/javainsights-101.html' title='JavaInsights 101'/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-6240311807326208535</id><published>2007-01-04T14:22:00.000+05:30</published><updated>2007-01-04T14:23:17.785+05:30</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Word Count Assignment&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Today we will work on an assignment that reuires knowledge of all the things we have covered till now.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Assignment: Word Counting&lt;/span&gt;&lt;br /&gt;Using any text file that has at least 500 words, count the number of words in the file, and count the number of times 'and' appears in the text file regardless of it's case. For the sake of simplicity any token delimted with whitespaces will be considered a word if it has at least 1 alphanumeric character.&lt;br /&gt;Print the word count and the number of times 'and' appears on the system cosole.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Tasks:&lt;/span&gt;&lt;br /&gt;1. Create a project in eclipse with a 'src' directory&lt;br /&gt;2. All the code will be put in the src directory&lt;br /&gt;3. Use the package name 'edu.scit.javalab.wordcount'&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Grading: 10 marks&lt;/span&gt;&lt;br /&gt;1. Coding conventions 2 marks&lt;br /&gt;2. Code quality 3 marks&lt;br /&gt;3. A working program 5 marks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-6240311807326208535?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/6240311807326208535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=6240311807326208535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/6240311807326208535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/6240311807326208535'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2007/01/word-count-assignment-today-we-will.html' title=''/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-5208897541722193179</id><published>2007-01-03T12:18:00.000+05:30</published><updated>2007-01-03T12:28:26.548+05:30</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Java I/O Basics&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Today we will cover the basics of the Java I/O system. Even though this topic will be covered in detail after 2 weeks, you will need to know enough to be able to read text files and do console I/O.&lt;br /&gt;References:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/essential/io/index.html"&gt;Java Tutorial - I/O Section&lt;/a&gt; - check out the character streams and buffered streams&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-5208897541722193179?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/5208897541722193179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=5208897541722193179' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/5208897541722193179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/5208897541722193179'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2007/01/today-we-will-cover-basics-of-java-io.html' title=''/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-2559441008270046677</id><published>2007-01-01T13:33:00.000+05:30</published><updated>2007-01-01T15:43:22.316+05:30</updated><title type='text'></title><content type='html'>This blog has been moved to &lt;a href="http://www.adaptivelearningonline.net"&gt;Adaptive Learning Online. &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-2559441008270046677?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/2559441008270046677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=2559441008270046677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/2559441008270046677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/2559441008270046677'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2007/01/this-blog-has-been-moved-to-adaptive.html' title=''/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-115052279690000371</id><published>2006-06-17T11:02:00.000+05:30</published><updated>2006-06-17T11:09:56.910+05:30</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Barcamp Pune - 17 June 2006 - Technology Enabled Learning&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The crux of this talk is: how can we use technology to achieve self guided continuous learning.&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2006/06/new-learning-environment-new-way-to.html"&gt;The new learning environment&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2006/06/learning-enablers-internet-makes.html"&gt;Learning enablers&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2006/06/learning-tools-blogsprovides-first.html"&gt;Learning tools&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2006/06/putting-it-all-together-so-how-do-we.html"&gt;Putting it all together&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://adaptivelearningsolutions.blogspot.com/2006/06/way-ahead-remember-best-learning.html"&gt;The way ahead&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;span style="font-style: italic;"&gt;Attribution: All the images in this presentation have been taken from Flickr and are licenced under the Creative Commons licence. They are copyright of their respective owners.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Happy learning :-)&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-115052279690000371?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/115052279690000371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=115052279690000371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/115052279690000371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/115052279690000371'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2006/06/barcamp-pune-17-june-2006-technology.html' title=''/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-115048148222951395</id><published>2006-06-16T23:32:00.000+05:30</published><updated>2006-06-16T23:43:32.930+05:30</updated><title type='text'></title><content type='html'>&lt;div&gt;                             &lt;b class="bold"&gt;The way ahead&lt;/b&gt; &lt;ul class="star"&gt;&lt;li&gt;Remember, the best learning occurs in a stimulating, active, challenging, interesting, engaging environment&lt;/li&gt;&lt;li&gt;Join a learning community&lt;/li&gt;&lt;li&gt;Create your own learning community&lt;/li&gt;&lt;li&gt;Participate in barcamps and openspaces&lt;/li&gt;&lt;li&gt;Be generous enough to share your experiences and knowledge with others&lt;/li&gt;&lt;/ul&gt;&lt;b class="bold"&gt;Does this thing really work?&lt;/b&gt;&lt;p class="paragraph"&gt;My point? I’m getting tired of hearing people continue to ask for the evidence that technology helps students learn. It doesn’t matter. We know — that good teachers help students learn. We need technology in every classroom and in every student and teacher’s hand, because it is the pen and paper of our time, and it is the lens through which we experience much of our world. &lt;a href="http://davidwarlick.com/2cents/2006/05/22/curriculum-is-dead/"&gt;[src]&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="paragraph"&gt; &lt;b class="bold"&gt;Learning institutions will be replaced with learning ecologies&lt;br /&gt;&lt;/b&gt;&lt;/p&gt; &lt;p class="paragraph"&gt;&lt;b class="bold"&gt;&lt;br /&gt;&lt;/b&gt;               &lt;/p&gt; &lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.flickr.com/24/45632741_4edf15b8fd.jpg?v=0"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://static.flickr.com/24/45632741_4edf15b8fd.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.flickr.com/57/168089786_82b22e0762.jpg?v=0"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://static.flickr.com/57/168089786_82b22e0762.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.flickr.com/33/43544086_dd5885a26a.jpg?v=0"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://static.flickr.com/33/43544086_dd5885a26a.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-115048148222951395?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/115048148222951395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=115048148222951395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/115048148222951395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/115048148222951395'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2006/06/way-ahead-remember-best-learning.html' title=''/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-115048043089397690</id><published>2006-06-16T23:21:00.000+05:30</published><updated>2006-06-16T23:23:50.896+05:30</updated><title type='text'></title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Putting it all together&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;p class="paragraph"&gt;&lt;b class="bold"&gt;So how do we use all these technologies to be bicycle riding learners?&lt;/b&gt; &lt;/p&gt; &lt;ul class="star"&gt; &lt;li&gt;Identify learning goals&lt;/li&gt;&lt;li&gt;Make a plan&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Manage the plan&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Wiki&lt;/li&gt;&lt;li&gt;ePortfolio&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;Identify resources&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Books&lt;/li&gt;&lt;li&gt;Journals&lt;/li&gt;&lt;li&gt;Online resources&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Articles&lt;/li&gt;&lt;li&gt;Newsletters&lt;/li&gt;&lt;li&gt;Blogs/podcasts/screencasts&lt;/li&gt;&lt;li&gt;Wikis&lt;/li&gt;&lt;li&gt;Open course ware - offered by several institutions&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;Consume the resource&lt;/li&gt;&lt;li&gt;Record, (reflect, practice, and discuss)* on the knowledge&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Writing a blog&lt;/li&gt;&lt;li&gt;Commenting on other people's blogs&lt;/li&gt;&lt;li&gt;On a discussion board&lt;/li&gt;&lt;li&gt;Answering quizzes&lt;/li&gt;&lt;li&gt;Assignments&lt;/li&gt;&lt;li&gt;Hands on development&lt;/li&gt;&lt;li&gt;Teach&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Use micro mentoring&lt;/li&gt; &lt;/ul&gt; &lt;b class="bold"&gt;Till the process is internalized and propels you towards continuous learning.&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.flickr.com/24/65030029_7fde9e8c38.jpg?v=0"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://static.flickr.com/24/65030029_7fde9e8c38.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-115048043089397690?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/115048043089397690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=115048043089397690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/115048043089397690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/115048043089397690'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2006/06/putting-it-all-together-so-how-do-we.html' title=''/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-115048020452041867</id><published>2006-06-16T23:17:00.000+05:30</published><updated>2006-06-16T23:20:04.530+05:30</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Learning Tools&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;ul class="star"&gt; &lt;li&gt;Blogs&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Provides first hand news on various topics&lt;/li&gt;&lt;li&gt;Can be used as a learning journal&lt;/li&gt;&lt;li&gt;Provides a tool for a more interactive learning experience&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Establishent -&gt; Introspection -&gt; Reflective Monologue -&gt; Reflective Dialogue -&gt; Knowledge Creation&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;Newsreaders&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Allows us to effively track news, changes, and blogs&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Wiki's&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Shared whiteboard&lt;/li&gt;&lt;li&gt;Collaboration medium&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Groups&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Facilitate discussion&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Online calendars&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Facilitate scheduling and event announcements&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Flickr&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Facilitates sharing of photographs and images&lt;/li&gt;&lt;li&gt;Facilitates reuse of images distributed under a Creative Commons license&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Conferencing&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Allows real time interaction for distributed groups&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Podcasting/screencasting/videocasting&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Facilitates distribution of rich media&lt;/li&gt;&lt;li&gt;harnesses the power of RSS for rich media&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;ePortfolios&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Facilitates users to track their learning goals and outcomes&lt;/li&gt;&lt;li&gt;Facilitates users to show case their learning&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Delicious&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Facilitates people to tag resources of interest&lt;/li&gt;&lt;li&gt;Facilitates community wide sharing of tags&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;coComment&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Allows users to track their comments on other peoples blogs&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;online mind mapping and diagramming&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Allows users to represent knowledge in a way that is native to their brains&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Second life&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Facilitates an extremely rich distributed collaboration environment&lt;/li&gt;&lt;li&gt;Uses&lt;/li&gt;&lt;ul class="star"&gt;&lt;li&gt;Socializing&lt;/li&gt;&lt;li&gt;Meetings/Conferences/Barcamps/...&lt;/li&gt;&lt;li&gt;Customer support&lt;/li&gt;&lt;li&gt;Virtual workplaces&lt;/li&gt;&lt;li&gt;Virtual universities&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt; &lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.flickr.com/30/46715407_30449001f8.jpg?v=0"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://static.flickr.com/30/46715407_30449001f8.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-115048020452041867?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/115048020452041867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=115048020452041867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/115048020452041867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/115048020452041867'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2006/06/learning-tools-blogsprovides-first.html' title=''/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-115047720235111418</id><published>2006-06-16T22:17:00.000+05:30</published><updated>2006-06-16T22:48:12.603+05:30</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Learning Enablers&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;The internet&lt;/li&gt;   &lt;ul&gt;     &lt;li&gt;Makes information available on our fingertips&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.flickr.com/35/70282586_b86e03e593.jpg?v=0"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://static.flickr.com/35/70282586_b86e03e593.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Multimedia&lt;/li&gt;   &lt;ul&gt;     &lt;li&gt;Allows a richer representation of information&lt;/li&gt;     &lt;li&gt;Goes beyond text&lt;/li&gt;     &lt;ul&gt;       &lt;li&gt;Images&lt;/li&gt;       &lt;li&gt;Audio&lt;/li&gt;       &lt;li&gt;Video&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.flickr.com/54/153725264_09dcaa99d4.jpg?v=1148667662"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://static.flickr.com/54/153725264_09dcaa99d4.jpg?v=1148667662" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Collaboration technologies&lt;/li&gt;   &lt;ul&gt;     &lt;li&gt;Allows real time collaboration accross geograhical boundaries&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://static.flickr.com/45/139141744_95f05113a6.jpg?v=0"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://static.flickr.com/45/139141744_95f05113a6.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-115047720235111418?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/115047720235111418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=115047720235111418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/115047720235111418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/115047720235111418'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2006/06/learning-enablers-internet-makes.html' title=''/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-115047263036569466</id><published>2006-06-16T19:14:00.000+05:30</published><updated>2006-06-16T22:02:49.116+05:30</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;The New Learning Environment&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;h3 style="font-weight: normal;" class="heading-1"&gt;The new way to progress and innovation (&lt;a style="font-style: italic;" href="http://headrush.typepad.com/creating_passionate_users/2006/06/mosh_pit_as_inn.html"&gt;according to Kathy Sierra&lt;/a&gt;)&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://headrush.typepad.com/photos/uncategorized/progress.jpg"&gt;&lt;img style="cursor: pointer; width: 320px;" src="http://headrush.typepad.com/photos/uncategorized/progress.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The learning landscape has changed. The new environment is:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Networked&lt;/li&gt;   &lt;li&gt;Collaborative&lt;/li&gt;   &lt;li&gt;Guided by micromentors&lt;/li&gt; &lt;/ul&gt; &lt;span style="font-weight: bold;"&gt;And more sources of information are available to learners&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;Teacher, guide, mentor, collegue&lt;/li&gt;   &lt;li&gt;Print books&lt;/li&gt;   &lt;li&gt;The digital universe&lt;/li&gt; &lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;To top it all technology allows for a very good distributed collaboration experience&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;Wiki's&lt;/li&gt;   &lt;li&gt;Blogs&lt;/li&gt;   &lt;li&gt;Discussion boards&lt;/li&gt;   &lt;li&gt;Chat&lt;/li&gt;   &lt;li&gt;Audio and video conferencing&lt;/li&gt;   &lt;li&gt;VOIP&lt;/li&gt;   &lt;li&gt;Virtual wordls&lt;br /&gt;  &lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-115047263036569466?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/115047263036569466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=115047263036569466' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/115047263036569466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/115047263036569466'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2006/06/new-learning-environment-new-way-to.html' title=''/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-29611753.post-115013538213422729</id><published>2006-06-12T23:32:00.000+05:30</published><updated>2006-06-16T22:05:56.536+05:30</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Learning To Learn - with Web 2.0 technologies&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Learning has changed significantly in the past few years as the knowledge needs of people and tools available to them have changed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Learning Before:&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;Most learning happened in the classroom&lt;/li&gt;   &lt;li&gt;The knowledge was sufficient for decades with very little upgrading (2)&lt;/li&gt;   &lt;li&gt;Half life of knowledge was large&lt;/li&gt;   &lt;li&gt;The pressure to continuously learn new things was less&lt;/li&gt;   &lt;li&gt;Learning was formal&lt;/li&gt;   &lt;li&gt;Learning was individual&lt;/li&gt;   &lt;li&gt;Learning was generic&lt;/li&gt;   &lt;li&gt;Lecturing was only related to factual information&lt;/li&gt;   &lt;li&gt;Teacher and print media served as the primary means of communication and information&lt;/li&gt;   &lt;li&gt;Learning was separated from the rest of the community&lt;/li&gt;&lt;/ul&gt; &lt;span style="font-weight: bold;"&gt;Learning Now:&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;   &lt;li&gt;Only 10-20% of learning happens in the classroom (1)&lt;/li&gt;   &lt;li&gt;Only fundamentals last… the knowledge changes&lt;/li&gt;   &lt;li&gt;Half life of knowledge is less (3)&lt;/li&gt;   &lt;li&gt;The pressure to continuously learn new things is VERY high&lt;/li&gt;   &lt;li&gt;Learning is informal (4)&lt;/li&gt;   &lt;li&gt;Learning is networked &amp; collaborative (5)&lt;/li&gt;   &lt;li&gt;Learning is personalized (6)&lt;/li&gt;   &lt;li&gt;Lecturing is about guiding, motivating, and facilitating (7)&lt;/li&gt;   &lt;li&gt;Learning using a vast variety of media including the Internet (7)&lt;/li&gt;   &lt;li&gt;Learning now occurs globally (7)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Now let's see what Kathy Sierra has to say about ideal learning (&lt;a href="http://headrush.typepad.com/creating_passionate_users/2006/04/moving_up_the_w.html"&gt;&lt;span style="font-style: italic;"&gt;more...&lt;/span&gt;&lt;/a&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://headrush.typepad.com/photos/uncategorized/wisdomhierarchy3.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://headrush.typepad.com/photos/uncategorized/wisdomhierarchy3.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://headrush.typepad.com/photos/uncategorized/wisdomhierarchy1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://headrush.typepad.com/photos/uncategorized/wisdomhierarchy1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/29611753-115013538213422729?l=adaptivelearningsolutions.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://adaptivelearningsolutions.blogspot.com/feeds/115013538213422729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=29611753&amp;postID=115013538213422729' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/115013538213422729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/29611753/posts/default/115013538213422729'/><link rel='alternate' type='text/html' href='http://adaptivelearningsolutions.blogspot.com/2006/06/learning-to-learn-with-web-2.html' title=''/><author><name>Parag</name><uri>http://www.blogger.com/profile/16885449156962300704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
