I just watched a talk by Bill Gates. His key insight is that complexity is what prevents us to solve problems. I would take this a step further. Extracting the simple, but important ideas should be the duty of any scholar. Unfortunately, we sometimes equate simplicity with triviality. Yet, smart people avoid complexity while getting the job done.

Of course complexity is the culprit of many ills.

Even more so than Bill Gates thinks, I bet he never read Joseph A. Tainter otherwise he would not speak so “optimistically”:

http://members.aol.com/leanan7/tainter.htm

Throughout my education (currently I’m a M.S. student in computer engineering), the teachers I admired the most were the ones who simplified the problems for me to see that they are not so difficult.

Recently, I was observing and thinking about the differences of the professors I know. I can say that most of them try to find more complex and confusing solutions. This is their style of approaching to problems. And so, they try to teach in this way to their students. But a good role model among them was very different! After completing his classes, I thought the topics are so easy and I doubted that we did not see much in the courses. But when I needed to study from the book in detail for the final, I saw that it is very clear to

follow the chapters. Also, when I had some problems, his approach perceived me that smarter people think simpler and their concentration starts from trivial ideas to complex ones.

Complexity should always be the next step. In fact, this can be left to the students I think. Because understanding the principles of a field makes a good student to stand up on his feet and build up the next step.

On the other hand, simplicity in terms of computer science is very essential which I learn by living! I study computer vision where most of the efficient approaches depend on simple techniques. In my current research, I proposed a more complex extension for Active Shape Models for tracking faces in videos. I thought that simple ASMs would not be capable of handling this objective. I implemented the ASMs from scratch, but I felt it is unnecessary to try the simple model. So, I started with the complex one. The results are good. But when I tried the simpler one to compare, I realized that my efforts should be on another way. We should always consider the burden of complexity: Too much parameters to deal with!