This lecture ties together some of the ideas explored in earlier lectures and links them to material covered in the C programming modules. The case study here is a linked list data structure, storing integer values. The lecture starts by reviewing how this could be implemented in C, then moves on to consider how an improved object-oriented implementation is possible in Java. This improved version demonstrates the use of interfaces, abstract classes and inner classes. The lecture concludes by considering how the linked list can be changed to store any kind of value, via a new concept: generics. The final version closely resembles the actual data structure provided as part of Java's Collections Framework.