Awesome post! Looking forward to teaching my daughter and (later) son programming too -- though it's going to have to be Pascal, which is what my dad initiated me with :)
I made a resistor ladder DA convertor, and then wrote data to the parallel port with a few simple BASIC "OUT" instructions.
https://groups.google.com/forum/#!topic/sci.electronics.basi...
https://hackaday.com/2014/09/29/the-lpt-dac/
Some GB emulators (NO$ at least) used this for sound, and it was quite good.
I say this with a tremendous love of Turbo Pascal - it was my first real programming environment as a kid. But I also had a great time with environments like Klik-n-Play and GameMaker.