We have a choice in designing our software development careers. We can follow the path of a technologist learning and exploiting one technology to solve the problems that particular technology was built to solve. Alternatively, we can be a computational thinker who can address a much broader set of problems, choosing or designing the solution needed for the problem at hand. Computational thinking is more than thinking like a programmer, and we’ll see that not all programmers are thinking computationally.
Computational thinking is NOT thinking in programming language syntax. I think the worst thing we could do to get someone interested in programming is to introduce them to syntaxes like Java, C, or Fortran on day one. Why would they want to bother learning these unfamiliar, arcane details like pointers, classes, and compilation? Rather, let’s start with a goal. What problem are they trying to solve? Can this problem be framed as a computational one that a computer can do much faster than we could?
I was about 15 years old the first time I saw a computer, and I loved it! I joined a Math and Physics track in high-school, came to the US when I was 18 to attend ISU. I graduated with a CS degree and
...