01000011 01101111 01100100 01101001 01101110 01100111 (“Coding” in binary)

I contemplated doing this whole post in binary and then just leaving a link at the bottom of the post to a site where you can copy and paste the text to convert it, but I wasn’t sure how much my readers would appreciate that.

We learned about coding this week in ecmp. Code is kind of the guts of all things digital. It’s the things that makes things work. Like cyber atoms and molecules. So one could imagine why knowing more about it is not a bad thing. For me, I knew a little about code already from a video game making class I took in grade 10. I didn’t really understand the concept of coding at the time, nor did I realize what actually went into making a video game. It was very mathematical and I…was not. Needless to say I found the class less fun than just playing video games, and after the course ended I decided I was okay to never revisit the subject.

Fast forward 11 years and I’m here I am revisiting the subject. But it’s better this time, for a number of reasons. 1) I’ve learned to be a more mathematical and logical thinker. Learning a musical instrument I think is probably the biggest factor, but also several years of adulthood yields a lot of experience in logical thinking. 2) Now I can be taught it through STAR WARS, the most wonderful thing of all. Everything always makes way more sense when looked at through the lens of a galaxy far far away.

I sat down to do my one hour of code and actually found it was quite fun. It was almost puzzle-like as you were given a goal of where you needed your character to go, and then use code to chart the droids path. In short, you had to think logically about how many left, right, up, down, spaces the sprite would need to move in order to reach its destination. Really, just an activity in thinking ahead.

 

As I progressed through the lesson I was given more commands to get creative with. Here, you completed the task when you caught 20 mouse remotes. Logically, the fastest way to achieve this was to create an action where catching one remote caused many others to spawn. That way after catching a few, all you would have to do is stay still while dozens of remotes ran into you.

 

At the final stage we were allowed to create our own game. I decided to make a game where C3PO would chase stormtroopers, because I’ve always wanted to see that cowardly golden man go “I, Robot” on the humans. Three-Pee-Oh would get 300 points for every trooper he caught, but then loose 150 for every Pig thing he bumped into. Catching a trooper would spawn another pig, while bumping into a pig would spawn another trooper. Essentially this is a game that would go on forever. I wanted to make it winnable by getting a certain number of points but then I discovered you can’t do that, you can only win by catching all of a certain sprite. So I restructured my code so that the goal was to get ride of all the troopers. The pigs you bump, the more troopers you have to catch to finish the game. But the more troopers you catch, the more pigs you’ll have to avoid.

 

Thinking through what I wanted to accomplish in this game took more logical thinking than the coding I think. In order to make the game satisfying I had to device goals, and challenges. But it was satisfying, and it also exercised a lot logical cognitive muscle in the process.

Screen Shot 2016-04-13 at 9.55.05 PM.png

So should coding be taught in schools? Yes. Why? For a lot of different reasons:

1) Its super relevant to where the world is headed – Learning to codewill increase their capacity to participate in digital spaces, and may even open up certain job opportunities for them.

2) It will give students a different avenue to think mathematically and logically – Math and logical thinking is tricky for a lot of kids, yet very important for them to learn. Therefore, we need all the methods of differentiation we can get.

3) Then all the other subjects tooMary Hertz writes in her article “Whether you are an English teacher, a history teacher, a math teacher, an art teacher, or any other subject area specialist, your students can still incorporate coding into what they are learning.” I think having coding available to students as a mode of expression is a cool way to ingrate what their learning through a practice that they love. Using sites like Code Avengers or Code Academy, students can make a game, website, or an app about what they are learning.

4) It can break down gender barriers – This article by Jay Rosen outlines an interview between the author and his daughter as they discuss gender paradigms in the tech industry. The article discusses how there are certain scripts at play that attract males to coding sooner than it does girls. Consequently, by the time girls are interested in it, they are usually dissuaded from pursuing it professionally because it is overwhelmingly male dominated.

“In middle school, 74% of girls express interest in Science, Technology, Engineering and Math (STEM), but when choosing a college major, just 0.4% of high school girls select computer science.” – girlswhocode.com

I think if coding was introduced in schools and students were given a chance to experiment with it through applications such as Hour of Code, then that might help more girls to become interested sooner, which would potentially lead to more equal gender representation in the field. Girls Who Code is a cool organization that is thinking deeply about this concept. They are a national nonprofit organization working to close the gender gap in the technology and engineering sectors, and the services they offer is one way to get girl interested in the subject.

5) The principals of hacking can be applied to social reform – “Coding can be just as useful in the humanities, in the arts, or in activism. Civic hacking is an entire field in itself” – Jay Rosen

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s