3 ms·
"Finally, most things we learn, we learn by imitating others. Our brains are hardwired to learn that way, but it's not very helpful for learning to program." I
by cowmoo 19y ago
"Finally, most things we learn, we learn by imitating others. Our brains are hardwired to learn that way, but it's not very helpful for learning to program."
I would like to disagree (respectfully). Although in most CS programs, algorithms and PL classes tend to be heavily proof-based and end up being exercises in tedium. As a TA for a intro. programming class, I would like to present the latest problem-set to students as some kind of narrative, sketch out what makes the problem interesting and the natural flow of the program structure that follows the problem, that comes spontaneously to the mind. So in a way, people are learning by imitating/doing, and not grinding out the hard theory first.
Honestly, I don't think everyone here learned for the first time about loop's, as according to proving that loop variants hold on during the iterations; or convinced themselves the way that various data structures work, by way of category theory. You learned it by doing, and you know that it just intuitively works. While functional PL is harder than Java, I think it works the same way; you change the way you think and in turns, the way you program, by doing.
- BrandonM 19y agoMaybe that is one thing that makes CS more difficult than other areas... that you must learn by doing. We really are hard-wired to learn by imitation (as the original commenter said). That is how we learn language, social norms, etc. CS, however, is definitely something that you need to learn by doing. Interestingly, that may also explain the idea of "computer geeks". If CS selects for people who learn by doing instead of by imitation, you are more likely to see those types of individuals. If social norms and social interaction is learned by imitation, those are abilities that are harder to learn for someone who is more inclined to learn in another way.