I learned how to touch type in the 9th grade. I was sick of three years of programming while "hunting and pecking", so I signed up for a typing class. After one class I knew that was a complete waste of time, so I immediately dropped the course.
But I was determined to type, so I went to the library and borrowed a touch typing book. This book had graded exercises. Each exercise consisted of some line of text. The first exercises only used home row keys like
asdfjkl. Gradually, the exercises added more letters and symbols, moving farther and farther from the home row. Of course, the idea is to do these exercises without looking at your fingers.
Now here is the thing: instead of typing just the line once, I repeated each exercise enough times to fill the screen before moving to the next exercise: some two kilobytes' worth. I did this for maybe 30 to 60 minutes a day. It took about a week or two to go through the entire book, but at the end, I could touch type. After that, I didn't require exercises any longer. I then typed without looking, using all fingers, and so my day-to-day typing was enough to sustain further improvements in speed and accuracy.