@ Carlos Bazilio (as far as I remember you asked “Which first language do you think is the best for learning programming techniques?”):
Start with hypothesis: “Programming is hard. It's the process of telling a bunch of transistors to do something, where that something may be very clear to us fuzzy humans, with all our built-in pattern matching, language processing, and existing knowledge, but really, horrifically, tediously difficult to communicate to a bunch of dumb transistors. (Dethe Elza)”
Then explain to your students next:
1. Programming is art. (“The Art of Computer Programming”, Donald Knuth)
2. Programming is strict way how to solve problems using “dumb” machine. (“Algorithms + Data Structures = Programs”, Niklaus Wirth)
3. To do that you have to spend lot time of learning. (“Algorithm = Logic + Control”, Robert Kowalski)
4. At the end: “Follow your heart, and your curricula, and your primary goal in teaching.” No shortcuts are allowed, and use any programming language you like.
Start with hypothesis: “Programming is hard. It's the process of telling a bunch of transistors to do something, where that something may be very clear to us fuzzy humans, with all our built-in pattern matching, language processing, and existing knowledge, but really, horrifically, tediously difficult to communicate to a bunch of dumb transistors. (Dethe Elza)”
Then explain to your students next:
1. Programming is art. (“The Art of Computer Programming”, Donald Knuth)
2. Programming is strict way how to solve problems using “dumb” machine. (“Algorithms + Data Structures = Programs”, Niklaus Wirth)
3. To do that you have to spend lot time of learning. (“Algorithm = Logic + Control”, Robert Kowalski)
4. At the end: “Follow your heart, and your curricula, and your primary goal in teaching.” No shortcuts are allowed, and use any programming language you like.
(from https://www.researchgate.net)