This paper presents our experiences gained in teaching software quality to undergraduate computer science and engineering students at The University of New South Wales. We argue that increasing demand of high quality software makes it imperative to teach a wide variety of skills which are required to deliver quality product or design and implement a quality focused process. We taught three quality improvement techniques to give students a greater appreciation of the range of the techniques available, and their respective strengths and weaknesses. We found it challenging but rewarding to inculcate programming minded students with the skills required to deal with product and process quality related issues. We believe that the experiences gained from this exercise will be valuable to those interested in designing and offering software quality education and training at tertiary level.