I've been thinking a bit about integrated and non-integrated knowledge, stuff between, education, and aging. Most classes I took at University (and before) stressed the importance of integrated knowledge, placing little or no emphasis on knowledge that has been sorted out by the brain but needs some cues from the outside to be usable. For example, when I was taking computational theory classes, I had to regularly memorise formulae on quizzes and tests, and by the end of the semester, I had quite a lot in my head from that. Later in life I've switched to having notes, already arranged to best meet the way I think (for me, often markedly different than the way I was taught, but that's probably true for most people - it would be interesting to think about different organisational principles for thinking if it didn't take such difficult conversations with people to get something solid to consider), for most of these high-memory fields - I generally like to think in terms of concepts, with the details placed in a cache (usually paper or the dim ends of my memory) for the rare occasion I need them - I find that most of the time, the abstractions are more useful than the specifics. I think it's interesting how some classes were arranged in a way that people could bring external aids with them - sometimes professors allow a notecard, sometimes they provide their own notes for some details (the Hitchcock final was accompanied by a list of who played what and what role they were in the story for each covered film), etc. It's a different style of learning, I think, to sift through ideas and mark some for discarding, some for organisation for occasional use, and some few things that are worthwhile to keep in the head. I think it's more realistic to think of education that way, even if it makes it more challenging to come up with good tests - the tests would be more meaningful in terms of long-term life if they focused on conceptual ideas, I think.
One of the things I really liked about my University experience was that some of the math classes I took were experimental. I should explain that although I have always shown a very strong aptitude for math (standardised tests marked me as being one of the top few in the gifted programme), I lost my calculator for the placement exams, and my father got me a 4-function calculator when we got down there rather than a graphing one - I didn't place as well as I should and ended up having 4 quarters of calculus during my first year. Because I already had plenty of calculus in High School, I went for the new, experimental computer-based course (created by Bill Davis, Steven Wolfram, and others), thinking that it would be amusing fluff and I could devote more energy to my other classes. I was wrong on that, in that the professors running the alternate programme thought that gruntwork in math was a waste of time and decided to teach a Mathematica-centric class as an opportunity to push for much more conceptual learning, stressing the ability to flexibly tie covered concepts in class without prior study. The tests were generally us sitting in the Mathematica lab and being asked to apply concepts we had learned in directions we had not seen before. This ties into the above in that apart from fluency in Mathematica, there was very little that one had to do but learn concepts in a deep way to do well in the class, and the class was structured in a way that we could learn concepts more deeply, I believe, than had we covered the same material on paper. As an added bonus, we avoided standard mathematical notation, which I've always found to be lousy (any programmer who suggested using one-letter variable names from foreign character sets all over the place for the sake of brevity would probably not go very far).
When it comes to programming, there are some things that I don't like to keep in my head, and so I have a collection of code samples to remind me how some things work. They're semi-integrated in the sense that they're designed for me to easily pick them up again and other people might have to scratch their heads over them (or rewrite them to be better samples for them) to get as much benefit, but they're very different from my needing to google for code samples and wonder about the specifics. A few things I put in this category:
- POSIX regexes in C
- PCRE regexes in C
- The Tk toolkit stuff for Perl
- High ASCII values - I once had all the umlauts and some accents memorised, but this day is long past and I usually use Unicode-aware keybindings to enter that now
- How awk works
For some people, some domains, and some knowledge, it becomes difficult to know whether a given piece of knowledge should be discarded, paged out, or kept in one's head. Developing good intuition on that matter is a life skill...