Thinking Like a Programmer
A large goal of this Nanodegree program is to give you practice thinking like a computer programmer. Longtime programmers will often talk about how the programming thought process has helped them in other areas of their life, but what does it mean to "think like a programmer?" In this Nanodegree program we will focus on five specific ways of thinking that all programmers have to use all the time. We will come back to these ideas repeatedly throughout the Nanodegree program. 1. Procedural Thinking Procedural thinking involves creating perfectly clear and unambiguous instructions for a computer to follow. It may be easy to tell a person how to sort a deck of cards, but getting a computer to do that requires more thought. But once you've learned to think this way you'll find that computers can do it much faster. 2. Abstract Thinking Abstract thinking means finding similarity, or as programmers would say, generality amongst seemingly different things. In this Na