It is true that you learn a lot in the process. It can also be true that after you have everything setup fine and dandy in MATLAB, you can proceed to learn a lot about what you actually intended to learn (mathematics?), while some other fellow is still trying to get things set up. In other words, your example tries to prove your point by selecting a particular aspect to measure learning, i.e., how much you learn of C and C libraries. Change the this and one can argue that after going through all that, you learn nothing of value.Originally Posted by Epy
On one hand, I think that your characterisation has some truth to it: students can be like that - they just want the qualifications at graduation. On the other hand, I think that your characterisation is unfair: some students are bound to wonder how things are done under the hood, and well designed pedagogy can cater to that. Others may be interested in seeing how they can take things to another level, e.g., to write their own libraries, and eventually they will find out that they need to know how the building blocks are made in order to build more complex systems better. After all, it is possible for students to learn assembly language and machine organisation, then forget it all because thet regarded it as just a chore that they had to get through at some stage.Originally Posted by Epy
Originally Posted by EpyI suggest that you read Programming in an undergraduate CS curriculum (PDF). One of the points that Stroustrup makes in that article is the idea of placing the emphasis on programming needs and principles rather than on language features. Consequently, instead of teaching the C part of C++ first, he teaches the use of the C++ standard library early, thus enabling students to take advantage of the abstraction to develop problem solving skills instead of worrying about the nitty gritty of good container handling. Later, students are taught how to do without these standard containers, if they need to.It just seems to me that Python takes too much thinking and knowledge out of the equation.