>>13
Why teach imperative programming then?
When you're teaching the basic concepts of programming, it might be helpful to use a language that ISN'T in common industrial use—then the concepts can be presented separated from the syntax of any particular programming language. The concepts learnt can then be mapped onto other syntax later.
This is speaking from personal experience of several friends who have *never* programmed before doing the same course as me; we at first learnt C (why?), and then Java. It took them a while to formulate the abstract ideas behind the syntax of C and apply them liberally. At first they were stuck in a somewhat syntax-is-everything mentality; for example, it took a while for 'method=function' to stick.
Silly I know, but it continues to surprise me what they have problems with when they've *never* touched code before.