Coding Bootcamp - Week 2
I’m only 10 days in and it’s already started to happen…I’ve started dreaming about code. One night last week, after a day of learning more Ruby language fundamentals, I dreamt that I was writing a short code loop. Once I get to the end I am taken back to the beginning. I write the code again. I go back to the beginning. I write the code again. I go back to the beginning.
I’m trapped inside my own code loop.
I hope that this coding nightmare is in fact a blessing in disguise. Maybe it’s just my brain trying to help me revise the week’s lessons!
The days at Makers Academy have so far, been long. Yet time passes quickly. The school seems to exist in it’s own universe, where time seems to speed up relative to the outside world. I usually get to school around 8.15am and most nights I won’t leave until after 7. This is both personal choice and a necessity. Makers Academy is a significant investment so in my view, if you sign on, you owe it to yourself to get your money’s worth. None of the crew at Makers force you to do the work. This isn’t your typical education model at play here. However, being a twelve week intensive course, all students are guided through a huge curriculum at a fast pace so its down to you to revise and make sure everything sticks.
This week, Makers teacher Enrique introduced us to coding katas. These are coding problems that you do over and over again (mmm…origin of coding nightmare becoming more apparent) until they are etched into your subconscious and you can perform them without consciously thinking about them. After successfully completing Fizzbuzz (writing a programme that identifies multiples of three and five for a given range) I moved on to the more difficult Roman Numerals challenge, where I had to convert an arabic number to it’s roman number equivalent. This was quite a jump for me, and I think many of my fellow students were in a similiar boat. What got my head scratching wasn’t the identifying which ruby method to use, rather, it was thinking systematically and logically about the steps required to achieve the desired outcome. It made me realise that so much goes on when our brains take on a problem like this. It’s easy to overlook the small, incremental but critical steps in the process because they are sometimes ingrained in our subconscious. I guess that’s why humans and computers make a great partnership. Computers might have the mental muscle, but at the end of the day they (largely) can only do what we instruct them to do. The more we understand the problem, the easier it is to break it down into its component parts and theeasier is is identify the steps required to solve the problem.
“In Okinawa, belt mean no need rope to hold up pants!” Mr Miyagi, Karate Kid
To help us further develop our Ruby programming prowess, we were introduced to a great little learning resource called Code Wars, which has literally hundreds of coding katas to try out. It even takes on aspects of gamification and awards points and rank as you progress onto more difficult coding challenge.
Version control is awesome
Ok I said it. My one geek-out moment for this week. We finished the week with a test on Git (…I am still awaiting the results, fingers crossed). Git allows people to track changes in their their code and store their code online at Github. Provided the code is made public, other developers can download the code, make fixes or improvements and submit a request to the the original author to have their changes merged back to the original. What has got me so excited about Git and Github is the that soon I should have enough know-how to start contibuting to open source projects. So, in all, an end to another good week at Makers. We’ve taken a step forward learning Ruby and puts some polish on our Student Directory programme.
Next week we get onto Object Orientated Programming. I also have a karate grading on Monday night which to be honest, is freaking me out a bit. It been hard to keep on top of training over the past couple of weeks. Time to revise some real katas.