Not so long ago, typing was for secretaries, journalists, and would-be authors. Now we're all tapping away at keyboards and screens from morning until night.
The number of people who spend their workday coding continues to soar. In the not-too-distant future, writing code may be as commonplace as typing and other forms of text-keying are today.
Learning how to code has never been easier. Whether you're a programming newbie or an old hand looking to learn a new skill or two, these four free services have you covered. (Note that all but W3Schools.com requires that you register to use the service by providing an e-mail address and password.)
All four of the coding tutorials I tested have their positive attributes (ahem), but my favorite is LearnStreet's Ruby for Beginners, which was just my speed. The lessons prompt you to write and run the code for each step, and when you make a mistake -- which is key to learning how to program -- the correction hints are clear.
The video lessons in Khan Academy's Programming curriculum keep you engaged in the subject and are perfect for folks starting at square one. However, the complete program could easily take weeks to complete.
I made it through 24 percent of the Codecademy's Ruby tutorial before I hit a lesson that stopped me in my tracks: in the loops section, of course. If you've done a little coding in the past, you'll likely have better luck than I did with Codecademy's write-it-yourself approach.
LearnStreet puts the focus on the code
The first thing you notice when you start the lessons on LearnStreet is the prominent code-entry screen on the right side of the window. Under the code is the run environment that demonstrates the code you write. The instructions are listed on the left side of the screen.
LearnStreet also offers free courseware for teachers who want to instruct their students in coding.
Khan Academy lays a solid programming foundation
The courses are divided into about a dozen categories, each of which has from three to 12 separate lessons. Each video lesson animates the coding technique in a window on the left and shows the result of the code running in a window on the right.
After you watch the coding in action, you're challenged to write code that duplicates the operation. When your code isn't quite right, the tutorial provides hints to help you spot and correct the problem.
It's easy to navigate the Khan Academy lessons and jump between them and the site's other features. A space is provided for creating your own programs, which you can save in your profile and share with the world. You can also browse the programs written by other students.
Like LearnStreet, teachers can sign up to be "coaches" for their students and manage their students' progress. You can monitor your own progress and set goals for yourself in your dashboard, which prominently displays the badges you've won and your "energy points."
Expand your programming horizons with Codecademy
As much as I appreciate Codecademy's polished interface and interactive tutorials, more than once I was stymied by the lack of help when the code I wrote failed to execute as expected.
Most of the Codecademy lesson screen is taken up by the window in which you enter code. The instructions for the step are in the left pane. After you enter your code and click the Save & Submit Code button, the code runs in a pop-up window on the right side of the screen.
I was making fairly good progress through the Ruby tutorial until I reached the Loops & Iterators module. When I took a class years ago in C++ I recall struggling through the same subject. After about a half-dozen attempts, I threw in the towel. (As with most tutorials, you can't proceed to the next module until you complete the current one successfully.)
Keeping it simple pays off for W3Schools.com
The lessons are at a slower pace than those of the other three tutorials I tried, and they entail lots of scrolling down the page. You read the instructions and are then shown the code. Click the Try It Yourself button to open a new browser window that lets you write and run the lesson's code.
What a difference an hour makes
This is Computer Science Education Week, and Code.org is honoring the occasion by sponsoring the Hour of Code program that encourages teachers to spend an hour teaching their students how to code. (My certificate of completion is shown at the top of this post.)