It would be a great pleasure for me if you could use GrblGru to pass on your knowledge to your students.
So I will give you any assistance I can give.
But my program is not a real controller. It only triggers a controller like GRBL or TinyG.
A list of the available G codes for GRBL can be found at https://github.com/gnea/grbl/wiki/Grbl-v1.1-Commands
In addition, I have also implemented some processes such as creating chamfers, radii or threads .
It would be interesting for me to know how many adjustable axes your lathe will have. Should the main motor also be controlled?
Very important would be the question which controller you want to use.
Here is a link to the 'Indian Institute of Information Technology', which did a similar project and integrated GrblGru into it.
http://www.tlc.iiitdm.ac.in/Lathe.pdf
Of course this project is very simple, but maybe one or the other is interesting for you.