I've been teaching programming with Python at various levels for the last 15 years. Over time, the exercises, examples, algorithmic patterns I accumulated for these courses became so numerous that I started to have trouble finding my way around: which ones to present in which course, in which order, at which time, and with which expected benefits?
I developed a tool to help me answer these questions, and more generally to rethink the structure and content of my curriculum. After a few years of tinkering with a rough implementation of these ideas, I decided to rewrite it from scratch with the hope of making it useful to my colleagues, and anyone facing the same issues: this is how Paroxython was born.
How can you use it? In a preliminary step, you make it tag your collection of educational Python programs. Then, whenever you want, based on the things your students already know, the concepts you intend to make them discover or practice, and those you wish to introduce later (or never), it recommends you a list of programs roughly ordered by increasing learning costs.
To all of you who are going back to school in, and despite, these difficult times, I wish you a year filled with beautiful human and pedagogical experiences.