Teaching for Transfer of Learning in Computer Science Education