I just finished the Optimization course in Coursera.org and I felt excited about it. I learnt many new computer science concepts that I skipped during my undergraduate time. My postgraduate was more about management, business and finance than a technical one.
This is a quick review of the course to show what I learnt, what I wished to learn more and how I could apply it in my real world problem
What I learnt:
- NP-hard problems
- The basic knapsack problem
- Branch and bound
- Bottom Up Dynamic Programming
- Constraint Programming
- Local Search
- Integer Programming
It is one of the toughest course in coursera so I needed to watch one topic twice, one for the general understanding and the second is when I need to finish my programming assignment. I will summarise what I learnt in the next few posts, and upload my java code so people can learn from it. The code is not good, though.
The difficulty of the assignments increase significantly when you progress through the course. However, you can jump to any assignment and finish it if you feel comfortable. The lecturer has a hilarious style of teaching that I enjoyed. I personally got 256/320, about 80% of the score, enough to get a certificate
P/S: I recently had a discussion with my coworker about the role of the school and what students should expect to learn. Some of the key concepts offer short term benefits while others’ usefulness need years to recognize.I will write about that in another blog post.