Am I able to improve my problem solving skills?

Page 1 of 1 [ 6 posts ] 

K_Kelly
Veteran
Veteran

User avatar

Joined: 18 Apr 2014
Age: 33
Gender: Male
Posts: 1,452

21 Sep 2015, 11:56 pm

Tell me, I want to learn how to program but because I have Aspergers I don't have the sharp problem-solving abilities that most people, even non-programmers have. I Feel ret*d for such a thing. I really want to program though.

Is this a skill that you can improve on?



bushratcandy
Tufted Titmouse
Tufted Titmouse

User avatar

Joined: 25 Sep 2015
Age: 64
Posts: 33
Location: Australia

25 Sep 2015, 8:48 am

Programming is about breaking down a problem into smaller steps so if you wanted to program a robot to climb stairs it might go so:

repeat for each stair:

balance weight on right foot
bend left leg and lift left foot 5"
move left foot forward 8"
lower left foot to stair tread
transfer weight to left foot
straighten left foot and raise body
place right foot on stair


Practice makes perfect so just do some tutes and then make up your own problems. Building a calculator is a good first assignment.


_________________
I reckon they got it wrong, and it's the NTs who don't appreciate what life's all about


QuantumChemist
Veteran
Veteran

User avatar

Joined: 18 Oct 2014
Gender: Male
Posts: 2,081
Location: Midwest

25 Sep 2015, 10:51 am

Yes, problem solving skills can be improved with lots and lots of patience and practice. This is something that I learned during my "gifted" program back in grade school. One piece of advice that I can give you is never think something is impossible to solve, you just need to keep at it to get it done.



Adamantium
Veteran
Veteran

User avatar

Joined: 6 Feb 2013
Age: 1025
Gender: Female
Posts: 5,863
Location: Erehwon

25 Sep 2015, 12:06 pm

K_Kelly wrote:
because I have Aspergers I don't have the sharp problem-solving abilities that most people, even non-programmers have.


This doesn't sound right. Aspergers doesn't mean no problem solving abilities. Can you give an example of the kind of problem you find difficult to solve.

You have posted here, so you are capable of solving the problem of how to register and post on WP. That's the kind of thinking that is needed for programming: breaking a large action into smaller steps and executing them.

You could look at "Improving problem solving skills" as the first problem to solve.

You might find some useful stuff by Googling.

You could find, read and internalize something like this: http://ryanstutorials.net/problem-solving-skills/

But it might be good to start by refining your statement of the problem, identifying the specific types of prblem you have trouble solving.



CanTartlySpy
Butterfly
Butterfly

User avatar

Joined: 10 Jan 2015
Gender: Male
Posts: 14
Location: Erie, PA

26 Sep 2015, 11:05 am

Of course you can improve problem-solving skills. The process of learning to program is an excellent way to do so, as a matter of fact!

Perhaps something like this would be a good place to start: http://learnpythonthehardway.org/book/ex0.html In fact, this is not HARD at all as Zed is good at breaking explanations down into small manageable chunks for people who are truly brand new to the concept of programming. This is what I hand friends when they say they want to code but have never seen a command line.

Snake Wrangling for Kids is useful for new adult programmers, too: https://portal.utpa.edu/utpa_main/daa_h ... r_Kids.pdf Sometimes when a subject is difficult to break down, using materials intended for younger audiences really helps. There's no shame in so doing. Experts often get so lost in their subjects that they forget their audiences attempting to learn for the first time may be unable to follow their otherwise elegant explanations. Those who write for kids are often less likely to fall into that trap.

Solving progressively harder puzzles (these start at a very easy level) as you learn helps, too: http://www.pythonchallenge.com/

Of course, you can learn any language you want! I recommend Python to newbies because it's straightforward and you don't need to worry about compilers and other more finicky components right away. This isn't a lightweight language by any means, though! A great deal of power and potential, but able to start at an incredibly simple level to learn both the language and the concept of programming. There's also a huge and active support and development community.

Also, I can speak for myself and most of my programmer friends: our lot loves nothing more than discussing code and helping others learn! I've found most programmers are happy to help the less experienced. So if you get stuck - and you will, it's impossible to learn anything well without getting stuck sometimes - just ask someplace like around here!



GoofyGreatDane
Raven
Raven

User avatar

Joined: 7 Feb 2015
Posts: 100

03 Oct 2015, 11:03 pm

There are two things that I think could be beneficial to you in building the problem solving skills that you will need for programming. 1) you should try to work on how to write algorithms- basically practicing the programming. You will eventually learn how to think in a certain way while writing code. 2) you should try to build "mathematical maturity".

Mathematical maturity is the ability to think in a very "exact" and precise way that enables you to establish or prove things in which you feel to be intuitively true. You should start by trying to read some text in higher math - like abstract algebra or real analysis. Work through the problems yourself and try to prove the theorems before looking at the book's proof. This will help you build the problem solving skills required for programming since it will help you put into code what you "really mean" in a way that a machine can understand. When you start doing higher math (or programming) -it can seem foreign at first since nothing that you intuitively know matters- you need to be able to put it into precise terms. By higher math - I don't mean something like calc- I mean something that focuses more on proofs than derivations.

That said there are intrinsic factors that determine problem solving abilities. If you just can't do it , it may not be for you. Some people are just better at it.