Code Generation Techniques In Teaching