Text this: Mathematical thinking skills needed by first year programming students