> For example, I do not see any value of winning the spelling bee in real life applications.
You might if you were an editor. I guess your job probably doesn't have much to do with that so you see it as pointless but there is a different sphere of knowledge where having various things committed to memory would save you time. For instance, if we're interested in learning a new programming language, I guess most of us can understand a sentence like "a string is an immutable sequence of characters," quickly read it, and move on. If you weren't familiar with the concepts in that sentence you'd burn a lot more time before making heads or tails of it.
> “I guess most of us can understand a sentence like "a string is an immutable sequence of characters," quickly read it, and move on.”
Can we? In the context of learning a new unfamiliar programming language… is it saying there is a string type or is it telling you that there isn’t a string type but only a sequence of characters? Like APL a string is an array of characters not its own type but in C# [string] is a thing and if you iterate it you get [char] type. In Prolog a string is traditionally a linked list of ASCII code numbers, there isn’t a string type or a char type … but there is still a string to chars conversion function. So is the sentence telling you that there is a char type? In Python a string is iterable but you get strings of length one for the characters rather than chars. But wait what about Unicode and surrogate pairs and glyphs, where does “sequence of characters” fit on those things in this language?
What does ‘sequence’ mean in this unfamiliar language - is it saying strings are an array or a list, or that sequence is a trait or behaviour which generalises over many types? What is immutable specifically, sequences or strings or characters or all data? What are the consequences of that? In APL you can assign into an array even though they are immutable (it will be copied behind the scenes) so it seems like it is an implementation detail you can ignore but wait that means dropping one character from the front copies the rest of the string in memory (slow) whereas in other languages trying to change a string at all is an error - compile time or runtime? You might think Prolog can do it if strings are linked lists but surprise, Prolog lists are immutable.
So if you read that sentence and move on, what have you really learned about the new language? In the context of this thread how would you Anki-fy the concepts immutable or sequence or string?
Do you think all those questions are someone who looks at the sentence and has no idea what it means would even think to ask? I don't know how you'd convert the knowledge to flash cards most effectively; my point is you have a ton of knowledge committed to memory about programming concepts and that allows you to more easily assimilate new knowledge, because you aren't having to spend time wrestling with the basics to make heads or tails of the topic you actually meant to learn about. It's a kind of yak shaving for the mind that you get stuck doing otherwise.
The context was about whether rote learning was helpful, and I read your comment as suggesting that it was - not just that background knowledge helps but that rote learning without understanding can help someone gain understanding later. By asking about Anki flashcards I was wondering what someone might rote memorise without understanding which would then help with learning about that programming sentence (I can't quickly think of anything but maybe you had something in mind).
And I'm also saying that rote learning and background knowledge can hinder progress and require time unlearning, like the beginner needs to spend time learning. e.g. a mathematical sequence like "even numbers" can be infinitely long and the sentence probably doesn't mean that strings can have infinite characters in them. I guess, if you don't know the meaning of the words the sentence doesn't help you, if you know the words from a different context but don't know the programming language then the words don't help you, and if you already know the language then the words add nothing for you. Learning is impossible, Q.E.D ;-)
I don't agree that there is a meaningful distinction between these types of learning. To understand a topic you must simply commit a lot of details about it to memory. If you wanted to make flash cards perhaps you could do terms and definitions.
You might if you were an editor. I guess your job probably doesn't have much to do with that so you see it as pointless but there is a different sphere of knowledge where having various things committed to memory would save you time. For instance, if we're interested in learning a new programming language, I guess most of us can understand a sentence like "a string is an immutable sequence of characters," quickly read it, and move on. If you weren't familiar with the concepts in that sentence you'd burn a lot more time before making heads or tails of it.