|
You probably don't have a learning disability. You have simply come to grips with the fact computing is inherently difficult in a lot of aspects. When you go out and teach yourself, don't be discouraged by failure. You shouldn't read technical books like a novel, no one does, and those who claim they do are just lying. For more on that you can read this: http://web.stonehill.edu/compsci/History_Math/math-read.htm Which describes how math books (and other technical books by nature) should be read and studied. Don't think after reading a paragraph, you should understand everything. Take it slow, and take the time to work out things on your own, the more this happens the easier it gets. Also, whether you are good or not at problem solving, just remember that you should be enjoying the process of solving problems, not necessarily just the answer. It took Steven Hawking 29 years to make a big step of progress with Black Holes. Experimenting is just as important as the thought process is. Read something, test it, break it, try to fix it. You also stated you had difficulty looking from new perspectives. This is tricky, but first get your creativity flowing, then ask all of these question. Why? How? Why Not (INSERT SOMETHING ELSE)? Will it work with this? What is the fundamental idea? Is there a way to change the implementation of how this is done, while still maintaining the proper outcome? Scribble down your ideas, and play with them. For example, I remember when I was trying to fix my indoor toy flying helicopter after the plastic broke on one of the propellers. Instead of taping it I asked myself, what it was exactly I was trying to do, which was reconnect a broken plastic propeller. Then I asked myself what ways this could be done. After fooling a bit, I decided that since it was plastic I could simply melt it back together. You just have to learn to break things down, and chunk them together, and play with the elements of a problem. Keep reading, learning, most importantly have some fun. |
The difficult part for me is that I have to force myself to ask the questions that you talk about, it's definitely not intuitive for me and my first reaction is not to think about the different solutions a problem could have, like you said I can't break a problem into chunks, and this I think is essential to be a programmer.