So, I hear you want to learn programming! Programming is a great skill, and not only because it lets you talk to a computer. Programming is all about solving problems, and so by learning programming you'll sharpen your problem-solving skills.

This post is part of #100DaysOfPython, check out the first post here if you haven't already. Or go to the index of all 100 days.

Everybody approaches problem-solving differently—everyone has different strategies—but computers only know one way: they do what you tell them to.

In order to make the computer solve a problem, you must lay it out to them in a way that they can process. Because computers aren't intelligent, the only thing they can process is a step-by-step formula (known as an algorithm). Through learning programming, you'll learn to break down problems into simpler problems. You'll break them down so much, that every problem will end up as a series of things to do in order to come to a solution.

What about writing code?

Writing code is an essential part of programming because it is what lets us tell the computer these steps that they need to go through. However, it is not by far the most important part of programming.

Think about it; if we cannot come up with a viable algorithm for the computer, we cannot get it to do things even if we know how to speak to it. Code is a tool that lets us communicate, but in itself it is not the objective. The objective is for us to use that code to tell the computer to do the things we need it to do.

At you start learning programming, some of you may not yet know what you want the computer to do. Others will have some specific scenarios in mind that you'd like to program. Both are totally fine!

Programming will come in very handy in a large number of cases. Computers are everywhere around us, and talking with them and understanding them is not only useful, but can shed a lot of light on how everything works.

What can you do with programming?

If you already know what you want to achieve, that's great. You can gear your learning around doing these things. If you don't already know, you can start at the beginning, with this series, and discover it along the way. A popular approach!

Here are some things you can do with programming:

  • Create websites;
  • Write games;
  • Develop mobile applications;
  • Create tools for other programmers;
  • Analyse and visualise data;
  • And much, much more.

In this series, we'll go over the core that you need to know for all of these things. We'll develop your problem-solving skills and help you help yourself in the future. After this series, you'll be able to pick up any of these topics much more easily.

We'll learn about programming and creating software from a practical perspective. We'll use Python, a popular programming language. Once you know Python, learning other programming languages will be much easier—so don't despair if you want to do something that doesn't involve this language.

Remember: programming is about problem solving. Develop that skill and you'll be able to do anything.

I'll see you on the next one!