The first experience that I had with computer programming came when my parents purchased the TI-994A computer. When you turned it on and didn’t have a cartridge in place, it would go straight into allowing you to create programs in the BASIC programming language. BASIC is a fantastically fun language for beginners in that it is straightforward — when I was in school, everyone learned how to write a two line program that would print “Hello, world!” onto the screen repeatedly ad infinitum.
From this spark of inspiration as a child, I went on to learning how to program in Pascal in high school, which made me want to major in Computer Science at Rutgers, the State University of New Jersey. This ultimately did not work out for me as I took, but did not pass, one of the most fundamental courses, Data Structures in Computer Programming, twice and withdrew from the class the third time I took it and found myself still struggling. After this negative experience with computer programming, I completely pulled away from it, changed my major to Communication (inspired by my love for Darrin Stevens on Bewitched, mind you) and decided that computer programming just wasn’t for me. When I tried to learn programming from books I quickly got bored with reading chapter after chapter telling me what to do in a rather dry manner.
In the Codecademy world, there are two sorts of courses that one can pursue — track courses and non track courses. Track courses are sets of units that break down into exercises that must be completed sequentially. Each exercise engages you to apply the new information you are given about the programming language and to run the code to see how the code that you write translates into something functional.
Non-track courses are one off courses that help you learn a particular concept in a programming language. There are some challenges as well that ask that you make use of what you have learned in other track courses to try to write functional code.
Codecademy further encourages you to keep on moving forward through incentives of badges and usage streaks. Every day that you learn from Codecademy in a row earns you an incremented tally on your usage streak. Looking at my profile, I have a personal best of one day and, as of the writing, have been coding for one day. I am hoping to up that to more than a few as I learn how to program in Python.
In the next few weeks you can look for an update to this article as I hopefully will have completed the four available units in the Python course and will be able to do something with it — even if it is just to be ready for further units as they become available, which will ultimately lead me to being able to write functional programs in the Python language. If you are looking to learn to program and are tired of the dry and dull books out there, give Codecademy a try — you may come out of it being able to program!