??? 01/18/08 05:13 Read: times Msg Score: +1 +1 Informative |
#149674 - The nature of learning Responding to: ???'s previous message |
Craig Steiner said:
And while ICE is great, I think you ultimately learn more by banging your head trying to figure out what's going wrong by having to think about your code and trying to consider where it could be failing rather than just stepping through it until your program happens to do something you weren't expecting. This is why I, and many others, think that debuggers are, for the most part, counter-productive. Software engineering is applied math, and the best debugging consists of examining the code to determine if it is correct, and not in doing a postmortem after a failure. Debuggers do have their uses, but they're rare. Craig Steiner said:
But I think a newbie benefits from actually suffering through their errors and not just thinking about the actual instruction that turns out to be wrong, but along the way studying and confirming their understanding of many instructions that were actually right.
You learn through failure, not success. Amen. I was a software engineer for over two decades, but due to the fact that dim-witted business people (usually) don't understand engineering and are unwilling to hire anyone but wet behind the ears newbies, I'm now well into my second career teaching college math. As part of my training for this second career, I learned a lot about how people learn--some of it from my wife, who has a doctorate in education, some from university sponsored workshops, and some from on the job experience. The bottom line is people learn more from mistakes than they do from success. Google for the 'Moore method of teaching'. A greater depth of understanding comes from banging one's head against the pavement than from merely digesting a bunch of information without really knowing what it all means. Kudos on the book, Craig. I was unaware of it until this thread. |