This course is taught by an excellent professor, Robert Sedgewick from Princeton University. The learning curve is steep but that's totally worth it. The course introduces you to programming in Java in a succinct manner. The concepts learnt are applicable across many other programming languages. The modules are presented in a practical manner so that the learner isn't burdened with the material all at once. All in all, an excellent course and it is totally worth taking it.