Childhood Programming Memories
As a child my mom once sent me to join a course in computer programming that was designed for children. I remember learning a few things and that it was fun there. Later I did computer programming, still as a child, by reading and learning from a book containing simple computer programs. As my programming skill developed I came to the conclusion that trial and error was the king among learning methods and that every other learning method faded against it. I held that belief for many many years together with the belief that training courses are utterly useless.
As time went on, my perception about this matter started to change. I started to realize that every method of learning had its own merits. I realized that the strongest and most advanced learner is the one who makes use of a diverse set of learning methods not simultaneously but one after the other. One could switch from using one learning method to the other then go back again to using a learning method he had used before and go through the learning methods in sequence once again in a continuous upward spiral.
Asking friends was an additional source of learning besides the learning methods I had already recognized while improving my computer programming skills which were: trial and error, readings books and attending courses. As I said, each learning method had its own merits.
Trial and Error
Learning through trial and error for instance allows one to discover new things that might have not been discovered by others, provides a very deep and solid understanding and mastery of things and builds experience. Relying too heavily on trial and error alone while excluding other sources of learning may lead to imbalanced learning and a fragile foundation that may lack many basic fundamentals. Trial and error can also be an extremely slow method for learning.
Books can be a solid source of learning that provide the fundamentals and give a strong solid and balanced foundation. They can be a reliable source of information and a good reference guide. Similar to trial and error, books are independent sources of learning that do not need you to be in contact with anyone. Some of the drawbacks of books however is that they might be boring, might not answer all your questions and might not be up to date.
Training courses can be the fastest way to learn. They give you a strong push to start on learning something, they give a balanced foundation and provide you with the opportunity to ask questions, practice and have your mistakes corrected. Training courses, however, cannot on their own push you up towards high levels but just give you an initial strong propulsion in the right direction.
Friends can be a powerful source of learning that provides motivation as well as updated information and answers to your questions. However, they might not always provide correct information or the correct answer.
Relying on one source of learning only results in imbalanced weak learning. Going from one learning source to the other is what builds a strong and advanced learning experience.
What other sources of learning can you think of other than trial and error, books, training courses and friends?