In middle school we used a program called Mavis Beacon. I saw it on a shelf not too long ago for under $10. This teaches you in stages so your muscle memory can recognize a few keys at a time and then you can slowly build up to learning more.
[This upcoming paragraph is for if someone who has not taken a typing course is reading this answer. Please skip this paragraph if you already know the basics of typing with all of your fingers.]
If you want to completely learn on your own (which is possible, it just might take longer), you want to rest your fingers on what is called the "home row", so your left pinky is on the A key, left hand's third finger on the S, left hand's middle finger on the D and left hand's index finger on the F. Lay both thumbs on the space bar. Similar to your left hand, lay your right hand's fingers on the keys H through L,with your index on H and pinky on L and filling in the middle keys with your middle and third fingers. Now, when you go to type a letter, for example, T, you want to move the nearest finger that is on the home row key to press the T button. So this would be your left index finger, which is currently on the F. Once you press T, return that finger to the F key. You would repeat this process until you subconsciously begin to memorize the keyboard and can eventually type without the home row (as I'm doing now).
Mavis Beacon and many other programs, perhaps some being free, make the learning process much less tedious and even show a virtual keyboard on the screen so you don't have to actually look back and forth between your keyboard and the screen (which can strain your eyes). There are also games included, which can help you learn the keys faster, and are just more fun overall.
Once you learn, it's really just a matter of keeping at it. Even when I started at a young age, it took over a year with really working at it before it became second nature.
I hope that helped! Best of luck.