This is my second blog post in the #5posts5days challenge. It is not a reflective post but a podcast where I talk to other educators that I have learned from. Also, face to face with your PLN is a great way to spend a Saturday morning.
This weekend I interviewed Alison Bullock (@aliringbull) over breakfast. We talked about her passions and she taught me that knitting was 11th century coding. I always learn something from Alison, have a listen and you might too.
I have always had a fondness for the Raspberry Pi microcomputer for maker type projects. For example, two years ago I made an Apple Time Machine to wirelessly backup two Macbooks in our home using the original Raspberry Pi and a 1TB hard drive. I wrote a “how-to” blog post about it on a website that has been retired. Since then, there have been 2 major revisions to the Raspberry Pi and a Raspian upgrade (the Raspberry Pi version of Linux). After a quick search I found that there were some really well written instructions out there, so there was no need to create a new “how-to”. Personally I like the one from TechRadar.
The Time Machine backup device is in a closet in the basement and is only accessible via my home network. In order to keep the software patched and up-to-date, I use SSH (secure shell) to log into the Raspberry Pi. On a Mac you can use the terminal to access the Pi but I also use a Chromebook. To access the Pi via the Chromebook I use Secure Shell from the Chrome Web Store. I also use it to access the server for this site and run this “Update and Clean” script:
However, since the Pi is sitting in the closet without a monitor or keyboard, I have no way to use it for its intended purpose, to learn about coding. I found that I could install VNC (Virtual Network Computing) onto the Raspberry Pi and use the desktop interface remotely. I followed the instructions from Adafruit about how to install VNC on the Pi and how to make it autostart after a reboot. I can now use a VNC client to access the desktop of the Pi. There is even a Chromebook VNC client so I can use the Pi from my Chromebook.
Because we never stop learning, today I learned that there is already a VNC client in my Macbook. I followed these instructions, here and here, to create a “share screen” button that now appears in the Finder of my Macbook and it allows me to remotely access the desktop of my Pi.
Now my Pi is serving a dual purpose. I am using it back up my Macbook and I am also remotely accessing it to learn about Linux and explore the coding apps found on the Raspberry Pi.
One more thing, Adafruit is one of my favourite “go-to” sites for everything Raspberry Pi and Limor “Ladyada” Fried at Adafruit is a fascinating role model for coding and building.
First a little about my experiences to establish my bias. I first learned to code in 1984. Our high school had recently acquired a handful of Commodore PET computers sharing a dual floppy drive and audio cassette media storage. It was on this device I learned to code in BASIC and coded an simple version of PONG.
As the technology evolved I learned to code in Pascal and COBOL. In 1988 I learned about FORTAN and SPSSx while utilizing new network protocols like gopher, telnet, listservers, usenet, and email. Now in 2016…I have no idea how today’s modern coding languages work. I tried to learn python but lost interest after a few weeks, it was to abstract. The only code I still regularly work with is HTML, CSS and CLI Linux commands. Not exactly the type of coding skills needed to make the next billion dollar app. However, it lets me function online and customize my server and website to reflect the “look and feel” I am trying to achieve. You could say I have moved away from being a coder and have become a code tweaker. I am not afraid to dive into code and modify it to suit my needs, but I lack the skills to create something new.
The importance of coding to me is similar to how I approach automobile maintenance.
Heavy discussion here. I do think everyone should learn basic coding, the same way everyone should know how to change a tire #PubPD
I don’t know how to build a car but I can maintain it by changing the oil or changing a flat tire. These were skills I learned in automotive class in high school. I did learn to do more, but as cars became more complicated I am hesitant to go beyond these basic tasks. However, I can still tell if I am being overcharged for servicing and I can change my own tire if I get a flat.
Students should be given the opportunity to learn coding and what it takes to build simple programs. Not only will it introduce them to the skill, but many of the problems found in computer science will allow them to develop problem-solving skills.
Employers value the ability to problem-solve, process information, and be proficient with technology (Forbes). Coding forces us to think different than we would in an English class. The logic and sequential problem solving that it introduces will allow students to develop a different set of skills that can be utilized. This is not to say that those skills developed in English class are not valuable, they are just different but equally important. Coding and computer science will also likely be one of the top employment sectors when todays students graduate from college and university. According to code.org, more than 75% of computer science based jobs are unfilled in the United States and the statistics can be expected to be similar in Canada.
We need to do more for our students. We need to develop a coherent plan to provide students with a basic education in coding and computer science. It is a valuable skill that will provide students with more opportunities.