Software to help you improve:
There are two programs I use to practice CW. The first one is called Just Learn Morse Code. Richard, GI4DOH introduced me to this when I was chatting to him about CW and contesting at the Lagan Valley ARC 2015 Rally. I came home and downloaded it and have been using it to both improve and test me CW proficiency.
Just Learn Morse Code can be obtained from http://www.justlearnmorsecode.com/ Download and install the program and you have a very simple interface. Set which characters you wish to practice, the speed and the length of time you wish to practice for and away you go. At the end of the session the software will tell you how accurately you were able to receive and type the characters. This is a great way to work out which letters or numbers you are slipping up on. I have found this software very useful. I run it for short sessions of 1 or 2 minutes. This not only improved your character recognition but also your typing speed.
Morse Runner is the other software package I use quite often. It can be downloaded from http://www.dxatlas.com/MorseRunner/ This is a computer based contest simulator. Callsigns come thick and fast and you have to tune around to resolve them. The interface works very line N1MM and I would run for 15 or 30 minute sessions coming up to a contest to practice and improve my speed. It has some nice options and I have been using it for a while on and off and it does help me improve. I just need to use it more and get more real on air practice