How can you learn to program?

27 September 2016

Nowadays, everyone uses electronic devices like laptops, smartphones and tablets. New applications that render our lives easier are being developed and downloaded on a regular basis. They help us with shopping, increase our learning effectiveness and, of course, they let us keep in touch with our friends from the most distant corners of the world. The entire world is heading towards automation and, as a consequence, the need for programmers and application developers is increasing.

Therefore it shouldn’t be surprising that IT-related professions are among the highest paid. If these words of encouragement are not sufficient for you, let me add one more argument: programming is much more interesting than it seems!

What is programing all about?

Programing is like solving logical puzzles. A programmer usually has to come up with a solution for a certain problem using computer, and then “teach” the computer to solve it by writing a code. Working with people – talking to customers about their requirements and expectations – is also an important part of the programmer’s work.
Moreover, programmers often learn a lot in other disciplines from research groups for which they process large amounts of data coming from experiments.

When to start?

Currently, more and more people who have already qualified for a certain job re-qualify as programmers.
Even those with many years’ experience! You can start learning to program in many ways, even while you are still in primary school. The easiest first step is to take part in computer sciences classes at school (e.g. during extra-curricular courses) or at university, as some colleges offer basic courses in programing for academy students and sometimes even for high school students. In Poland, there are workshops organised by so-called “karotki”, i.e. Geek Girl Carrots. Check on the website if there are any scheduled workshops in your locality.

Scratch

You can start programming entirely on your own; all you need is a computer. Scientists from the prestigious Massachusetts Institute of Technology developed a free Scratch application, thanks to which children aged 8 or over can acquaint themselves with basic notions and develop creative thinking as well as the ability of reasoning. Scratch is available in a Polish version and it uses a simple visual language for programming one’s own interactive stories, games and animations, as well as letting you share your work with the online community. This last feature was an inspiration for creating an additional app: Dr. Scratch. You can upload your project through the website to get valuable feedback and tips on how to improve your program.

code:me

For middle and high school students, I highly recommend the tutorials from the website of code:me  program, which was created by five students from five different European countries. The first tutorial shows how to use the App Inventor tool from MIT for creating an Android app which will tell you how to create a set of matching clothes.
The website contains many links to other manuals for people of diverse levels of proficiency, so I am sure everyone will find something for themselves.

Choice of a language

As soon as we have acquainted ourselves with the basics of programming, it is the time to decide which of the available languages we should use at first. The choice is very wide. Among the most popular ones are C++, Python and Java. It is best to start your self-study with acquiring some theoretical knowledge from an appropriate guide, but afterwards you should not forget about the practice! “Python Programing” (available through wikibooks) is a great book and a source of knowledge about Python. Whereas for beginners in C++, I recommend the book ‘Symfonia C++’ by Jerzy Grębosz. The saying “practice makes perfect” works really well in this case: you learn most by writing your own programmes. Try to develop gradually and set yourself more and more difficult targets. For example, you can start with programming a calculator with four basic operations and then add other features to it: raising to a power, extracting a root, taking reciprocals etc. Designing your own game may be another step.
If you come across any difficulties that seem unclear and impossible to solve, be sure to visit http://stackoverflow.com/. The probability that someone in the past had the same problem as yours is very high.
However, if you cannot find an answer for your question, you may ask your own.

Olympiads

A significant area of computer sciences is algorithmics, which is also the main focus of the Olympiad in Computer Sciences, both in midle and high schools; as a consequence, both contests are a source of training tasks at different levels of difficulty. The Youth Computer Sciences Academy, created for the sake of the Olympiads, is a place for everyone to develop their skills in programming and algorithmics. You can find courses of C++ or Pascal for absolute beginners and an introductive course in algorithmics on the website: https://main2.edu.pl/main2/courses/.

To sum up, the ways to start programing are immense, and since the experience can prove exciting, don’t hesitate!
If you have any questions, you can ask them on the ADAMED SmartUP forum.

Materials on similar topics