DailyProgrammer Project

The DailyProgrammer Repository found here on Github is a project I work on daily. It consists of daily challenges from the DailyProgrammer subreddit. There are hundreds of challenges that will keep anyone busy for quite a long time. So, I decided that I would attempt one challenge every day and document my progress when I feel the need to do so.

Reason for Project

I started doing these challenges back in September 2015 as a way to improve my coding abilities. By the time of this writing, I am half-way through the Easy challenges and have a completion rate of about 80%. From my experience so far, I can say that I have indeed improved my coding. A few critiques I have is that there are some challenges that should not be labeled as easy. There are also a few challenges that are quite trivial. Overall, it has been a good journey thusfar.

My code for these challenges have been (and continue to be) in Python 3 as that is my preferred programming language. I code in Pycharm as it has the added benefit of turning my code into Gists in a few clicks. I do have to note that once I attempted to do the hundredth Easy challenge, I went back through all the previous challenges and cleaned up my code (added spaces, docstrings, comments, etc). I do not regret this decision as it helped me read sub-par code and as a bonus, I turned them into something of better quality.

Process

As for how I work, the process goes like this. I first check out the challenge for the day and start up Pycharm. While Pycharm loads, I read over the challenge, its requirements, and its expected input/output. I then take some time to ask myself a few questions such as what modules I might want to use, types of variables I might want to define, and if I have to do variable or data manipulation. I then get to work.

After attempting over one-hundred of these challenges, I came across difficulty not only in doing the challenges, but in how I viewed success. I had a choice to make when it came to uncompleted challenges. Either I only move onto other challenges when the previous challenges were complete, or I attempt to do a new challenge everyday and strive for completion. I chose to emphasize attempts over completion. The reason for this is that my main goal for doing this in the first place was to improve my coding abilities and not to complete challenges. So, I make a good attempt to complete the daily challenges, but I know that if I don’t complete them, it is not something to be distraught about.

This is most of what I have to say about the project for now. As I write this, I am thinking that I might blog about some of the harder or more interesting challenges I come across. We will see!