.
Changed the order in which I call calculateLength() and recursive version. It seems that calculateLength() leaves the pointer at the last student in the list.