Introduction
Here I will try to describe how to manage learning resources so that user/ reader can get them when they are necessary. Here learning resource means any web link which contains necessary information, code snippet which needs to store or share, any sample app with source, any book references or any other resources.
Initially I will describe about problems related to managing learning resources and then I will try to give some solution so that we can recover those problems.
Problems
I am starting from very beginning; consider we just started to learn programming or anything related to software development.
Q: What happened when we are going to learn new thing(s)?
A: We got lots of resources like
Book, web articles/ blog posts (web link), Video tutorial etc.
Q: What we did after getting desired resources?
A: We took note from various resources what are necessary for us. (Consider you have a note on "how to read and write in text file using C#")
Q: What happened after taking note?
A: Suppose after one month you are asked to write a program to read and write in text file. Then you can remember you already done it and now search for your note (web link/ code snippet/ text description etc.) or your sample project.
- When you are going to search for note/ sample project then you may face following problems
- You cannot remember where you have stored your sample project or right now you don’t have sample project because you stored it on your home pc and now trying from office/ friends pc.
- You cannot remember where you noted it or you have a note but it is difficult to find specific topic from there.
- You may lose it.
- You cannot search content through the note because there may not any search mechanism.
Q: What happened if we lose our note or learning resources or project?
A: Again we search through the web or other resources. So it takes time again.
Q: What happened if we get solution from web or other resource?
- We may get multiple solution but all are not clear to us.
- We may get some sections are clear from this book, other sections are clear from another blog and other things are well described in another video tutorial. So we cannot get all together what are necessary to us.
Here I am considering note includes Web link, Code snippet, Text written by you.
Things necessary for solving above problems.
If we want to solve above problems then our solution must include following things.
High availability
That means we can use our resources (note/ sample project etc.) from anywhere (home/ office ...). That’s why we have to store our note (Text Description, web links, code snippet, documents etc.) in cloud/ web.
Search mechanism
There must be a mechanism for search so that we can get our desired resources very shortly.
Share-able
There must be a mechanism so that we can share our learning resources with other.
Backup policy
There must be a way to keep backup of our resources so that there is no chance to lose it.
Separation of resources
If we put all note, resources, web links, code snippet all together then it will be messy then it cause time to find our desired things. So we must separate our resources based on type/ criteria.
Solutions
1. Saving Web Links: We can use following sites for storing web
links with appropriate description and tags. These description and tags are
helpful for searching specific topic.
And
so on.
I
found delicious is good and easy to manage.
2. How you can save/store your sample projects
Suppose you learnt how to read and write to text file and
you also created a sample project on it. It is better to keep it online storage
or any online version control.
If you are very beginner and you don’t know about version
control then you can put your resources to online storage like
http://onedrive.com
http://dropbox.com
Etc.
You also store your source code to (If you are familiar with
version control)
http://github.com
https://bitbucket.org/
https://workspaces.codeproject.com/
And also http://www.visualstudio.com/
So finally you can access your source any time anywhere.
3. How you can save/store your learning notes
We can divide notes in 3 parts:
Only code snippet, some note with code sample, and code sample with full
description (something like blog post)
- Storing code snippet
We can use following sites to store our code snippet
http://codepaste.net/
http://snipt.org/https://gist.github.com/
http://www.snip2code.com
And so on. I personally like codepaste.net
- Storing note with code snippet which is fully
personal.
I found "One Note" is very helpful in this section. You can use online
version of one note document from www.onedrive.com.
You can manage your learning note
by creating different category and topics. Suppose you are learning C# language
and the topics is "Generic Type". Then you can create a tab named C Sharp
language and inside that tab you can add title "Generic Type" something like
following image.
So in this way you can manage your learning short note.
- Code sample with full description
If you want to store full description
of your sample code or what you learnt then you can create personal blog post.
Initially this blog post is only for you because when you need help any topics
what you learnt in past then you can take help from your blog site because it
is written by you and according to your way.
You can tie a sample project link
with your blog post so that you can grab it while reading your post.
What will happen if you write blog
post on what you learning continuously?
- You can easily get your resources according to your
own way.
- Day by day it will be good resource for you.
- It will increase you writing skill.
- When you have enough article then you can think
about MVP program or other things.
- Tech community will know about you.
- Writing blog means you are contributing community.
- You can share your learning resources easily.
Initially you can start writing
from following site and they are fully free
http://wordpress.com/
https://www.blogger.com
And so on. I found WordPress is
good and easy to access.
4. How you can keep track on any solution requested by you or asked by you./ How you can get help if you don’t get any solution after goggling.
Suppose you need help on how to connect your application
with oracle data base. You searched lot from web but no solution. In that
case before asking anyone first ask on forum site like
http://social.msdn.microsoft.com/Forums/en-US/home
Or
http://stackoverflow.com/
Or
http://forums.asp.net/
And so on...
Then you also share your question with other person like
your friend and so on.
If you use forum for asking question then it will store in
one place and help you to get information when required.
If you continuously contribute in forum then you also earn
some points. This point will help you in near future.
In these way you can manage your learning resources. J
Conclusion
Hope above ways will help us to manage our learning resources. If you have any better idea then you can share it with us in comments section. I will update my post accordingly.
Hi I am Mohammad Hasibul Haque an application developer. Now I am working as a Software Engineer(.net) at Daffodil Group. Here I am working for Business ERP, Daffodil School Management System and so on. I am dedicated to Microsoft .NET based application development.
I am very much fan of Microsoft. Always want to learn new things & new technologies..
I am Microsoft Certified Professional Developer (MCPD ASP.net .net 3.5) and also achieved Microsoft Community Contributor Award 2011 from Microsoft.