For those of you that follow me on Twitter(@MrFresh), you’ve seen daily posts about my progress during this 100 Days of Code challenge. I’ve embarked on my third try at teaching myself how to code in Python. In short, the first was following tutorials on Codecademy, along with a book I bought, back in 2013. The second stint was trying an “Introduction To Computational Programming Using Python” course given by MIT, an online MITx course, commonly known as a MOOC (Massive Open Online Course). The first go around, I spent too much time just doing tutorial section after section. While that was ok, I wasn’t really applying what I was learning. The MOOC was good, but there were so many global students involved with much more programming experience than me, that I kinda felt out of place, found myself spending too much time on the course’s Facebook page, resulting in it being difficult to meet the class assignment due date deadlines..
They say the “third time’s a charm”. I’ve been putting in at least an hour everyday but this time around, I’m using the same book purchased years ago, “Python Crash Course – A Hand’s On, Project Based Introduction To Programming”…AND…building a project as as I learn. The latter is probably the most single important approach one can take when learning how to code. Picking something to build that you (or even someone others) can find useful, allows you to apply even the most minimal knowledge to something concrete. I’m seeing that this approach was the missing part in keeping me interested.
Here are a few other tips you may find useful:
- Don’t try to learn everything at one time – find an approach that will allow you to become grounded in the basics, and move forward only when you’re sure you have a grasp of them.
- Be mindful to avoid what I call “tutorial purgatory” – spending too much time watching tutorial after tutorial and not taking to write actual code. Try to write your own code similar to the exercises you follow, perhaps even modifying an exercise to add what you’ve learned in other areas.
- Find a way to document what you learn, via writing it down in a journal or doing so online (Evernote, One Note, GitHub, etc)
- Put in some time studying and writing code everyday – consistent actions end up forming habs.
- Take advantage of anyway you can with the coding community available to you – often times those there are willing to help you.
- Again, continually write code, even the smallest, simplest programs, with comments in the proper style. Not only will it help you learn coding itself but get you familiar with the code editor and IDE you work in.
- Participate in the #100DaysOfCode challenge. It’s one that is beneficial to anyone just starting out through those with vast experience.
The challenge, in and of itself, is often helpful because there are many going through it, as well as just starting, that provide a vibrant, robust community of those willing to help and provide motivation. I’m exactly three weeks in and look forward to putting in the work everyday at this point (even knowing that they’ll be some hard days ahead).
I keep my progress posted on Twitter, as a note page in my Evernote account, and in a small blue notebook. At some point, when I feel that GitHub will be useful for me, I’ll create and maintain my log there, just as many do already. So far, my project is coming along nicely, it’s nothing spectacular, but getting a glimpse of what I know Python can do, there will be lots of room for improving the code as I learn.