How do I learn to program?
If you
program
the following questions arise:
- What do I actually need to learn programming?
- How can I learn programming?
- How do I start programming?
- What should I program? – Ideas for your first program
Programming is not as difficult as you might think.
We show you in 5 steps how to get started with programming!
In this article, we present the various ways in which you can learn to program in 5 steps. From a simple online course to studying at a university, everything is possible.
Our article “Learning to program in 5 steps” is the first part of a series of articles on learning to program.
With a little patience and perseverance, anyone can learn how to create their own code with a program and generate programs with different functions.
How do I start programming?
If you have no idea where to start learning programming, then you’ve come to the right place. In this article, we will look at the necessary steps and utensils you need to get started successfully.
Step 1: What do I need for programming?
Of course, you need a computer and suitable software for programming. But that is by no means all. We would like to introduce you to different methods and approaches to learning programming. We point out the advantages and disadvantages of the individual learning strategies.
First of all, it is recommended that you buy a solid computer if you don’t already have one. If you buy a new computer, make sure that it has at least 4 GB of RAM and a fast Internet connection. Not only web development, but also repository-based deployment will then be stress-free. A screen with a high resolution offers you more space and freedom to maintain an overview. That’s all it takes. Even a current-generation Raspberry Pi offers virtually all the hardware you need to get started with programming. Whether you prefer Linux, Windows or iOS as your operating system is entirely up to you.
Think logically and tackle technical challenges in a structured way
To program successfully, you need to practice thinking logically. This includes learning to tackle challenges in a structured way. Your motivation should always be to tackle technical challenges in a solution-oriented way. It is equally important to be creative and have a certain technical understanding.
The Command & Conquer strategy for programming
If you practise breaking problems down into individual problems, this will help you to think in terms of functions and object orientation when applied to programming.
object orientation
. Put your thoughts on paper in the traditional way or take notes digitally. Both methods are basic approaches to problem solving for every programmer!
Do you have the stamina to learn programming?
Fortunately, you don’t have to have all these qualities right from the start. You can develop many skills over time. So if you are willing to work hard to learn something new, then you can learn to program!
So far, I don’t know any programmer who has learned all their programming skills within a few days, even if programming bootcamps often promise something different…
“…but you have to start programming!”
You don’t need much to start programming. A good text editor and a little patience are all you need to program. As soon as you have some experience, you can acquire other useful tools to make your life even easier.
A fool with a tool is still a fool
“A fool with a tool is still a fool.”
There is a lot of truth in this saying, which also applies to learning programming: In the beginning, complex tools will confuse you more and prevent you from achieving your actual goal, namely learning to program.
Even a professional development environment, such as a powerful Integrated Development Environment (IDE), hardly helps beginners with programming, but requires additional learning effort. At the beginning, such complex tools tend to be confusing for programming beginners and sometimes create a learning block due to their complexity.
Now that you have everything you need, you can finally start learning to program! It’s best to start with a tutorial or an online course. If you choose a tutorial, make sure it is up-to-date and teaches you everything you need to know. However, if you opt for an online course, there are various options: You can either book a course for a fee or opt for a free alternative. Both have their advantages and disadvantages – decide for yourself which is best for you.
Step 2: What programming skills do you have?
On a scale of 0 to 10, how would you rate yourself if 0 is no programming knowledge and 10 is advanced programming knowledge?
Scratch – Programming like playing with LEGO
If you start from scratch, the graphical programming environment
Scratch
is definitely worth a look.
With its integrated development environment and closely linked online community, Scratch not only helps children and young people to understand programming.

Scratch – visual programming environment for learning to program
Scratch supports learning to program in a visual way, but is much less childlike than Apple’s Swift Playgrounds. In fact, the Scratch platform offers everything you need and is also very suitable for assessing your own skills and knowledge. Programming with Scratch is as much fun as playing with Lego.
Are you familiar with basic programming concepts?
If you have no programming knowledge at all, then the basics of programming, such as programming concepts like variables and loops, are completely unknown and new to you.
Basic programming concepts apply across all programming languages
Concepts in programming can be subdivided as follows:
Basic programming concepts:
- Simple data types
- Variables
- complex data structures such as arrays
- Loops
- Reuse code – functions / methods and modules
Advanced programming techniques:
- Object orientation
- Algorithms
- Error handling / exception handling
Focus on becoming familiar with the concept of programming
So first concentrate on familiarizing yourself with the basic concepts of programming. You should learn the basic programming concepts first. You will get to know the advanced programming techniques step by step and in different learning phases.
There is no single “programming setup” that works for everyone. Rather, it depends on your individual situation.
Step 3: Sharpen problem solving and choose a programming language as a tool
What problem do you want to solve with the programming?
Ideally, your starting point can be a technical problem that you want to solve with programming. This in turn can help answer the question of which programming languages are particularly suitable for the solution.
Which programming language would you like to learn?
You can also think about which programming language you would like to learn.
Your current level of knowledge can be helpful here, as every programming language has its own learning curve and not all programming languages are equally suitable for beginners. You may also already be familiar with a language from school or university – for example
Java
– and would now like to deepen your knowledge in a practice-oriented way?
Markup languages such as HTML and CSS
While HTML and CSS are ultimately not programming languages at all, but rather markup languages for structuring websites, you will benefit from these basics in many programming languages!

