Announcement

Collapse
No announcement yet.

Cooks or Computer Programmers?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Cooks or Computer Programmers?

    "So what is computational thinking? If you have ever improvised dinner, pat yourself on the back: you have engaged in some light CT.
    . There are those who open the pantry to find a dusty bag of legumes and some sad-looking onions and think "Lentil soup!" And those who think "Chinese takeout." A practiced home cook can mentally sketch the path from raw ingredients to a hot meal, imagining how to substitute, divide, merge, apply external processes (heat, stirring), and so on until she achieves her end. Where the rest of us see a dead end, she sees the potential for something new.
    . If seeing the culinary potential in raw ingredients is like computational thinking, you might think of a sort ware algorithm as a kind of recipe: a ste-by-step guide on how to take a bunch of random ingredients and start layering the together in certain quantities, for certain amounts o time, until they produce the ouutcome you had in mind.
    . Like a good algorithm, a good recipe follows some basic principles. Ingredients are listed first, so yo can collect them before you start, and there is some logic in the way they are listed: Olive oil before cumin because it goes in the pan first. Steps are presented in order, not a random jumble, with staggered take so that you are chopping vegetables while waiting for the water to boil. A good recipe spells out precisely what size of dice or temperature you are aiming for. It tells you to look for signs that things are working correctly at each stage---the custard should coat the back of a spoon. Opportunities for customization are marked--use twice the milk for creamier texture--but if any ingredients are absolutely crucial, the recipe makes sure you know it. If you need to do something over and over--add four eggs,one at a time, beating after each--those tasks are boiled down to one simple instruction.
    . Much like cooking, computational thinking begins with a feat of imagination, the ability to envision how digitized information--ticket sales, customer addresses, the temperature in your fridge, the sequence of events to start a car engine, anything that can be sorted, counted, tracked--could be combined and changed into something new by applying various computational techniques. From there, it is all about "decomposing" big tasks into a logical series of smaller steps, just like a recipe.
    . Those techniques include a lot of testing along the way to make sure things are working. The culinary principle of mise en place is akin to the computational principle of sorting: organize your data first, and you will cut down on search time later. Abstraction is like the concept of "mother sauces" in French cooking (bèchamel, tomato, holland aisle), building blocks to master and reuse in hundreds of dishes. There is interation: running a process over and over until you get a desired result. The principle of parallel processing makes use of all available downtime (think: making the salad while the roast is cooking. Like a good recipe, good software is really clear about what you can tweak and what you cannot. It is explicit. Computers don't get nuance; they need everything spelled out for them.
    . There is no limit to the principles and techniques professional cooks and advanced coders might master. But here is the key point: Cooking is all about physics and chemistry, but not everyone needs to understand the molecular process of protein coagulation to know that to make scrambled eggs, you beat the eggs and tip them into a hot pan."

    [Excerpted from: Mother Jones magazine, July-August 2014 issue -- "We Can Code It"]

    Now.....do any of our cooks want to try to work in the field of Computer Programming?
    Last edited by JoGee; 07-26-2014, 11:05 PM.
    ~~~~~~~~~~~~~~~~~~~~~~~
    Create a beautiful day wherever you go.
Working...
X