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.
21 years old, I got my first book released, I was so excited. Buy it here
Pro iOS Apps Performance Optimization
Today’s iPhone and iPad apps developers are often running into the need to refine, improve and optimize their apps performances. As more complex apps can be created, it is even more important for developers to deal with this critical issue.
Pro iOS Apps Performance Tuning and Optimization covers many common but difficult problems when tuning and optimizing performance for iPhone and iPad apps and how to resolve these problems efficiently. This book gives you the following:
Basic knowledge on common problems in iPhone apps
Advanced knowledge over data structure, algorithms, multithreading, and network data in iPhone apps
Comparison with problems and solutions for Android and Windows Phone apps
After reading this must-have book, you’ll be ready to make the most of the processing power of the iPhone with your apps performance optimization know-how.
What you’ll learn
Benchmark your apps using emulators and real device tests
Increase and optimize UITableView performance in your iOS apps
Increase your app performance using image and data caching techniques
Tune your apps using algorithms and data structures
Improve your parallel data access using multithreading techniques
Optimize memory usage for increased battery life and better apps performance
Use native C code to address memory leaks or EXEC_BAD_ACCESS