Do many CS student never fully understand pointers and recursion?