Science can be many things.
Quote Originally Posted by Adam Strange View Post
Then there are the things that are just puzzles.
I took standard computer language classes in college and did very well in them. Then I tried to learn real-time assembly programming of microcontrollers on my own and failed miserably. Maybe I just took the wrong approach?
Sound like machine level programming is drastically different from data handling. Well defined unipurpose machine is constrained you'll need lots of tricks and attention to details - sometimes messiness is needed, in pure data you structure and design it. These days there are ways around it as micro controllers have become beefier in terms of performance and it is totally possible to run scripting languages (or high level C/C++ interfacing code) inside them which makes sense if you are just a hobbyist.