Software Instrument Design - Teaching Examples