Why teaching programming is so difficult?

Like I said in one of my previous posts, I just started my first semester in my MSc in health informatics. And the first semester has a module for object oriented programming.

Some history

I was lucky to learn computers since I was 10 years old, even though computers were mostly used in offices and even though my parents didn’t have much knowledge in computers, they sent me to a class where they taught the basics in computing.

After some basics in computers, we were fist taught MS Basic, as a 11 year old, basic was an easy to understand language, me and my friends experimented in creating new programmes and it was all fun.

Then as the years went on we learned Pascal, C++, Visual Basic and JAVA. By 14-15 I created some interesting programs with Visual Basic and .NET. Every Saturday me and my friends at the computer class showed off to each other what they have created during the week. It was a fun time.

As a 15 year old one thing I failed to grasp was object oriented programming, yes I knew how to use Visual Basic, but it took me some more time to really understand the scope of Object Oriented Programming.

Me trying to teach programming to doctors

I went to become a doctor, but even at medical college I never lost my touch in programming, and curiosity to learn new things. I learned JavaScript, frameworks like Angular, Vue, React, and now I’m more interested in web technologies.

Fast forward 15 years later, I’m learning basics in Object Oriented Programming again, as a post graduate student in health informatics.

Even though I’m also a newbie in networking and software engineering (I never liked hardware and networking side of things as a child), because I have learned the basics of programming, I feel object oriented programming and JAVA lessons as something that comes natural to me.

However, the same cannot be said to some of my colleagues, whom they have not learned programming or basics in computing when they were young. This is their first time in learning object oriented programming, JAVA. Almost everyone is more than 30 years old, and some of them turn to me to explain them how to get though their JAVA assignments.

I constantly repeat them the fact that,

Don’t learn java, don’t try to memorise the java syntax, learn the principals of object oriented programming, and programming. Once you learn the concepts, you will be able to apply that to any OOP language and crate whatever you want.

However, they constantly find it difficult to grasp the concepts object oriented programming, and in return they also find it difficult to learn java or any other language.

And when I try to explain, or “try to teach them” Java they always find it difficult to understand

  • What is a function/method?
  • What is meant by return?
  • What is an array? What is an index?
  • Why looping is so hard to understand?
  • What is the meaning of public static void main()

There are some of the usual questions I get to answer but still no matter how hard I explained to them, they always find it difficult to understand it.

Why teaching programming is so difficult?

  • Maybe I’m not a good teacher
  • Maybe I’m trying to explain to them in a position where I’m subconsciously explaining to them thinking they also had some basic knowledge in computing when they were children.
  • It is a known fact that with age you lose the ability to learn new skills, is due to their age which makes it difficult for them to understand programming?
  • Is it because they straightaway had to go to Java instead of learning a simpler language first, like what I did as a child?
  • Since they are doctors I don’t think they lack the analitical capabilities in understanding the logics behind programming.

So what makes it so difficult for them to understand programming?

What should I do to make them like programming, and learn the basics in object oriented programming?

I tried everything possible,

  • I explained to them as simple as I can
  • I showed them some articles available online
  • I wrote some easy to understand posts by my self and emailed to them
  • I showed them some YouTube videos that explains object oriented programming and java

But none of them seems to work and I don’t see a good progress in any of them.

What do you recommend that I should to to make them learn programming basics and JAVA? The last option is to create some basic lessons coupled with some simple exercises for them to do, instead of somewhat complex assignments given to them by the MSc program.