Climb your mountain!

I have come to learn that one of the most primary tenets in the field of computer science is the breaking down of a problem. Making a complex problem or system into smaller parts that are easier to understand and program is essential in computer science, and something that I was taught to do on the first day of class. In fact, even in elementary school, we were taught to not focus on a large project as a whole, but work through it bit by bit so as not to be overwhelmed by the task.

However, I've been having a realization that one use the concept of decomposition for  nearly everything, not just for computer science problems, but also for real life problems. Any great challenge I've faced in life I have overcome by 1) Trying to see it as overcome-able and 2) Trying to solve it one step at a time. 

Because the first step to solving any problem is to see it as just a problem and not an unconquerable mountain. And in fact, no mountain is unconquerable; you merely need to take the first baby step that goes into reaching the peak. I'm not saying the trek will be easy, just that it is possible, always.

The hardest things in life seem that way because they are unknowable. Once you truly see them as they are, they don't seem so daunting anymore. After all, the hardest computer science projects are only so because you haven't started them yet, right?


The views, opinions and positions expressed by the authors and those providing comments on these blogs are theirs alone, and do not necessarily reflect the views, opinions or positions of UT Computer Science, The University of Texas or any employee thereof.