When I googled Harvey Mudd, just the thought of doing an online course at a specialty College in Math, Science and Engineering in Los Angeles intimidated me. I started the Programming in Scratch HarveyMuddX CS002X course because the Minister of Education announced in Spring that students would be learning coding in school. I teach computer technology with several classes and enrol a Grade 3 class on Mondays and Tuesdays. Although I have done a good job teaching online safety, digital citizenship and navigating the internet for a variety of purposes and creating digital portfolios, as have many of the teachers in my school. To date not many have waded into the CODING terrain. As an instructional leader in the school, I realized that I needed more background information to be able to expose kids to this new horizon and engage in the conversation with staff.
My personal inclination is more of a Social Science rather than Math / Science bent. Given a fiction novel or an interesting math problem to consider, I’ll take the novel every time. I completed the first module of the course in June and then promptly back- burnered it. Although I thought about getting to work on the course in summer, I used all of my very best developed procrastination skills to avoid it. My saving grace was that I had promised kids that we would do coding in the fall and wanted to support the teachers delving into this new terrain. I knew that I was committed and there was no chance that they’d forget my intended risk taking venture. I plodded through the assignments and hated it until I was 3/4 of the way through the course. At that point, I was creating some pretty cool things that I could get excited about. I was also starting to feel more able to control the outcome in a myriad of ways. The computer was no longer the problem. It was up to me to figure out what I had missed in the code to direct the computer. The locus of control was with me, not the computer. My biggest problem was to STOP working on my final project. I went way beyond the expectations of the assignment because my own vision took over. You’ll laugh if you check out the link. The game is basic but the learning was profound!
I was also able to appreciate that I had developed a new way of thinking. My global / holistic orientation to life had to be traded in for a very logical, sequential approach in order to complete the assignments. Although in earlier assignments, I was able to complete the task, it was not always the best way that could be used as the course became increasingly complex.
I have been married for many years to a Systems Analyst with a passion for computer programming. My spontaneous approach to exploring what life has to offer has always been counterbalanced with his end game approach to life. I now have a much better understanding of the orientation. In computer science the definition of the final product and what you want it to accomplish dictates how it is approached. No wonder getting off the vaporetti into the circuitous streets of Venice that were not at all map friendly stressed him out so much!
Another benefit of teaching coding to students is the complexity of the thinking required to accomplish a task. Although it has frustrated me over the years that my husband has trouble stepping away from the computer, I can now appreciate the need to hold several threads of thought in your head in order to navigate through the “If… then”, “if… else”, “repeat” command frequently nested in another command. The need for complete accuracy forces you to concentrate on the task until completion. Many nights I looked up and it was 4 am and the time had just slipped away. In this day of high jolt entertainment, learning to focus on one task for an extended period of time is extremely beneficial and rewarding.
The level of analysis required for programming is also prevalent. In order to debug a program, you need to follow each step of the program to determine where the error is occurring. The bugs that initially stumped me were not the commands that were incorrectly executed but the ones that executed so quickly that you couldn’t see them. The code not the observation of the program was what revealed the mystery. Programs like Scratch lend themselves to being remixed. This is when chunks of the program are borrowed to use in your own program. A high level of analysis is required to read the code to determine the best block of code to select, and the best and most efficient way to use it in your own programs.
As you may have surmised by now, I have become a big believer in the merits of coding with children. Recently I discovered the Usborne Lift-the-flip Computers and Coding book. I recently used it to introduce coding to Grade three students. The layout of the book supports the conceptual understanding of complex ideas. The follow up was the introduction to Scratch Jr. on the iPads. Although I carefully thought through how I would sequence the instruction, by the end of one session, some students had managed to open four stages with four different sprites that were interacting with each other. The desire to complete specific tasks had spawned “teachers” all over the room which was buzzing. All of the students in the room were highly engaged in mentoring and creating.