Hello ! I have kind of an awkward question : what would be the best way to interact with student code in a “competitive” form.
Let me explain : I plan on making a competition on optimal control. The idea is to ask the student to produce code that, given an argument x output a control u. I will then run a simulation with their code and output the quality of their solution. Then I want to have the code of 2 (or more) students interacting in my simulation.
What would be the best way to implement this ? Currently I’m thinking of the following :
- give them an archive with a main.jl where I have implemented a dumb policy, and a simulator.jl to test any evolution they make
- ask for an archive per student with main.jl as well as any other file they need. I will control the folder name, and each will have a main.jl with a function policy
- have a file that call each student file in order and make the simulations
What I do not know yet
- is there a good way to protect against name overloading between student code ?
- is there a good way to give a local name (eg policy1) to a function defined in another file under another name (eg policy) ?
- is there any good practice that I am ignoring to do this type of thing ?