Program a review program to be used for language class

Job ID: 31637158

Budget: $30 – $250 USD

I am an English teacher and teach a set curriculum of @120 lessons in a specified order. I have created time at the beginning of each class to review previously learned language. I would like a program that I can enter what lesson I am on and it will pull up the most recent learned lesson with visual prompts shown for students to use the language(ask and answer questions). I would like there to be two settings, one almost like an algorithm that will review the needed lessons to build confidence using spaced repitition, and the second setting being completely random. I would also like a timer function added into that could be set at the beginning to track how many lessons were reviewed in a certain time limit. On each lesson screen I would like a rating system, a "Great" button(success) OK (pass) and a "Review" button(fail). This would output a report/log of session time/date, number of lessons completed successfully, specific lesson numbers needing review, elapsed time used for review.
Since this program would be used for different classes I would like the ability to have the data imported into a database/reporting structure broken down by class. This may be deemed out of scope based on programmer and budget. A template that has been used in the past can be provided to help understand the scope and process.