This paper outlines how Higher Education courses in Computer Science have been adapted to make positive improvements to student pass rates and retention. Introductory programming is taught to large numbers of students involving a substantial commitment of staff time. The project aimed, through team work, to develop a new shared blend of materials for teaching Java programming, a major component being a set of pedagogically rich learning objects integrated into a virtual learning environment (WebCT). Each learning object, covering one discrete topic, derives its richness through its extendable design, which can incorporate examples, simulations and animations. This pedagogic pattern maintains maximum flexibility for re-use and re-purposing for use in other courses. The new blend was introduced and evaluated in 2002 2003. Pass rates improved, and student feedback showed positive views towards the approach. Some evaluation results are presented in this paper.