HackerRank
.I really have a terrible habit of saying I'll do something then forgetting about it. In this particular case... I said in a previous post that I would be starting the 100 hours of code through the Viking Code School. Even funnier is that I put in a task in my todo list to finish the HTML & CSS section of the tutorial and for the last 2 days, I have been receiving notifications about it.
So, what's been taking my gaze off the Viking Code School tutorials? I've recently found a pretty cool site called "HackerRank". The site is basically a source of hundreds of programming problems in various "domains" of computer science such as Algorithms, Functional Programming and the Linux Shell. Within each of these domains, there are further breakdowns into topics under each domain. For example, under Algorithms, I can choose among the following list of topics to find programming problems to solve:
Arrays and Sorting
Dynamic Programming
Graph Theory
Quiz
Cryptography
Bit Manipulation
Game Theory
Probability
Summations and Algebra
Implementation
Search
Strings
Data Structures
Greedy
Number Theory
NP Complete problems
Combinatorics
Geometry
And that is simply one of the domains available on the site!
What's even cooler is that there is a built in IDE window where I can type in the solution to the problem then submit the code to be tested against the problem. And finally, the cherry on top, the IDE fully supports the processing of a host of many different languages, many of which are also some of the latest and newest languages available today such as Google's Go language.
Over the last few months, I've been having a flirtatious on and off relationship with wanting to learn how to use web technologies to learn some skills in web development. It was very tempting to begin solving the HackerRank problems using scripting languages such as Ruby, Javascript or Python. I have since decided against this. Instead, I've decided to use Java as my language of choice to solve the problems.
My short-term goals:
1. Solve 1 HackerRank problem a day if possible 2. Write a blog post detailing my thought process, obstacles encountered and knowledge gained from solving the problem
My long-term goals:
1. Complete Algorithms domain using Java 2. Complete Algorithms domain using a scripting language (Ruby, Python or Javascript)
This should be fun, can't wait to learn!












