learn-ocaml
learn-ocaml copied to clipboard
feat: Add ability to assign different exercises to each student automatically
-
Kind: feature
-
Close #531
Description
If you are a teacher with a large number of students and want to assign a different set of exercises to each student based on their level and exercise difficulty, this can be a time-consuming process.
With this feature, you can save time and effort when assigning exercises to your students on the Learn-OCaml platform.
Checklist
- [x] Read the CONTRIBUTING.md guide and:
- [x] Use Atomic Commits so each commit gathers a single logical change
- [x] Use Conventional Commits regarding commit messages (needed by our release toolchain)
- [x] Add/update documentation
Note to maintainers
- Read this wiki page.
- Make sure the PR has a milestone.
- Assign yourself before merging.
- Either do a regular merge:
- for PRs containing several commits following conventional-commits,
- or for PRs containing 1 commit shared with a later PR (to preserve the SHA1)
- Or do a squash-merge:
- for PRs containing only 1 commit (not shared with a later PR),
- or for PRs containing several commits that need not be kept in the history;
- → Update the commit message header with a conventional-commit type,
- → Add a footer
Close #…if a related issue exists.
Thanks @Rui00Barata for your contribution!
We started discussed with @AltGr about your PR (just briefly for the time being), to sum up at this point:
- it is not very clear for us if the implemented feature is already doable with the current learn-ocaml.master (namely, it is already possible from the teacher dashboard to assign specific exercises to a subset of students, e.g., filtered by tags)
- some parts of the PR looks not-enough documented, typically like this fragment:
e.g. what is the exact semantics of each array?, why choosing array instead of merelet p = [|[|1;1;1;2;2|]|] let a = [|[|1;1;2;2;2|]; [|1;1;2;2;3|]|] let e = [|[|2;2;3;3;3|]; [|2;2;2;3;3|]|]lists?
and also, one may want to make these settings configurable.
Anyway at this point, I guess @AltGr and us will try the branch soon; look more closely at the code; and return to you of course.
Thanks!