Category Archives: Coursera

Algorithms, Part I on Coursera

About a week ago I finished Algorithms, Part I course on Coursera. Few thoughts after completing this course:

  • good course by Robert Sedgewick and Kevin Wayne that is focused primarily on algorithms and their analysis
  • great refresher especially for those who worked in the industry for a while
  • course uses Java as programming language, but having very little Java experience wasn’t a problem, being proficient in C++ and especially C# helped a lot
  • the course focuses mostly on application of existing algorithms but does not focus on the algorithm design which is its biggest drawback
  • Dr. Java IDE that comes with the course is terrible. Instead, I used Eclipse and version of Java that the default course setup installs on your machine (see previous post on how to configure Eclipse for this course)
  • the course does not provide a verified certificate which is a bummer especially after all the hard work
  • all of the programming tasks were fun and challenging
  • lecture and slides are helpful but you obviously need to do your own learning in addition to that

In order to be successful in this class, you need to:

  • make sure you keep delivering exercises and programming assignments before the due date or at least hard deadline. For me it was a big challenge in the beginning due to packed schedule but I had supportive environment and overall experience was smooth.
  • do not study if you’re tired after work – instead, get a good night of sleep and study when your brain is fresh – sounds like a no-brainer but it’s not so obvious until you experience double load – both at work and in the class
  • do not use Dr Java – it’s almost impossible to debug your code fast, especially complex data types. Install Eclipse. Enough said.
  • try to have fun and enjoy every moment of it!

Overall, I recommend this class.

Configuring Eclipse IDE for Algorithms, Part I (Coursera)

Coursera is offering great algorithmic courses Algorithms, Part I and Part II by Robert Sedgewick. The only problem with them is Dr. Java IDE they recommend. It is free, usable but completely impractical when it comes to debugging.  I’ve configured Eclipse IDE and my productivity increased significantly, especially when it comes to debugging.

Here is how to configure Eclipse on Windows machine for Algorithms, Part I/part II:

  1. Uninstall any instances of Java from your machine
  2. Follow step 0 from http://algs4.cs.princeton.edu/windows/ to install algs4.exe
    • only follow step 0, skip the rest as we will use Eclipse instead of Dr. Java
  3. Download stdlib.jar and algs4.jar to permanent folder
  4. Download Eclipse IDE for Java Developers
    • At the time of this blog post I had Eclipse Luna SR1 4.4.1 on my machine
  5. Follow instructions in eclipse.pdf to configure Eclipse.
    • The instructions are long and little tedious but well worth it
    • Here’s how you create a User Library in Eclipse: go to Window > Preferences > Java > Build Path > User Libraries, create New library and add algs4.jar and stdlib.jar from step 3 (I called it Coursera): 0UserLibraries
    • Whenever you create a new Java project you need to add newly created user library : right click on project, Build Path > Add Libraries 1AddLibrary 2AddLibrary
    • Here’s what your Java project in Eclipse will look like after adding this library:3Project

Eclipse worked well for me and as I mentioned previously increased my productivity which made studying fun again.

Good luck and let me know if you have questions!