This makes me think of two of my personal subjective observations:
*human language learning - I have been learning English as my second language since I was ten and now, living in the UK, I find that I use entire sentences sometimes just as I first heard them. I think that most programmers learn the same way over a very long time.
*how learning to program is different than natural language learning - one has to approach programming as a child a human language - there is no direct reference to english. One has to build context from experience and examples.
Having said that, the language I’m learning - python is a “batteries included” language. This means that there is very many libraries already written for a number of tasks. For example, csv file handling. I have used it, and will use it again, but will have to look into the documentation again to remind myself of the syntax. With enough repetition, I will remember the commands just like I remember English words.
I think that understanding of the command must come first - hence building context is crucial. However once that context has been built, it would be helpful to have an efficient storing system available to aid remembering. I believe that this has a chance to compliment (not replace) traditional learning.
And this leaves me with presenting what I have slowly been working on. Two things:
- a memory palace with roman rooms from scratch
- PAO substitutes for syntax
I’m very slow so it’s only in its infancy. Here’s a few examples of the PAO:
*abs - Antonio Banderas carrying a guitar box
*all - Al Yankovich spitting marbles from his mouth
*any - Annie Lennox singing into a microphone
*basestring - Flea changing a base string
*bin - bin laden shooting an AK47
*bool - bull (minotaur actually as I wanted a humanoid form) - prodding a torreador in his bum
The palace is blue as I wanted to experiment with reusing the same structure with different colours. It starts with blue and will expand into red and yellow (basic colours). Each room has 10 loci:
C - ceiling
LN corner
LW - left wall
LF corner
FW - far wall
RF corner
RW - right wall
RN corner
E - entry where I’m standing
F - floor in the middle
The persons bodies will be used to hang arguments if present. Need to read up on the popular numbering used.
I will try to remember examples of use for the complex commands just like you remember sequences of numbers or cards.
Any comments very welcome as I am a total beginner.
My aim is to prove that a complex system can help with learning to program. Once the filing system is built I will make goals for memorising, use Anki to repeat the PAOs etc. I still will be making scripts to practise but will attempt to memorise some of them as examples.