Transition from one language to another closely related language to help students develop understanding of key abstract ideas programming languages concepts.