When and how should I start learning Data Structures and Algorithms?

I had begun programming in C a 2 months ago. Before this, I did not have any programming experience. Till now I have only covered basic input, output functions, loops, if-else conditions, arrays and functions. The only algorithm that I know is bubble sort. Is this the right time to start learning algorithms or do I need to read up more about other features of C and solve some more problems? What could be a good resource for doing this, apart from CLRS and Coursera or Udacity courses?

When to start? - Right now!

Is this the right time to start learning algorithms? - Yes, it is the perfect time. Read problems, various algorithms, and try to implement those. This will increase your grasp on the language © further. To start with, study the Divide and Conquer paradigm, you can study it from wherever you wish (CLRS, online tutorials) then try to implement some algorithms based on that: e.g Merge Sort

Then move on to Dynamic Programming and so on… Keep building the concepts.

A motivational tip:

Every night when you go to sleep, ask yourself a question “What have I learnt today?”