Sunday, December 6, 2015

Understanding the Hour of Code challenge

What happens after that hour?

If you have been on the internet in the last two years, you might have already heard the term "Hour of Code" on social media, on videos, and even on the news. The Hour of Code program was introduced in 2013 by non-profit organization code.org. The organization led by Hadi Partovi is dedicated to spreading the word about computer science and one of their biggest initiatives is the Hour of Code challenge. While you can certainly learn just about anything the Hour of Code program has to offer during any time of the year, it is only during the annual Computer Science Education Week that the program will be at it's full swing at teaching everyone everywhere about computer science.

This week will be the third consecutive year that code.org will be running the Hour of Code challenge and this year tens of millions of people across 180 countries will be writing their very first lines of codes through the interactive game environment. The hour long program (hence it's name) will also be available in over 40 distinct languages and anyone that's able to use a computer will be able to learn how to code. Just like the 2014 and 2013, this year's Hour of Code is going to be the biggest one yet and there will be over 500 million lines of code that will be written in the coming week.

History



It all started with this introductory video to code.org that got well over 10 million views in under 2 weeks and was deemed a viral video. The video (embedded above) contains dozens of big names like Mark Zuckerberg, Bill Gates, Will.i.am, Jack Dorsey and many more giving out their thoughts as to why everyone should learn how to read and write code. Following the successful pre-launch of code.org, the inaugural launch of their efforts showed up during 2013's Computer Science Education Week. Their "Hour of Code challenge" managed to get millions of people to wrote their very first line of code during that week and in 2014, the Hour of Code was stepped up a notch with more bigger names like President Barrack Obama joining the campaign to spread the word about computer science.
Raising awareness of computer programming, everyone should learn it"After watching the video i went to see the website and i was instantly convinced about the issue. The video entitled "what most school's don't teach". The video is about computer programming and they bring up the fact that our younger generation have no idea what coding is." Continue reading.
In the past two years, the Hour of Code program has benefited from the support by developers behind the Angry Birds, Plants Vs. Zombies and Flappy Bird to gain interest amongst the new generation of learners. Not only that, a bevy of well-known entrepreneurs like Bill Gates also contributed to the Hour of Code challenge by introducing some key concepts in the form of a short video. This year in particular, code.org is partnering with Microsoft which is the newfound owner of Minecraft to get the graphics of the game on to the Hour of Code campaign. And yes, Disney and Lucasfilm is also onboard to bring Star Wars to 2015's Hour of Code challenge.

One hour

Computer Science is designed to train your mind towards thinking logically and creatively to solve a problem. It's that simple, the purpose of your code is to solve a problem and how you solve the problem is basically just asking the computer to do specific tasks either in repetition or in a different hierarchy. You might have heard that there are a lot of programming languages and just like communication languages, programming languages serve the same purpose and that is to communicate with the computer. Tasks that you ask the computer can be as simple as moving that block from left to right and can become more advanced as you develop trickier solutions. But it all comes down to the basic concept.

The Hour of Code program comes at the perfect time as our world is going digital and just about everything is becoming attached with software. Just think of all the cool innovations in the last decade; Smartphones, the internet, photography, online shopping, social media etc. They all have to do with our new digital lifestyle which is all powered by software. Take for example the humble smartphone, it is most definitely a necessity in the world today as it replaces the functionality of a lot of separate legacy devices from MP3 players to a standalone camera. With the smartphone and mobile devices at the center of just about any occasion, you can begin to rethink the importance of software.

While the future is certainly here with interactive screens on every corner, the number of people writing the software required by these ever growing screens is not increasing. A lot of people still harbor the thought that Computer Science is just for tech geeks and that's where the problem lies. This is where the Hour of Code challenge comes in, the program is highly targeted at children the age of 9-13 to spark their interest in  young minds. While the main focus of the Hour of Code challenge is to nurture young minds, just about anyone can learn to read and write code. 
At this point you might feel convinced already about programming but the question here is whether 60 minutes is enough to get you completely sold on the idea of writing code. The Hour of Code challenge available on code.org definitely captures the idea behind Computer Science and programming but the 'real' programming is not as graphical and straight forward as it is on code.org. Truth be told, Computer Science is actually a pretty intimidating subject like math and you will definitely hit a rock bottom state soon after you get into the flow of programming.

Generally speaking, you will go through four stages before you have to confidence to be a programmer, the fancy graph above shows how your confidence and competence grows in time and the graph is not a straight path into success but it has it's bumps and you can read more about that here. But bottom line, you have to be patient and take your time when doing programming if you want to be successful. Even in the simple graphical drag and drop UI on code.org will turn into a challenging task as you progress further into the challenge. If you can't seem to solve the problem due to the limitation stated, just take a quick break and come back in 5-10 minutes with a fresh mind then you'll be able to spot your mistake (or the solution).

So, what are you waiting for? Head on over to www.code.org to try and write your very first program

Beyond the hour

This year's Hour of Code looks better than the Flappy Bird game that was available when I first tried the game two years ago. There is now gameplay from both Star Wars and Minecraft; and if you are sold about the idea of writing lines of code after completing all the levels, here are some ways you can continue that momentum. The possibilities are endless with programming as there are a lot of programming languages ranging from a simple syntax to a complex string of code and the fact that your imagination is the limit makes programming a continuous learning experience. 

For starters, you can continue the drag-and-drop programming model that code.org offers with other challenges on their site to give you a better understanding of programming. Another option to help improve your newfound programming skills is to head learn online. Online shopping is one thing, but free online courses ("MOOC" — massive open online course) have advanced significantly over the years and you can learn the fundamentals of Android Development for Beginners through Udacity or create a fully functional Windows app with TouchDevelop on Microsoft Virtual Academy or even take Harvard's much acclaimed CS50 (Introduction to Computer Science) class on edX.

The possibilities are endless and best of all you can learn everything online through these MOOCs from downright beginner stuff all the way to advanced programming techniques without paying a single cent. 
Setting up the Raspberry Pi 2 for the first time — "IoT is all about being small, compact and low power which enable it to run on just anywhere. Well, one of the more well known IoT board is the Raspberry Pi which was initially created to teach students how to code." Continue reading.
Visual guide to installing Windows 10 IoT Core on your Raspberry Pi 2 — "Quoting what Terry Myerson said "with Windows 10, we are targeting the largest device span ever". From the likes of HoloLens all the way to the smallest of devices (IoT), Microsoft is genuinely interested in bringing Windows 10 these devices." Continue reading.
If you're not a fan of learning online, you can sign up for a programming class in you local community college or simply pick up a book for a specific programming language and just start off the basics of actually writing your own code without the help of visual blocks. Personally, I would actually choose to buy simple programmable boards like the Arduino, Raspberry Pi or Beaglebone and use that to control various electronic components. This definitely beats looking at how each pixel on your screen moves and the challenge of working with physical hardware is there but it is also super fun.

Happy coding!

Insider Talk

I didn't want to write this initially as it wasn't in my plan and i did write this off to be an article for next year's Hour of Code. But somehow, I found the will power to write this article and this article does look like a little bit of a rush. Maybe that will power came from my admiration towards programming, I might not be a successful entrepreneur or business person but this article is my way of contributing to this campaign. I have to admit, when I started programming, it was really tough but that unexplainable feeling of creating a program that works is just so rewarding (to my mind).