Basics of web programming – start with HTML and CSS and switch to object-oriented programming with JavaScript
If you are enthusiastic about websites, then HTML with a little CSS and
JavaScript
as a programming language are an excellent introduction to programming.
Other programming languages such as PHP or Python also benefit from web technologies and enable you to create cool programming projects that you and others can use directly.
General guidelines for learning to program
But there are a few general guidelines that can help you learn to program. How you personally learn best is of course also relevant. Taking notes and repeating what you have learned are two basic strategies for learning programming. To do this, you should first get yourself a solid text editor. Thanks to cloud synchronization, you ideally always have your personal knowledge with your learning status with you, whether you’re on the move by bus & train or exchanging ideas with friends.
Classic text editors
There are many free options: Classic text editors such as Nodepad++ or TextEdit as standard on the Mac or Sublime Text as a proprietary text editor for Microsoft Windows, Linux and macOS.
Advanced coding tools
Atom is a relatively new open source editor that is also suitable for Mac, Windows and Linux.

Atom – Editor for learning programming
Visual Studio Code, which have been specially developed for programming and offer a variety of useful functions. In addition, it is helpful to get a good textbook or online resource to learn the basics of the syntax and structure of the language. Once you have familiarized yourself with the basics, you can start working on smaller projects or tackle a larger project.
Step 4: How can you learn programming?
We present four different approaches that you can combine with each other to learn programming:
Method 1: Complete an online course
Online courses are a popular method. What is stopping you from taking an online course that teaches you exactly the basic knowledge and skills you want? Under no circumstances should a price stop you from doing so, after all you have certainly already bought books or magazines and you should definitely not save on your own education. All the hard work and investment is well invested here and is guaranteed to pay off later – for example through a good income and, above all, job satisfaction!

Online courses are also an option to learn programming – here udemy as an example of one of the many online learning platforms
There are also many free offers and courses. The decisive factor is the specific course content, because the value of the time you invest justifies accepting a higher cost or preferring a paid course to a free one. It’s best to try out how well you get on with free offers for a while and check whether and what you actually gain from an individual offer.
Extensive range, very suitable for beginners, code artifacts and material are usually included and are often kept up to date
Predominantly very appealing and entertaining design
Learning effect usually guaranteed, ideal for learning the basics
The content specially designed for the course encourages less independent thinking and analytical, solution-oriented thinking
Method 2: A classic textbook for programmers or a reference manual for a programming language
However, if you don’t feel like committing yourself in any way and instead prefer to develop freely and gather your knowledge yourself, then perhaps book learning is for you. However, you should make sure that the books are up-to-date and teach you everything you need to know. Otherwise you could quickly lose touch and become frustrated.
It is always advisable to have a repertoire of good specialist books. Two types of books are recommended: Firstly, a classic textbook for programmers as used at university to learn basic concepts.
Secondly, you can get a reference manual for a programming language you want to learn. Most books are now available as eBooks, so you can use a digital resource or an online resource for programming at the same time.

Learning programming classic programming books – Topic-oriented programming books – for example on game programming – can also be a real incentive to learn a new programming language.
Extensive range, very suitable for beginners
Learning effect usually guaranteed, ideal for learning the basics
Many good programming books help you to develop the right mindset for independent thinking and analytical, solution-oriented thinking
the frameworks used in the books are often outdated, it often requires some effort to rebuild the development environment identically to the author, but in the meantime many books are also based on Git repositories
Method 3: Analyze existing code and learn to understand programs
To learn programming successfully, a proven approach is to look at program examples. This method assumes that you already know and understand individual commands and the basic logic of programs.

Analyzing source code – learning to program through code analysis
As soon as you understand the logical steps behind a code, you will also understand functions in programs and the concept behind them.
Method 4: Program your own idea as a small application
As soon as you have acquired a basic understanding, you can start practicing. Like all things, you learn programming best in practice and that consists of creating your own code. If you are already familiar with the basics, you can tackle small projects or even approach a larger project as a prototype.
Make sure you practise regularly and always solve new tasks. You should continuously increase the level of difficulty. This allows you to develop your programming skills in a targeted manner.

