Friday, July 04, 2014

Don't learn to code. Learn to think.

Below is is my usual response when I see an article stating that everyone should learn to code: 
Rather than programming, it is more important to impart the thinking of computer science (CS) than a specific implementation. Programming can be an end point for some students, but it is likely that programming itself will be increasingly automated, so that one needs more the general concepts common in CS. Even then, programming itself is to some degree a grunt task that one progresses beyond: 
The following are typical components of a CS degree:
  • algorithms & flowcharting
  • systems thinking
  • logical systems and set theory
  • object-orientation & patterns
  • probability, statistics, mathematics
All of the above can be useful in an increasingly automated and data-driven world.

A Journey — if You Dare — Into the Minds of Silicon Valley Programmers

My responses in a NY Times comment section for the book, Coders: The Making of a New Tribe and the Remaking of the World by Clive Thompson ...