Teaching Computing: A Practitioner's Perspective