بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيمِ
In the name of Allah, the Most Beneficient, the Most Merciful
So the story is, I will have Introduction to Algorithm exam in a few weeks. Thus, I searched for a good algorithm course out there, and found this one great course: MIT Open Courseware – 6.006 Introduction to Algorithm (Fall 2011). This course by MIT is
damn very very good! The lecture is very subtle and clear, and we also get the full documents (lecture and recitation notes, problem sets, quizzes, exam, and its solutions). Furthermore, I also find that the teacher  and assistant is very nice (and sometimes funny) too! And for your information, this courses will assume that you have a basic knowledge of calculus, discrete mathematics (as you can find here and here), and python programming language.
All in all, I rate it 9.65/10 ! And I really
really really recommend it to all of you out there that want to learn/rehearse your algorithm skills . :D
 One of its teacher (Erik Demaine) is a prodigy in computer science, and is/was one of the youngest professor in MIT.
 Honestly, I want to grade it with 10/10.. But hey! 9.65 looks more “professional” right? :p
 I have once tried the edx and coursera version of algorithm courses, but I prefer this one. :D