In Education module, name (primary key) is set to “Name of Course”., which IMO is not the correct. Normally name of course is of the type CS203, like:
CS203 may be primary key or Course ID, for the course name “Computer Programming in Python”.
Same is the case for Program Name, and other such things.
If many of you feel that name (Course ID) should be entered manually, then I would suggest to the developer to change it. In case you approve it, I can raise issue on GitHub.
As you already know, this is actually the “way of doing” of education app.
But you can always customize the DocType to fit your wish.
Or, if your in developer mode (https://frappeframework.com/docs/user/en/basics/doctypes/naming), edit DocType, and submit a pull request on GitHub to suggest your changes to Frappe Technical Team.
I guess this changes have to include de migration patch to make consistency on previous installed app.
Your point is fair, to my mind, naming a course or program by a code, instead of label would be a more normalized way.
I’m not sure if rise a issue on GitHub will change something.
With Frappe project, best way to see a feature come to real is to make a pull request on GitHub, be sure all CI test are OK, be patient, be ready to answer to any comment for Frappe Technical Team, and then it may will be merge if your arguments have enough consistency.