A few weeks back I read the article or should I say whole magazine essay by Paul Ford titled, What is Code, that was published in the Bloomberg Businessweek magazine. You can also read the whole thing online which I plan to go back to and spend some more time as the interactive elements really enhance the experience.
Being a bit old school when it comes to reading I had to have the physical magazine so I could write notes, circle, and more. What I want to do is share my notes and ideas as I read the article. If you read the article please let me know what your thoughts were.
I found the article to be a very important piece of writing. I have recently started advocating for coding to be taught just like we do with foreign languages. It is a language we should all be exposed to. I am not suggesting that we all need to be coders, but exposure is important.
Anyways, here is a list of what I learned and thought about.
1. “Rubes” – I have never heard this word before but after looking it up I learned that it means an unsophisticated person from an rural area. Not very nice to say the least but I guess we all learn something new.
2. William Morris said that ‘You can’t have art without resistance in the materials’. In the simplest form this is life. This is a computer where all the peripherals are the materials. Coding is the art. I really love this idea.
3. “If coders don’t run the world, they run the things that run the world.” There is so much debate about the importance of coders. Yes, I realize that you can hire coders for cheap from all over the world, but it is important to understand the language. It is important to learn how code works so you can develop your ideas and make them come to life.
4. Dijkstra’s algorithm is about finding the shortest path in a graph. Think about it……the world is a graph when we break it down into streets, plumbing, electric, and code. I cannot help but to think about how to apply this thought to education when teaching math and games like Minecraft. I not quite sure how to connect the dots yet, but really think a hidden gem is sitting here when helping students understand math and the world around them.
5. “Computer science is not more about computers than astronomy is about telescopes.” What a great statement and one to use because so many have misconceptions about computer science. The more I read this article the more I realize this should be required reading for computer science classes.
6. DRY Principle – Don’t Repeat Yourself is important in coding and life. Do things once and don’t waste energy repeating yourself over and over.
7. TMitTB does a 15 minute meeting via Slack every single day. I marked this down as this is something that could be useful. I have wanted to move to Slack for some projects and having a quick video meeting each day to condense confusion and email chains would be super helpful. Just think if we did this in schools. Every single day the admin made a short video about things for the day or questions that keep coming up in conversations.
8. Acculturation at conferences where we affirm our tribal identity. No matter whether tech or education we all do this. You read the complaints of ISTE of tribes being formed and at other conferences. We are human and it is just natural to want to connect with like minded people.
9. Speaking of conferences, I love it when Paul Ford discusses panels. What is the point of panels? When was the last time you took away key ideas from a panel?
10. “If you don’t know where those things are, you will spend all of your time searching, instead of building cool new things.” WOW! I have preached this idea forever. In education we must teach students how to search. We have to train students how to search through the infinite. Why does this not happen? We have educators that are not equipped with the skills to do this very thing and therefore cannot teach it. Instead they just say you have to do your research! What does this even mean? Whether coding or school or solving life problems we have to know how to use all information at our fingertips.
10. Programming is debugging. Once again another life connection. We have to assume things won’t work and be ready to fix. In education we always talk grit and failure and coding is no different. You want to teach these skills, then have students code. When we create code we have to be ready for the program to crash. We are not failures, but we must continue to work to debug the problems for it to work.
11. “Everything can do everything, and people will tell you that you should use everything to do everything. So you need to figure out what for yourself what kind of team you have, what kind of frameworks you like using, where people can be most productive, so they will stick around through the completion of the project. This is hard. Most places cannot do this.”
If you want another article to read about this article I recommend
In closing my favorite sticker on my computer is a RTFM which is always a good starting place when starting out with code. What thoughts do you have?