yes. I used to help teach the freshman CS programming course at Penn (mixture of students, but mostly those intending to major in CS). There were many students who were very comfortable programming in C, who had to really readjust their way of thinking for Scheme or ML, two of the languages we taught. (Such readjustment was exactly the intent, of course.) What was so interesting to me that was that some of these students had gone to the "best" high schools, and learned a lot, but had never been introduced to basic concepts of recursion. Of course, some percentage of them had the reaction, "this is really cool!". As it is. After all these years, I still say that to myself when I write recursive code going down a tree.
I really wish some of this stuff was taught earlier. There's no reason for students not to have seen The Towers of Hanoi problem in high school, or earlier.
Seth