Learn programming with the programming of a WebApp
This works best if you concentrate on one problem area. This allows you to continuously expand your command and/or function set for a range of specific problems.
It is also advisable to deepen your knowledge of a specific programming language. The more knowledge and experience you have, the better you will become at programming applications and apps.
A wide range of opportunities to put your own ideas into practice also provides a strong incentive and motivates
Ideal for developing the right mindset for independent thinking and analytical, solution-oriented thinking
Only suitable to a limited extent for programming novices
Frustration possible if you are completely dependent on yourself, lack team-oriented food for thought and exchange with like-minded programmers
Method 5: Coding in a team
When developers collaborate on programming, great things happen – from teaching and sharing knowledge to developing better software.
A well-balanced coding team always ensures that team members complement and support each other in the best possible way.
Diverse opportunities in the team to put your own ideas into practice. The team also offers you a strong incentive and a high level of motivation.
Ideal for developing the right mindset for independent thinking and analytical, solution-oriented thinking
Pair programming and many other joint learning opportunities in the team enable maximum learning growth
Tip: With Teletype for Atom you can use a free tool for programming and working on code together in a team is just as easy as coding alone – directly in your editor.
Step 5: Ideas for your first program
When you learn something new, it’s often difficult to know where to start. This is especially true for programming – there are so many different programming languages and technologies to create something new.
Are you just missing an idea for your first program?
So if you’ve only just started or are still finding out what programming actually is, we have a few suggestions for you on the best way to get started.
One of the best things about programming is that there are no limits to your creativity. So you can really program anything you can think of.
To give you a few ideas, here are some suggestions for your first program:
- A simple calculator – This is a good way to learn the basics of programming and see how a program reacts and what happens when you enter certain commands. Perform simple calculations or maybe even something more complex like logarithms and trigonometry.
- A to-do list – This will help you learn the basics of programming with creating lists and storing data in variables (usually strings). You can also find out how to use timers and alarms in your program so that you are reminded of certain tasks. There are many different types of programming, but if you’ve never programmed before, it can be difficult to know where to start.
- A quiz game – enter questions and answers and see how well you do at the end of the game. This is a fun way to learn programming while learning about a topic that interests you. You can enter questions about your favorite topic and the game could be either multiple choice or true/false.
- A converter program: Convert numbers to other units, e.g. kilometers to miles or different file formats such as PDF to JPEG.
- A drawing program: display letters, numbers and symbols in different fonts.
- A music program: play songs or maybe even compose your own music?
- A photo editing program: edit and embellish photos or create new images with your own photos.
Motivation for programming
Follow your resolution to become a good programmer or simply to learn about the basics of programming.
No matter which path you ultimately choose – it’s always a bit difficult at the beginning and you have to get used to the new environment first. So don’t be discouraged if it doesn’t work perfectly at the beginning and persevere! With a little patience and hard work, you will soon realize how easy it is to learn programming and you will soon be able to celebrate your first successes.
Maybe you think that you are not good enough or that you don’t know how to start improving your coding skills. You are doing all this for yourself alone, for no one else. And technical skills – such as programming – are always an investment in yourself that will guarantee you a very good job!
Schedule fixed learning times for programming
It’s worth spending a few minutes a day learning. Scientific studies show that programmers who learn regularly retain what they have learned better and achieve their goals more often.
Set aside time to study and set reminders in your calendar, such as your smartphone, to remind you to study.
But don’t worry, with a little practice, perseverance and the right support, anyone can learn to program.
So, what’s stopping you from trying it out?
Team coding – Rock the Prototype!
And now that you’ve read this article and found Rock the Prototype, you’ve also found a new way to share your passion for programming with others.
Rock the Prototype is the new, innovative hands-on format in which we design prototypes together as a team. The Rock the Prototype podcast provides you with easy-to-understand content about software prototyping.
“Reach your goal faster & successfully with prototyping!”
Prototyping
is the most effective method to realize your ideas.
The prototype is the result of a first software design.
Rock the Prototype offers you practice-oriented and proven methods for your personal success as a software developer, DevOps expert, web developer, UX specialist ,
cloud
–expert and and and and …
No matter what level you are currently at – there is always something to learn from others in the team.
About the Author:

Sascha Block
I am Sascha Block – IT architect in Hamburg and the initiator of Rock the Prototype. I want to make prototyping learnable and experiential. With the motivation to prototype ideas and share knowledge around software prototyping, software architecture and programming, I created the format and the open source initiative Rock the Prototype.

