I have started with a course named Algorithms Part 1 from the Princeton university at coursera.org. This is one of the most popular algorithms course and has also been mentioned in Google’s guide to technical development. The course has video lectures and assignments. Algorithms are to be implemented in Java, so that is the only prerequisite. Some familiarity with complexity can help.
So, I will keep posting about various things that I would learn along the way, things that I find important for CS students.