Spaced repetition[0] is a proven evidence based learning technique.
It is most commonly talked about in relation to learning a modern foreign langauge, however it can also be used to assist in learning a programming language[1].
A code kata[2] is a programming drill that helps programmers hone their skills through practice and repetition.
For this project, I would like to build a platform that makes it easy for teachers to create a set of flashcards/programming drills that students can practice.
I would like to investigate 1) Using AWS's firecracker engine to rapidly and securely evaluate if a students answer to a programming drill is correct https://github.com/firecracker-microvm/firecracker
2) Using containerisation to create usable and replicable environments for learning programming https://code.visualstudio.com/docs/remote/containers
3) A few other things, need to come back and finish this description.
If this sounds interesting please get in touch!
More than happy to talk through my ideas in a teams call / zoom call etc
Kind regards, Tom
-------
[0] For an introduction to the topic check out https://ncase.me/remember/ - A great(!!) twenty minute webcomic explaining the topic https://www.gwern.net/Spaced-repetition - A very thorough, more academic explanation with some great links at the end.
[1] https://sive.rs/srs
[2] https://en.wikipedia.org/wiki/Kata_(programming)