Here it is, a completed version of the simple discrete component code practice oscillator that I promised. I tweaked the circuit just a little bit and made a Manhattan layout that will enable the CPO, a 9 volt battery, and all of the required controls to fit into a standard sized Altoids tin. This CPO produces a nice sine wave at about 600 Hz, unlike many of the other CPOs that output a buzzy square wave tone. There are no exotic parts used in this project, only a couple of generic NPN transistors, a handful of common resistors and capacitors, and a trim pot. The output level is sufficent for headphone use, although it will not blow your eardrums out, even at full volume. If you need to use a speaker with this oscillator, just plug it into a set of amplified speakers, like those used for a computer. This project would also make a good oscillator for CW practice on a VHF/UHF FM repeater. The volume control should allow you to adjust the output level to one that is appropriate for the microphone jack of a FM rig.
I've attached a PDF schematic and layout diagram below. I haven't created any build instructions, but it should be an easy build for anyone who has any experience with Manhattan construction. Let me know if you plan on using this design for a group build to help people learn CW, I might be able to work with you to create such a document. Print out the layout diagram at 100% scale, and you should be able to use it to size your copper clad board and mark the locations of your pads. I hope this is helpful to you and can help you to introduce new operators to CW.