Revision Algorithm - Create a question list - Get all the concepts that have an associated knowledge question - Get all the concepts from concept tracker that the user has attempted and sort them by date created Last Incorrect - Get all concepts where the last attempt was incorrect and store in a list - Add covered concepts to the maintained concept list - Pick one associated question from concepts and then add it to the question list as long as concept is not in maintained concept list Ranking - We will consider concept accuracy score in these buckets - 1 day - 1 week - 2 weeks - 1 month - 3 months - Overall - We will average these scores for each concept and rank them based on this average. - The advantage with this algorithm is that by definition the short term averages will get weighted heavier since those attempts feature in all buckets. - We will include any concepts with a score lower than X Adding Concepts - We will have 20 questions per revision, and we will add all remaining questions from live assignments that students have not covered yet