Programming is easy - only 6 concepts of programming you need to learn.

[EN] There are only 6 things you need to learn to become a Programmer.

Part 1 of 7 - Introduction

ENGLISH VERSION

CLICK HERE FOR THE GERMAN VERSION OF THIS ARTICLE


Me being a programmer for over 20 years now and additional being a programming trainer for the last 5 years (mostly at the 'damago institute' in Essen - Germany), i somehow think that the essence of programming can be reduced to learning only 6 core concepts of programming.

These concepts can be found in nearly identical ways in almost any programming language i worked with. If you you are looking for a specific language to learn, let me show you a list of languages where you can apply this concepts.
  • C, C++
  • Java
  • Java Script
  • Python
  • PHP
  • Perl
  • C#
  • Visual Basic
  • Objective-C

 

I am sure that these concept can be seamlessly applied to even more languages, but here i only the mention the once i have worked in my self and the once that i am teaching, based on this concept.
Looking back on what i have coded over the years, helps me to determine the topics i need to teach my students when we are doing "introduction to programming" or even in the advanced courses.

To me you only need to develop a good understanding of the next 6 programming concepts:

6 concepts of programming

Even the first 5 of those may be enough to become a good C programmer.
Of´course there is knowledge you need to adopt while you get to know these 6 concepts, e.g. who the memory allocation is working or what influences the program performance.
But after teaching only these 6 concepts for a few years to a total of about 300 students, and watching how they adopt, grow and develop, and all of them truing into a full fledged programmer,
i really think this approach is worth a try. Anyway its quick and can be taught in a minimum of 2 weeks.
After that 2 weeks of  50% theoretical introduction and 50% 'try to code what you just saw', the only thing the students needed was time to practice, while the teacher (me) is there answering questions and accompany them on their journey to understanding it by 'trial and error' coding.

So this is why i like to start this blog post series in which i will try to write down all the information that i usually give to my students to introduce them to these 6 concepts of programming.
I am aware that there are more advanced topics to look at if you get deeper into programming, but as usual - if the foundation is prepared well, everything can be build on it easily.

In the next days / weeks i will provide the following articles in german and english.
Make sure to read them in the order from 1 to 6 if you are learning programming.
( if the article is linked below than its already written - others will follow )

  1.  Variables - A pice of memory that we can name however we like to.
  2.  If / Else - We ask the computer a simple question and he just replies truthfully.
  3.  Loops ( while / for ) - Lets repeat over and over again and see how fast a computer can really be.
  4.  Arrays - Just a case with drawers that we put numbers on and content in.
  5.  Functions - If it happens more than once, we give it a name and just use it repeatedly.
  6.  Classes - About casting moulds and  how all tin soldiers come out the same way.

Note: in the tutorials i will be simplifying programming concepts to a point that a skilled programmer may say "that´s wrong".
I am aware of that, but to help the students get into it i like to give a very simple explanation first (even if its wrong) and later help them to correct the understanding to the more complex and correct explanation.

I start this series on September 4th of 2020 and will try to finish it till the end of October 2020, so please stay tuned.

Feel free to share the series if you think its useful or send me comments if you think i am wrong or i missed out something.

Contact me:
Kai Niklas - CEO decode GmbH
Mail: k.niklas@decode-it.de
Twitter: @Kai_Niklas
Skype: uwi2k2
Instagram: uwiworld

 

Kommentare

Beliebte Posts aus diesem Blog

Place items in the hands of 2D characters in a 3D world

Variables - A piece of memory that we can name whatever we want.

Variablen - Ein Stückchen Arbeitsspeicher, das wir nennen können, wie wir wollen.