I have been teaching programming at a FE college and at A level for many years now. I must say I am quite good at programming and the students say that I can teach it better than the other teachers in my department. So for that reason my manager makes me teach all the programming units. However the problem we have is that it?s so difficult for people to pick it up. I personally picked it up almost straight away and some of my students are like that but most are not. Has anyone come across methods which help people learn programming more effectively? Has research on this subject been done? If I had years with the weaker students (most of the students I have can?t program) then I am sure I could get them to become experts but it seems like some people just find it too difficult to get their heads around programming within a few weeks. Does anyone have tips on how to teach programming?