Self programmable
Self-programmable refers to the ability of a system to program itself, much as people currently program computers (Turing machines). This is an essential aspect of artificial general intelligence because solving challenging problems typically requires complex sequential behavioral and cognitive steps. Sequential processing is a big part of what allows Turing machines to be universal computers, because sequences of elemental operations can be endlessly combined to accomplish any task, whereas parallel processing places strict constraints on what can be done at the same time, and is highly and algorithm-dependent.
Thus, the next time you find yourself telling yourself a sequence of things to do, recognize that this is what makes you smart!
Interestingly, large language models (LLMs) also have this ability, because they perform predictive learning over huge databases of computer programs and their outputs, and can leverage this ability to guide their own behavior in program-like ways. Recent work on improving reasoning capabilities in these models essentially works by this self-programming principle. Furthermore, other work has shown that LLMs can take advantage of actually running code that they program to help in reasoning tasks.