3 ms·
>to not teach a language, but how to transform your thoughts to something that the computer can accept. Exactly! Programming is nothing more than a precise cod
by rramadass 4y ago
>to not teach a language, but how to transform your thoughts to something that the computer can accept.
Exactly! Programming is nothing more than a precise codification of one's thoughts on how to tell a Computer to do something. I believe it should be taught with a mixture of Structured English, Mathematics (Basic Set Theory/Logic/Predicate Calculus) and Graphical Visualization. The student should be helped to make up his own pseudo-code and diagrams to express his thoughts in a manner most natural/appealing to him/her. This is what is known as problem-solving.
Once the above has been grasped, using a specific programming language then becomes a simple act of becoming familiar with the artifacts of the language. The Concepts/Idea generation phase have been nicely demarcated and mastered from the Constraints of Actual Mechanisms used to express them. Going the other way (i.e. from specific language to general abstracted pseudo-code and thence to another language expression) is much more difficult since we get mentally set in a specific way of solving the problem.
- skydhash 4y agoI think that lots of people do the latter. I was part of a group doing algorithms challenge for fun, and most of them folded on the first challenge that wasn’t easy or obvious. I believe because they were not able to separate the problem space from the language space. The solution was fairly easy when you think about it in terms of sets (even though a transformation was required), but not when you were thinking in terms of the data constructs of the language initially provided (array of numbers).