Wednesday, January 1, 2014

Let the coding games begin!


Happy New Year!  Resolutions?  How's your coding skills coming along?

Back in September I posted the article, "3 reasons why you need to learn to code".  It talked a little bit about why people should code, but it didn't give any direction on where to begin, practice, or play!

A while back I had a number of Sailors (CTN flavor) bring up that they didn't feel comfortable writing code, and that was a topic covered in the advancement exam.  What resulted was really quite awesome...

print("Hello, Code Monkeys!") <-- that there friends is code, simple, eh?

That's what we called ourselves.  We were a group that started small, meeting once a week in whatever conference room was available to talk about ground level basics, code, sample problems, and homework.

Yes, there was homework.  But it was fun.  We took problems from Project Euler (more on this below) and 1) worked to get a solution and 2) worked to get a well coded solution and 3) worked to get an efficient solution.

I expected CTNs to have an interest in Code Monkeys, and they did.  But what surprised me was that everyone else had an interest as well.  By the time I had to leave the group in another's capable hands, we had representation from Navy, Air Force, Army, and civilian across a multitude of rates/NEC/MOS/job titles and pay grades.  And even better, as we hosted our content on a internal Wiki page with tutorials on C and Python and problems/solutions with leaderboards, we had folks beyond our locale in Texas that popped up wanting to contribute.

Code Monkeys was a success.  Why?

Simple, because it was fun.

In case you forgot ... coding is fun!  When you get fun problems that are challenging, but not impossible, keep you researching and learning but not stuck, it is human nature to rise to the challenge.  And of course when you add the element of competition (especially inter-service/civilian), it just makes it all the better.

So with that ... here are a few websites that will get you, your colleagues, friends, family, Shipmates, or anyone else for that matter ... into the coding spirit.

---

Project Euler


If you are a math geek at heart, you will love to solve the problems at Project Euler.  They start simple where even a non-math guy like me can make headway, but also offer many complex math problems for those that are up to the challenge.  You will learn to use code to run iteratively through calculations that might take years to do by pen and paper.  You will learn code, you will learn math, you will learn to look at problems a little differently after tackling some of these problems.

Feel free to "friend" me on Project Euler.  My friend key: 51319767309652_4a2bb8d79e97debbbc8b6942f02fe947

Hacker Rank


Don't let the name of the site confuse you ... this is not a site about hacking, it is about coding.  Personally, believe the site name is a cheap marketing gimmick.

Hacker Rank is a recent discovery and I am loving it.  Challenges are set up into different tracks which range from games where you control a little robot moving around the screen to clean up squares to more complex algorithms and functional programming.

What I really love about this site is that is is all-inclusive.  It has a built in editor that lets you code in many different languages (Python is my preference).  And it gives you a simple "Compile and Test" button which lets you run your code.  One of the most daunting tasks for new programmers is getting their code to run.  Different compilers, interpreters, flags, binaries, etc... yeah it can sometimes take more time to learn how to run your code than it did to write it.

Hack Rank simplifies it.  It is awesome.

Additionally, they have many leaderboards to compare solutions and offer periodic coding competitions at set times where users can compete for prizes and potentially job offers.

My username on Hacker Rank is pwlknet if you'd like to find me on there.

---

That's it for now.  Try it out.  Don't blame me when you get addicted ...

Do you have any other sites you enjoy coding challenges through?  I used to enjoy doing the Facebook coding puzzles, but they took those down a while back.

References
Image: http://www.yamdablam.com/web-dev/

2 comments:

  1. We had a Navajo "Code talker" over for dinner once and when I asked him what was the hardest part of being a code talker he answered: "The hardest part of being a code talker was being a Marine" What a humble man indeed. W/r Anneli

    ReplyDelete
  2. Unfortunately hackerrank changed their leadership board so now there is no way for new users to catch up with the old ones no matter how many problems they solve. It is nice for exercising but if you want a profile page to brag/show to someone this isn't the site for you.

    ReplyDelete