Should You Learn to Code?

learn to codeLast month’s Hour of Code campaign, held during Computer Science Education Week, asked everyone to “try an hour of code.” As almost every workplace integrates some kind of technology, learning about computer programming, even just a little, can be a confidence booster and spark an interest in exploring a new field.

A Call to Code

Doug Belshaw, Web Literacy Lead for the Mozilla Foundation, describes learning to code as equivalent to learning to speak Chinese or play a musical instrument. Even if you don’t want to become a proficient programmer, coding can be an amazing exercise in critical thinking and problem solving – the ultimate brain game.

Taking on a completely new topic or skill challenges us in new ways. Whether or not we ever master the craft, the experience of trying changes us, and usually for the better. So, learning a programming language, even for just an hour, can alter your perspective and open up a new way to view the ever-expanding digital world around us.

The resources provided by Hour of Code organizers Code.org offer the opportunity to be part of a larger learning community. This movement to increase participation in computer science is ongoing and encourages all of us, no matter our job or educational background, to just try it.

Classes, Tutorials, and More

In all honesty, given my profession, I should know more about coding than I do. In high school I learned a little Basic. In college it was Pascal. In grad school I moved to HTML and JavaScript, but like any language, if you don’t use it you lose it. Today the opportunities to learn computer programming in an online, self-paced format are seemingly endless, and range from complete novice to seasoned expert in terms of prior knowledge expected.

No matter your major, coding tutorials offer new ways to develop critical thinking and problem solving skills. For students enrolled in computer science programs or courses, online learn-to-code sites can be a helpful source of extra practice and additional explanations. The list below includes a variety of options and approaches, and all are free to use:

  • Code Avengers: Are you interested in building a web page? How about an app or game? Courses in HTML5, CSS3, and JavaScript guide you through web-based activities and interactions to earn learning badges or even complete a certificate. Basic courses are free, and intermediate and advanced levels are available for a fee.
  • Codecademy: Perhaps one of the better-known resources for coding tutorials, this company provides options whether you want to learn more about a specific coding format (e.g., HTML, Python, PHP) or work toward a specific outcome, like creating a website. Register for an account to access presentations, complete interactive exercises, and track your progress.
  • Code Combat: Join this multiplayer web-based game to learn how to write code. Choose your character, the computer language you are interested in, and you are off and running. Follow the audio instructions and visual prompts to begin your quest to learn more about programming commands.
  • edX: Whether you enroll in an upcoming course or view archived courses offered through this open online course system, you’ll find a lot of resources related to computer programming. Each course has a start and end date, and provides an up-front estimate of how many hours per week you should expect to participate.
  • Khan Academy: Try one of the computer programming tutorials offered by this online not-for-profit. Options include JavaScript, HTML and CSS, and ProcessingJS, and include video presentations, practice exercises, and a personalized learning approach. Computer programming career profiles are also available through the “Meet the Professional” feature.
  • Peer 2 Peer University (P2PU): This open access education project offers a wide range of courses, including resources connected to Mozilla’s Teach the Web Initiative. Check out individual coding challenges, such as “HTML Hunting in the World Around You,” and sign up to earn badges and interact with other learners.
  • Processing 2: Developed as an educational product, this resource includes a library of step-by-step tutorials, examples, and reference materials. Download the software application to get started with the interactive practice features and video lessons related to programming with ProcessingJS.
  • Scratch: This programming language was developed for young students by MIT’s Media Lab, but offers an engaging way to learn through the creation of short games and animations. Web-based and downloadable options are available, and there’s an active community forum for support and idea exchange. A six-week “Programming in Scratch” course offered by edX begins in February.

Before enrolling in a class or launching a tutorial, consider the following aspects of learning a programming language:

  • Some languages are easier to learn than others. An infographic featured by Lifekacker suggests that Python is an easy option for beginners. The basics of HTML provide another good starting point with widespread application through blogging platforms and other web-based projects and presentations you may encounter in your courses.
  • Do you have a project in mind? If you already have a specific programming need, such as creating a website or developing a mobile app, this will help determine which languages you need to explore. Granted there are many software options that allow easy website set up these days without every having to worry about computer programming, but knowing a little something about the code doing all the work behind the scenes can help you make the most of these systems.
  • Programming is a desirable job skill. The U.S. Department of Labor’s O*Net Online provides information about hundreds of occupations that involve programming tasks and tools. For those who are interested in technology-related careers, combine your search for educational resources with a search for employment projections and industry needs.

Accept the Challenge

A recent article from Mashable provides a bit of a reality check related to learning code on your own with resources like the ones I’ve listed above: “It’s possible – but not easy.” The goal of these courses and tutorials is not to get you ready for the programming workforce, and no one source covers all the bases. They do offer a place to start, however, providing an environment and support conducive to getting your feet wet. You may find that additional computer training and education make sense for you.

So, should you learn to code? For most of us, it won’t be a job-critical skill, but we will be working with and around it as we use technology at home and in the workplace. A better question might be: Should you learn something about coding? To which my response is a resounding “yes!”

Are you interested in computer programming? Have you tried any of the resources listed above? Share your feedback on these and others you’d recommend.

Join Melissa Venable on Twitter and Google+.

Source: Inside Online Learning Blog