Tuesday, April 21, 2015

3 Resources That Will Help Improve Your Coding Skills

Over the past few years, when searching for a good online resource for programming most I came across were like Code.org. The problem with Code.org was that it only provided tutorials for beginners whereas I considered myself an intermediate programmer and wanted to dive deeper into the world of algorithms, data structures and design. Resources such as the one Oracle provides with their Java Tutorials has always been useful but constantly creating new files for each section I read became tedious. My Java folder became a mess. 
Then, on one fateful day I found it: a website that challenged my abilities as a programmer. A website that helped me learn and get better. Then I found another. And another. 
And now, I'm sharing them with you.


1. Codewars

Codewars provides a way for you to develop your programming skills through their various "katas" which are basically programming challenges. These challenges range from data structures to encryption.  Each time you complete a kata you earn "honor points". After getting a certain amount of points you go up a rank and this continues to the Master 8 Dan rank. Each kata is also ranked, so the more difficult the kata you complete the higher in the ranks you rise. 

When completing a kata there are a variety of languages that you can use. Currently they have support for Java, Javascript, Coffeescript, Ruby, Haskell, C#, Closure, and Python—but are planning to add many more. 

2. Code Fights

Code Fights has provided a way for you to fight other programmers in a race against the clock to complete a challenge. Though, the challenges aren't necessarily what you'd think they'd be; when engaging in combat you'd expect to start from scratch, but instead they provide the code for you. Unfortunately, the code isn't correct—there's a mistake that you need to fix. That mistake is located on only one line of code, and you have a short amount of time to fix it. Think you can do it?
There is a greater amount of depth to this website that would deserve it's own blog post. But, in the spirit of keeping things short and sweet, I'll only mention a few.

Just like in Codewars you gain experience points and increase in rank. What is really exciting about this are the tournaments that are held regularly. It gives you a great sense of accomplishment after you crush your competition and receive the gold.

3. Hacker Rank

Hacker Rank is absolutely amazing. With many languages under it's belt (including the infamous language Brainfuck) Hacker Rank will train you in various domains ranging from functional programming to artificial intelligence. There are a series of challenges (almost too many) for you to complete and just as in the other sites I've mentioned, there's a levelling system to help motivate you.
There is something that I haven't tried on the website though: competitions. With sponsorships from companies Hacker Rank holds competitions that give away (as their FAQ says) big prizes! There isn't much else to say about this website, I suppose that's a good thing. It's not complicated at all; it's simple and straight-forward. That's why it's my favourite of the three.

I'm sure that Codewars, Code Fights and Hacker Rank are just a few of the many sites like them and I can't wait to find some more. If you have any programming resources that you like to use, mention them in the comments below.
Happy Hacking. 

No comments:

Post a Comment