A psychopedagogical approach to the teaching of a programming language in secondary schools