I am currently teaching at a local college an Introduction to programming using C#. Most of these students have never had any programming experience. The only prerequisite is an ICT course that teaches basics of computing.
I am finding that the students are facing issues with comprehending the concept of program structure and execution. I tried explaining with flow charts however they still face issues linking the flow of the code to the flow of the solution of to the problem being solved.
Those who are more experienced probably know of techniques or ways to structure the lesson or even curriculum to teach programming in a much better way (I am even guessing there might have even been studies about teaching programming).
What known techniques are there for teaching students at a college level programming? Especially those who have had no prior experience before?