Some Difficulties of Learning to Program