{"id":1547,"date":"2015-04-12T21:18:03","date_gmt":"2015-04-13T04:18:03","guid":{"rendered":"https:\/\/idleengineers.com\/?p=1547"},"modified":"2015-04-12T21:18:03","modified_gmt":"2015-04-13T04:18:03","slug":"everyone-can-code","status":"publish","type":"post","link":"https:\/\/idleengineers.com\/blog\/everyone-can-code\/","title":{"rendered":"Everyone Can Code"},"content":{"rendered":"

I stopped at a gas station that I frequent today and one of the regular attendants greeted me (I live in Oregon, where they don’t trust us with gas). This time however, he studied me a little closer, looked my car over, and finally back at me to say…<\/p>\n

“I gotta ask, how… what do you do?”<\/em><\/p>\n

“I’m a Computer Engineer” I said.<\/em><\/p>\n

“Oh, yeah… That makes sense” the attendant responded, as if that made everything clear.<\/p>\n

He asked me a few more questions about how old I am, if I had to go to school for my job, if I enjoy my work. He had the impression that coding is difficult and made it sound like it was something he couldn’t do. I tried to encourage him that it’s a very approachable profession, but he didn’t take me very seriously.<\/p>\n

This is not the first time that I’ve met someone who thought of computers as something too mysterious to understand. I find these scenarios disheartening for two reasons:<\/p>\n

    \n
  1. Code is everywhere. If you drive a car, talk on a phone, watch TV, use a microwave, even walk through a door that automatically opens, you are a consumer of code.<\/li>\n
  2. Code does not have to be hard. Even the most complex systems are collections of small, precise, units of logic put in place one at a time.<\/li>\n<\/ol>\n

    In fact, every mother knows how to code…<\/p>\n

    “I’m going to count down from 3 and if you don’t drop that ball and come inside, you’re grounded!”<\/em><\/p>\n

    Just for fun, let’s look at what the code of this threatening mother might look like in say… Ruby<\/a><\/p>\n

    while count > 0\r\n    if not child.is_holding_ball and child.is_inside\r\n        puts \"Thank you. Now go clean up for dinner.\"\r\n        break\r\n    else\r\n        count = count - 1\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 say \"#{count + 1}...\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 sleep 1\r\n    end\r\nend\r\n\r\nchild.ground if count == 0<\/pre>\n

    \u00a0Code is Everywhere!<\/h2>\n

    It’s almost impossible to get through a day without using a device that runs code. As our interaction with these devices increases, it’s important that we understand what they do to a reasonable degree. I think Mitch Resnick describes the situation best by relating coding to reading and writing. He points out that we all learn to read and write in order to express ourselves and our ideas fluently, but we don’t all become professional writers. In the same way, we should all learn to code in order to be fluent in the use of our technology. <\/span><\/p>\n

    Resnick’s TED Talk is a worthwhile watch: Let’s teach kids to code<\/a><\/p>\n