Why teaching programming is so difficult?
ruky.me
ruky.me
But for basic programming, the students will have to commit, just like children do. Their questions that you quote :
* 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()
I suggest teaching them the basics of the scientific method. They should do their own research, even through a basic web-search, and ask a specific follow-up question. Every one of these questions shows that they did not do a basic web-search. It's ok if they want to learn like children. Children ask lots of questions. But it will take more time, just like it does for children. Time I do not give for free in my teaching scenarios, except kids under 10 y.o. Meaning, I expect the older individuals to show they did their homework first.
A question I would spend time answering, for contrast: "I have read the chapter on arrays and have done exercises from the following www resource. What I don't understand in a specific case is this..."
But even when I send them some references they reply saying even they read it they could not understand what it meant.
Which lead me back to explaining them from the beginning
And "I don't understand" should not be acceptable. Let them write out what they did and what exactly they don't understand.
For example:
To find out more about main, I searched for "Java main", and got the following: "All Java programs must have an entry point, which is always the main() method. Whenever the program is called, it automatically executes the main() method first. " Yet when I look at this code here, line ref/ code snippet, I don't understand why it doesn't have a main....
I don't have any natural talent for programming nor math, and cried for 2 weeks straight when I was going through my first programming book, my brain literally hurt. I just ground that book.
Taking a book and typing out all the exercises, muscle memory. You work your ass off for 10 years, and suddenly you get lucky.
With that disclaimer out of the way my understanding of the problem for people to understand something so abstract as functions, arrays and iteration is because they have no frame of reference. It's like remembering a word from a very foreign language after a week. My trick to help people absorb these abtract ideas is to use metaphores with things they're familiar with. So a function can become a robot that takes commands (parameters) and outputs an answer (return statement). Since you have the understanding of both a medical professional and a programmer you're in a great position to connect the two worlds. Also leave out the technical jargon; explain it in regular language. Together with a simple hand-made drawing (most people are visual learners) it should help make it stick.
Registered an account here to reply on this, so I hope it helps.
Yes I’m planning to write some emails to them explaining things in the form which is easy for them to understand
I hope it will help them
Still I can only learn a new language or framework if I have a project that grabs my attention. So I would say don't start off with teaching "progtamming", like, what 'public static void main' means. Start with letting them create a simple CRUD app or little game through programming. And build from there. I like the process of programming but what I like most is interacting with my creation.