The provenance captured by noWorkflow could be used for education.
Since it helps understanding what happened during the execution of a script, it is possible to use noWorkflow for teaching and learning Python. With this purpose, it would be nice to have better activation graphs, showing parameters, returns and all activations explicitly (i.e. without summarizations).
I worked on something in this direction with @henriquebastos, but we used Python decorators to collect calls, instead of noWorkflow: https://gist.github.com/henriquebastos/a28ef88f12d98a410df9
There are other possible uses for noWorkflow in education. It could be used for homework answer checking and validation. Instead of submitting the final script as an answer to a homework assignment, a student could submit the provenance of a trial, captured by noWorkflow. Then, the professor could use it to:
check if there was no cheating, by looking at the environment properties, comparing provenance graphs and files between students;
check if the script actually works, by looking at the used modules, and verifying if the provenance graph makes sense.
The student could also use the provenance as a "proof" that the script worked on her machine.
A third use case for noWorkflow in education could be asking help. It could be possible to publish a provenance page in a website. When a person wanted to ask "X is not working as expected, what is the reason?" (in sites such stackoverflow, or class groups), instead of just asking and presenting the code, she could send the provenance page link to give more context.
Checkpoints. It could be possible to define a highlevel script/workflow graph with checkpoints and expected results for each checkpoint. Then, the students should try to implement the problem following the structure and the checkpoint results.
Calculate divergence between trials. This can be used to show different solutions to students and to give a feedback to check if and how fast the solution is converging to the expected result. The divergence could also be used to gamify the learning experience by ranking solutions.
Custom visualizations to help understanding graphs. It could be possible to define a custom visualization for parts of the graph. For instance, if an activation returns a tree, we could add a way to attach a visualizer a present this tree on click/mouse over.
The provenance captured by noWorkflow could be used for education.
Since it helps understanding what happened during the execution of a script, it is possible to use noWorkflow for teaching and learning Python. With this purpose, it would be nice to have better activation graphs, showing parameters, returns and all activations explicitly (i.e. without summarizations). I worked on something in this direction with @henriquebastos, but we used Python decorators to collect calls, instead of noWorkflow: https://gist.github.com/henriquebastos/a28ef88f12d98a410df9
There are other possible uses for noWorkflow in education. It could be used for homework answer checking and validation. Instead of submitting the final script as an answer to a homework assignment, a student could submit the provenance of a trial, captured by noWorkflow. Then, the professor could use it to:
The student could also use the provenance as a "proof" that the script worked on her machine.
A third use case for noWorkflow in education could be asking help. It could be possible to publish a provenance page in a website. When a person wanted to ask "X is not working as expected, what is the reason?" (in sites such stackoverflow, or class groups), instead of just asking and presenting the code, she could send the provenance page link to give more context.