Skip to main content

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.

Comments

Popular posts from this blog

Behave: The Biology of Humans at Our Best and Worst by Robert M. Sapolsky My rating: 5 of 5 stars I finished reading this crying. It is a work of neurobiology, social science, anthropology, and history, but ultimately it is a work of great humanity, suggesting ways that humans, our groups, our systems, and our societies can be made better. View all my reviews

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 : #1 - Link Although I've been a software developer for 15 years, and for longer alternating between a project manager, team lead, or analyst, mostly in finance, and now with a cancer center, I found it funny that you blame the people doing the coding for not seeing the harm it could cause. First, most scientific advancement has dark elements, and it is usually not the science but how it is used and sold by business people that is the problem. This leads to the second problem, in that it is not coding that is in itself problematic, but specifically how technology is harnessed to sell. It is normal and desirable to track users, to log actions, to collect telemetry, so as to monitor systems, respond to errors, and to develop new features, but that normal engineering practice has been used to surveil users for the purpose of selling. Blaming