8 ms·
My wife is a smart person. She's a seismic geologist, she can do calculus, she has no problem thinking in her domain's language and concepts, and memorization o
by evilduck 16y ago
My wife is a smart person. She's a seismic geologist, she can do calculus, she has no problem thinking in her domain's language and concepts, and memorization of information has never been a problem. She's asked me to explain basic programming concepts a few times.
She can't or won't make the mental leap from basic algebra skills to variables and functions. Mentally unrolling loops or recursion, forget it. I don't even bother trying to explain data structures like stacks and heaps. How a programming language [that's mostly human readable] gets turned into machine interpretable information is black magic. She even took an intro to programming class as part of her degree, so I'm not the only teacher who's failed at the topic. It can really be frustrating at times because I have a respectable knowledge of geology and its industries and can conversationally hold my own with her and her peers, but she can't reciprocate at all with my peers.
For my sanity, I've always assumed some people just can't readily grasp the abstract symbolism and recursiveness programmatic thinking requires.
- aristus 16y agoI think CS is so new that we don't quite have a grasp on what is truly hard and what is merely being explained badly. That's nothing against your teaching skills; I mean that our mental model of functions and recursion may be unnecessarily complex, or mixed in with other things, or perhaps depends too much on visual or symbolic thinking.
- arctangent 16y agoAs the grandparent said, "It's hard for a master to think like a student." This is perhaps the biggest obstacle for people who are trying to teach others to program - and so I agree with you here. However, it does seem like there are some people who will just never be able to pick it up - even though they are demonstrably smart in other areas.
- aristus 16y agoI don't buy that. That's like saying some people are smart enough to read, but just can't figure out writing. There will always be those with exceptional aptitude. But if you must be exceptional to simply understand a subject as broad as computer science, that's a problem with how we conceive the science. The Romans thought multiplication was really hard, too. Exponents were literally unthinkable. We know better not because we're that much smarter, but because we have a simpler and more powerful way to think about it.
- rmc 16y agoAlthough seismic geology will have a 'language', it's no where near a programming language. Most specialisations say 'we have a language' but that mostly means they have lots of specific terms or common-for-them-uncommon-for-the-rest-of-us words. Whereas a programming language is much more like a real human lanuage than a lexicon.
- evilduck 16y agoYes, but we also have non-programming vernacular that we use outside of the act of programming that encompasses CS concepts. It's a bit like having a specialized vocabulary to describe another language. I can conversationally say to fellow computer scientist "I organized the pieces of data into a red-black tree" and that's totally programming language agnostic and conforming to English syntax while still requiring a hefty amount of CS knowledge to grasp the actually meaning of what was said.