How to manage learning resources when you are beginner (For programmer/ software developer)

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.

 

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.

>https://delicious.com

>http://www.tumblr.com

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)

              i.Storing code snippet

We can use following sites to store our code snippet

http://codepaste.net/

http://snipt.org/

https://gist.github.com/

And so on. I personally like codepaste.net

              ii.  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.

OneNoteSample

So in this way you can manage your learning short note.

              iii. 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.