The current advice is to learn morse code at full speed (full target speed, typically between 20 and 30 words per minute), but with greater than usual spaces between the letters. This, compared to learning the dots and dashes sent slowly, and then trying to hear them faster (which often leads to people having to unlearn dots and dashes, and re-learn the rhythm from scratch). The Koch Method also says one should learn a letter at a time, and add new symbols as your accuracy increases past a threshold (the actual numbers seem to vary).
I started using the Morse Toad app, and it worked very well for learning the characters and numbers. I’m also using the IZ2UUF app, which is the best general-purpose morse code app I’ve found, to learn the patterns that exist in real conversations, and for a more customizable lesson. Between the two, I’ve made progress much faster than I have with any other method in the past.
Every night, while I lay in bed before I could fall asleep, I would use the Morse Toad app, and do every challenge I had already completed again, and then do any lessons I had not finished yet until I started making significantly more mistakes. Then, I would set up a lesson in the IZ2UUF app, and listen at very high speeds (45wpm to start with), and slowly decrease until I could keep a head copy of at least 4/5ths of the last 10 characters. Then, I would increase the speed again until my head hurt and I decided to go to bed.
I’m slowly seeing significant speed gains, and while it’s been a few weeks since I studied this method, I haven’t lost anything! My father is learning the code also, and I’m still hearing each letter, even if it takes a little bit longer to recognize it.