Databases and Code Challenges

Tony Ascroft © 2018

Wow, time flies when you’re busy. I knew I hadn’t posted in a while but I didn’t think it has been over two months! Well, here I am again. Probably best to a recap of what’s been happening since May.

As I said in my previous post I got rehired at the golf course, five days a week for six hours a day. This has provided me with extra money and the time to study. Studying on the side is a hard go especially if you’re working more than 35 hours a week.  Add on the day to day things we need to do to survive as well as house maintenance etc. and you have little time to study or to relax. Everybody plans on spending a couple hours each night and weekends to study but the reality is you need some time to rest and relax. The catch 22 is when you’re relaxing you feel guilty for not studying.

Looking back over the past few months sometimes it feels like I’m not getting anywhere but I am. My knowledge and skill levels are improving. For example, I completed the Mongo DB/Node course I also spoke about in my last post. It was a great course, 7 weeks, assignments were due weekly, it covered a lot of new topics but it was very challenging. The prerequisites said you should have “prior experience writing software using Node.js” which I didn’t have, if I did I’m sure the practical exercises wouldn’t have been nearly as difficult. But I managed, with a lot of extra research on the side, and graduated with a final mark of 100%! I couldn’t have done that four months ago. The theoretical part of the course was easy. Understanding how a non-relational database works, is set up, gets queried…. no problem. Using the right syntax and formats to write the code… that was challenging. There were a few weeks when I looked at the exercise and thought to myself ” I don’t have a clue what to do” but with a little perseverance and research it eventually came to me and most times it wasn’t as difficult as I first believed.

I gained a few things from taking that course that’s not immediately obvious from the syllabus. Things like self confidence. I was able to complete the course and understand the material. An understanding of a new area of study (to me) databases. After finishing the Mongo course I signed out a book on SQL from my local library to learn about relational databases and I plan on talking a short course on mySQL in the near future. But most importantly I realized I need to improve my fluency in JavaScript. In order to write sentences you need a basic vocabulary and an understanding of basic grammar. The same can be said of JavaScript. You need to know, or at least know of, the available methods and algorithms commonly used. And you need to know how to put them in order so the computer knows what you want it to do.  And, most importantly, you need to practice! practice! practice!

So, how am I going to do that?

I’ve decided to focus (for now) on practical exercises figuring out and writing JavaScript. I’m talking about Code Challenges. Code Challenges are problems on web sites that provide a challenge and ask you to come up with a solution in the language of you’re choice. Most are in the form of  a game or puzzle. Problem is, when I looked at the more popular and most recommended sites codeChef, hackerRank, codinGamecodeWars, I didn’t have a clue how to even begin. Instructions on these sites are rudimentary and, to me, not very intuitive. So, after struggling through a few challenges, I searched out some ‘easier’ sites. If, after looking at the afore mentioned sites, you find yourself staring at the screen with no idea what to do… try these.  IOKungFoo, TuringGame. They’re much easier to begin with and they will quickly fill you with confidence. Throw in some time on Brilliant, for fun and when you’re ready, progress to CoderByte. Soon you’ll be ready to tackle the harder sites. At least that’s the plan. I’ll let you know how it goes.

Update. FreeCodeCamp updated their course selection adding a lot of new ‘challenges’. Please note, these are not the same as the challenges mentioned on the other sites. freeCodeCamp teaches you the tools you’ll need for each challenge. Code Challenge web sites generally don’t teach (except showing you other solutions once you find the solution yourself). BUT, freeCodeCamp does include challenges. Their Coding Interview Prep has hours of problems and projects including a selection of problems from Project Euler.

I have currently completed 231 of 1408 coding challenges including: Basic HTML and HTML5,  Basic CSS,  Basic JavaScript and a handful of challenges now scattered around the curriculum due to the changes. I have to applaud freeCodeCamp. They’ve really added a lot of great content. I can’t wait until I can get at these new challenges… let me see.. I should have time in… oh good! 2019. 😉

Tony

Leave a Reply

Your email address will not be published. Required fields are marked *