I usually feel like an idiot because I realize what I was stuck on was not all that difficult at all, I just could not see it from the right angle. I remember when I was trying to figure out SPI comms. It just did not make sense to me, then one day it clicked.
@aerospacengineer: ...it can be a bit tedious when you get stuck ... sometimes I will set aside a project for months ... it also tends to result in having quite a few projects that are all going at once.
Yes! That's just like me! Also I'll be mulling problems over in my mind, thinking of different possible solutions, then suddenly I'll think "Eureka!" (or words to tha teffect)
I totally agree with this approach. Get some very basic stuff under your feet, then throw yourself into the deep end. When you are having a hard time swimming, then go and look out for other source material. Once you have gotten through the first major project, then you can go back and really understand the material that was being presented in all the text books. From there you might pick up on a few nuanced things that can help improve the next project.
It is a system that really works well for me. The hardest part about it is that it can be a bit tedious when you get stuck. Sometimes I will set aside a project for months, and while doing a random internet search come across the answer to the problem. From there, I pick it up again and start running with it. It is a fun game. It also tends to result in having quite a few projects that are all going at once.
@Adam (a.k.a. Aerospacengineer): I find that having a project is the best way to start learning.
I totally agree. Of course you need other resources, but I find it really hard to just sit down and work my way all the way through a technical book, for example.
When I start working with something new -- like the Arduino, for example -- I might buy a couple of books and skim through them to make sure I know what's there. Then do something really basic like compiling and running a "Hello World" program or flashing a LED.
But after that I like to have a project I want to do, because that way I target what I want to learn and have instant-ish gratification getting the various bits to work.
Once I've done that, then I might go back and read the books in detail to discover things I didn't even know existed the first time round.