We live in an increasingly programmed world. Our cars, computers, phones, television, healthcare, movies, music, and education are all influenced by programming languages. Yet, many of us don’t read or write in a single programming language. We can certainly have thoughts and opinions about each of these areas, but understanding what goes on beneath the hood might help with those thoughts. Of course, there is the added benefit of being able to program parts of the world around us. As Dan Crow wrote, “Software is the language of our world.” So, why not learn about this language?
Consider the following ten benefits of learning to program.
- It helps teach logic, systematic and analytical thinking.
- As a result, it is excellent training for developing problem-solving skills.
- It gives us insight into the programmed world around us.
- It gives us a useful skill in today’s world.
- We can write our own programs. How fun is that?
- Of course, unless you devote significant time, there will be far better programmers out there, the people you want to write some of the most important programs in your work on life. And yet, learning to program will help you learn how to communicate more effectively with those programmers.
- It opens doors to new career opportunities or might enhance current careers (sometimes in unexpected ways).
- It is wonderfully rewarding and confidence-building to create something with your ideas, even if it isn’t a masterpiece or the foundation of the next Microsoft.
- It might give you insights on how software works…the software you use each day.
- Not that this is a great reason, but programming is certainly as valuable of a skill and many of the others that are emphasized in schools around the world.
In full disclosure, I’m far from a professional programmer. Nonetheless, there are countless free or inexpensive resources that can help us and/or our students explore the world of programming. As an instructional designer, I personally stay clear of Edx and Coursera for programming guidance. There are too many superior options online that give a far more personalized learning experience. The outdated modes of instruction in some of these courses from supposedly elite schools do not, from a course design perspective, compare to the potential learning experiences of other free and accessible online platforms. Here are eight great options to consider.
- Udacity – This service provides a number of programming courses from Universities and other organizations.
- CodeHS – This one works especially well for teachers who want to learn programming with their students. Check out the testimonial page for a sense of how people are using it and how it is helping them.
- TreeHouse – This one is not free and I’ve not used it, but I’d heard and ready great reviews about the service.
- Code Avengers – Are you looking for a project-based approach to programming? If so, Code Avengers is worth a try. They also do a nice job catering to different audiences: home schoolers, teachers with classes, as well as individual people want to learn some programming. They have a couple of free courses and others for a fee.
- CodeSchool – I just started dabbling with this one, but I’m impressed so far. It includes a mix of video explanations and hands-on programming exercises.
- CodeAcademy – This was one of the first sites that I tried, and it worked well. They include tutorials, but I love the exercises where you get to do a bit of coding and then see if it works.
Let the programming begin!