Tuesday, November 22, 2016

CODE CLAN WEEK 9 - HAPPY 1ST BIRTHDAY CODECLAN

So I'm past halfway through the Code Clan software development course (already!) and into week 9. The Weeks are flying by. 

Monday 9.00am  Standup saw my fellow cohorts and I looking fully recovered from the previous week's project.  A new Cohort (Cohort 9) started this morning so we now have 3 cohorts (7, 8, and 9) all doing standup in parallel.  This is making the office really busy but giving it a new buzz. Lots of new faces and personalities around the building.

 

This week is Computer Science theory week (zzzz) and also preparing for job applications week (double zzzz).

 

Coding where have you gone we miss you?.  It's not so bad as in preparation for the job application process we have been given a typical coding test that you may be asked to do prior to an interview.  We have the week to implement during spare time.  I really enjoyed this task and it showed that what I'm learning and Java is starting to take hold. It was just a simple shopping basket where you had to add items, update the total for BOGOF items, apply discounts. I was able to perform the task with minimal fuss and minimal googling and managed to get the methods and tests passing relatively quickly. 

 

A Computer Science degree is a 4-year full-time course so to cover it all in a week is a big ask and the course doesn't try to replicate that, however it does give you some basics of the concepts. 

 

During the mornings this week,  computer science theory covered topics of Algorithms and introduced to Big O notation and how to win quickly at the kids Guess Who Game.  We were introduced to parallel programming which was brilliant to see the performance improvements that could be made in a resource expensive process by adding parallel threads. We were shown a really good video from  Mythbusters that shows the concept applied to a Graphical Processing Unit. (Link Here).  There was a morning of going through various terms applied to OOP including the 4 pillars again.  Much needed refresher and the terms are starting to take hold, I can talk the talk.

 

A representative from a company called 13 coders came in on a Monday afternoon and went through a workshop on their current recruitment process and what we might encounter when applying for vacancies.  This was an excellent afternoon of practical hands-on exercises:  

 

We split into small teams and did a whiteboard exercise on how we would break down a Monopoly Game into a software program. Trying to do this in the allotted 25 minutes is impossible but shows how you interact with others and make a start on a complex task. Failure was always going to be the result and it was interesting to see how far you could get, and how people would become disappointed that they did not complete the full Monopoly program

 

We were split into twos and given a real-world ‘pair programming’ task of creating a Linked List with tests in Java, with only 25 minutes to do so. Having not covered Link Lists in Java as yet it was a panic google to find out what they are and frantically recreating the concept using Array Lists.  With two of you working on the task it is amazing how fast you can come up with a solution.  In the enemy fellow cohort and I managed to get about 80% complete and had the code uploaded to Git Hub with all associated tests passing.  Again to complete the test in the 25minutes would be difficult at the best of times but in an interview environment who knows what it will be like.

 

We were split into groups and provided question cards and had to ask each other mock code-related interview questions. Please explain what Encapsulation is?  What's the difference between Overriding and Overloading? What is Abstraction?

The whole exercise was both off-putting and good fun at the same time.


Next week it's back to coding (Yippee) and moving onto yet another new programming language.  Look out Java Script here we come. 

 

Apparently, Java Scrip is the place to be at the moment so am looking forward to seeing how it differs from Ruby and Java.  And Yes Java and JavaScript are completely different languages.

 

Also Happy Birthday CodeClan.  It's been a year now since you started training Cohorts.  Well done and keep up the good work!  Thanks again to my fellow cohorts for another great week with you guys!

 


(I snapped this pic in a shop window in Stirling.  I forgot to take note of the artist and I'm guessing it's New York. I'd like to see it recreated for Edinburgh. Watch this space www.udnydesigns.co.uk)