Computational Thinking for Professionals

posted in: reading | 0

Computational thinking, a K–12 education movement begun in 2006, has defined a curriculum to teach basic computing in pre-college schools. It has been dramatically more successful than prior computer literacy or fluency movements at convincing K–12 school teachers and boards to adopt a computer curriculum. Learning problem-solving with algorithms is seen widely as valuable for students. Hundreds of CT initiatives have blossomed around the world.

By 2010, the movement settled on a definition of CT that can be paraphrased as “Designing computations that get computers to do jobs for us.” The recommended K–12 curricula were narrow in scope, designed to teach newcomers the basics of algorithms, programming, and using computers. One oft-cited overview lists nine fundamental concepts as the core of CT2:

• Abstraction;
• Data collection;
• Data analysis;
• Data representation;
• Algorithms and procedures;
• Problem decomposition;
• Automation;
• Parallelization; and
• Simulation.

Abstraction has been held up as the first and foremost principle. In their 2021 Turing Lecture, Alfred Aho and Jeffrey Ullman emphasized the importance of abstraction in the design of programming languages and compilers…

Ryan Watkins