Software has become an integral part of today’s world. No smartphone, laptop or Smart TV would work without software. Every day, we download free apps, surf between countless websites, read news on the tube television, listen to music while shopping, and relax in the evening with the latest Netflix series. Even as you read this, you even use several applications, all of which had to be programmed first. I spend more of my time using software than I do not use it – without really thinking about it: cooking, working, learning, reading, shopping, and so on. Programming is one of the most sought-after skills in the world today. For many, however, this is more modern witchcraft than a gift to learn:
As a teenager, my brother got me Java for the first time. My bosses at the time, Arrays, made sure that I let the programming be for the first time. But later ambition grabbed me again and I learned the basic concepts of Java. In the meantime, I am studying computer science at the Leibniz University in Hanover in the fifth semester. When I talk about it to my classmates, it’s happened to a lot of people like me: somehow they came up with programming and then taught themselves. But computer science is a course of study for which many also decide, because they want to learn programming there. Because the ability, as it is taught by many universities, is by no means a prerequisite for study.
But that should be in my opinion – at least the basic understanding of programming. Because the first-semester event “Programming 1” is less about teaching the basic logic and concepts behind developing than learning the language C. However, I find that C is anything but beginner-friendly. For fellow students with no programming background, the weekly tasks became a real challenge. Some lost motivation and failed. So if you do not want to catch up already from your first day at university, you should already deal with it beforehand. Once you understand the basic concepts of programming, new programming languages can be learned much faster.
The computer science study in Hanover is probably, as at many other universities, less designed to teach the students programming, but rather to convey the important things around it. For example: How do I work on a software project in a team, how are all the constructs that I use in higher-level programming languages like Java implemented, and how do I implement them with high performance. But also math or electrical engineering are study contents, which not every pure software developer has to compulsorily learn to the extent for his later job (but not every computer science student will later become a developer). On the other hand, knowledge also serves as the basis for many specializations such as artificial intelligence.
But how can you learn programming? For that you need no math – let alone electrical engineering. Probably the best options offer you numerous sources on the Internet . No matter, whether with Youtube videos or playful apps: reading, watching and understanding is not enough. Nobody has learned to play table tennis just by watching a game or reading the rules. Doing yourself is as important in programming as in sports.
Sport is actually a very good comparison. Because both in sports and in programming you never learn. There are always new languages, design patterns, features and ways to solve a problem even better. Analyzing and fixing errors, planning and completing a software project, optimizing code – all this is important in order to gain experience. It is part of the learning process. That sounds expensive or even deterring. But the first steps have gone fast in programming and will be crowned with success. The first “Hello World” issue appears on the screen with simple means and provides motivation to write your first own program. Even if beginners take over quickly: Do not want to develop Tetris right away, but rather start with a simple calculator with console input and output. When table tennis so no beginner occurs directly against the club best.
But even if you decide to study, the motto “Learning by doing” still applies. That is why many computer science students, in addition to the otherwise often very theoretical study, are looking for their own projects in which they work on the side. This ranges from writing your own app to the development of a 2D game in a small team. As an alternative to the classical university, the more practice-oriented training courses at the University of Applied Sciences or an apprenticeship should also be considered. But as with creative professions, as a developer, a broad portfolio and the experience and capabilities of many companies are more important than the deal.
Those who only want to learn programming because they can earn good money with it will probably have little success. Because the whole thing should be really fun, a hobby. Anyone who does not like to “sacrifice” their free time will sooner or later stop using it. Because collecting experience and doing it yourself is indispensable for learning programming. I’ve never stopped working on any project since I first started learning programming actively. And although I have not learned the first steps of programming through my studies, I still learn a lot for this and beyond, but not everything. Nevertheless, it has greatly helped my learning process and brought it forward. But for the actual programming nobody has to study computer science.