Frances Sayer – Applied Science
Abstract
Spaced repetition is the spreading of content to be learned over long periods of time. It has become widespread in learning technology due to its efficacy and ease of implementation. This study aims to create an application that uses spaced repetition for the purpose of teaching the rules of driving a vehicle. Using XCode and SwiftUI, 600 multiple-choice questions were organized into 16 categories that were spread along a road and learned in order. Questions were practiced periodically based on whether their response was incorrect or correct. A simple form of spaced repetition was sufficiently used for learning in this application.
Introduction
The purpose of this study is to create an app for people (especially teenagers) to become familiarized with cars and the rules of the road in British Columbia, Canada. To do so, two things are necessary- the creation of an app, and the usage of spaced repetition in learning to make the app as productive as possible.Spaced repetition is the way in which content that must be learned is spread out over periods of time (Siddharth et. al, 2016). Instead of “cramming”, or spending hours on a large amount of content, spaced repetition calls for spreading small amounts of learning over long periods of time. The key point of spaced repetition is that the content is brought back over time based on how well it is known. A person using spaced repetition would review the concepts they struggle with frequently, while the concepts that they are very familiar with would be reviewed infrequently (Nelson, 2008).
There are several theories within the umbrella of “spaced repetition”, and as technology has become more powerful, they have grown more complicated and more effective. The Leitner method (Fig. 1) was one of the first methods put forward, with flashcards starting in Box 1 and moving “up” a box if the student remembered it correctly, and “down” to the first box if the student did not remember. The first box was reviewed most frequently, the second box less frequently, the third box even less, etc. (Farhadi, 2013).
Figure 1. Visualization of the Leitner Method for Memorization
Then there is the “half-life model”. The half-life in memory can be explained by using the forgetting curve
𝑝 = 2-∆/ℎ [1]
In this formula, p is the probability of forgetting a fact or word, ∆ is the time that has passed since the fact/word was last practiced (in this model, this will be in days for simplicity), and h is the half-life- the strength of the long-term memory of the learner (Cepeda et. al, 2006).
The half-life, h, is a “hypothetical construct” that can be guessed based on a learners’ previous exposure to a fact and perhaps averages and other learners’ data points (Burr, 2016). Because this project will not initially have anyone to draw data from, the half-life of a given concept must be guessed. h represents every time the concept has been seen by the learner- if the learner gets it right, the value of h increases exponentially, and if the learner gets it wrong, it decreases to 1. This is exactly how the Leitner method works, and it is a simplified version of how stronger learning models are created (Behzad et. al, 2019).
There are three important values based on this equation. The first is where ∆= 0, meaning 𝑝 = 2-0/ℎ, meaning p = 1. If p = 1, that means the fact has just been reviewed and is not forgotten. If ∆= h, then p= 0.5 and the fact is on the very edge of being forgotten. If ∆ > h, then p reaches 0 and the fact has likely already been forgotten. The most useful time to review a fact is when it is on the very edge of being forgotten. At that point, it is still in the long-term memory of the user but it has not been reviewed recently (Fig. 2). The half-life model is based on the idea that a learners’ time is more valuable when it is spent on concepts that the learner is at risk of forgetting. Therefore, when p = 0.5, a concept is reintroduced to the learner (Cepeda et. al, 2006).

Figure 2. Curve of Forgetting for Newly Learned Information
The unique challenge within this project is to introduce these preexisting concepts to the world of driving- where many concepts are entirely obvious. For example, most people know to stop at a red light or a stop sign. Though the app will not distinguish “common-sense” questions from others, this could be an area of future study. Other challenges include how concepts will be introduced – in language learning, each word is tagged and has its own unique value of p. In this simplified version, a value of p may have to be created for each question or type of question. In fact, the main challenge is going to be the creation of the questions and their correct and incorrect answers, as well as the explanations upon having a wrong answer, and the creation of the application as a whole.
Materials and Methods
This application was created based on the ICBC Driving Manual that is studied by those learning to drive before they take their written driving test. A set of 600 questions based on the manual were created first, along with detailed introductions that would help answer these questions. Questions were created based on every concept and tip, and teaching instructions before lessons were also rephrased from the manual. Topics included the gearshift, the ignition, other parts of the car, safety rules within the car, dashboard signals, the pre-drive checklist, winter driving, road signs, traffic lights, road markings, intersections, right-of-way, lane use, reserved lanes, passing and merging, parking, and sharing the road. Questions were numbered and that number was assigned to a place in the lessons.
The code used to create this application was SwiftUI in XCode, a type of code used to create iOS applications. Specifically, the application runs on most iPhones. Once the file was named, colours were introduced to appear like a road (a stylistic choice). A “road” with a horizontal scroll was created, so that a small car could drive along this road to each set of lessons (Fig. 3 & 4). The sets of lessons were created to each contain one topic, with several lessons. Each lesson had their own explanation at the beginning, and was comprised of multiple-choice questions (Fig. 5).
Figure 3. Car on Road Within Application
Figure 4. Topic Categories on Road Within Application
Figure 5. Multiple-Choice Question Sample Within Application
Each question was presented as a multiple-choice question with four possible answers and a “Check My Answer” button. Upon selection, an answer would change colour. If the correct answer was selected, and then the “Check My Answer” button was pressed, the “Check My Answer” button would be relabelled “You are Correct!” and a “Continue” button would appear, taking the user to the next question. If the wrong answer was checked, the “Check My Answer” button would be relabelled “Try Again” and the user would have another opportunity to select the correct button. This was done using a ternary operator.
The formula for the forgetting curve, explained in the introduction, was connected to each question individually. If a user checked an incorrect answer, the value of h decreased to 0. If a user selected the correct answer, the value of h doubled (or, if it was previously 0, increased to 1). When the value of p reached ½, the question was brought up in a special round of lessons- designed like a gas station to indicate practice. The gas station was placed each day in the lesson path before the user’s lessons of that day. The app is designed so that, once the user practiced each day, they could do as many sets of questions as they felt. It is recommended that one lesson is done per day so that a user is not overwhelmed with information; however, if the user does not have the time for this they can complete everything in as little or as much time as benefitted them. Once the gas station was emptied, a user could move on to the next lessons. In this way, the half-life model was introduced.
Results
The application works as expected, with some differences and errors. For the most part, using the forgetting curve model to control when questions had to be practiced worked, and the half-life equation was attached to each individual question. The 600 questions encompassed the ICBC manual.
The question sets were written out in a different file in the same app, meaning the app data would need to be downloaded with the application. The separation of the questions cleared up the code while being written.
An addition to the learning model is that teaching was added; before each lesson, instructions, rules, and tips were presented to the viewer. These would introduce the rules of the specific lesson before the multiple-choice questions were shown.
Several bugs were persistent in the creation of the app; particularly those to do with conditional statements and the differing types of views that can be used within them. However, the code was able to compile without some errors ever being resolved.
Discussion
This project has shown that it is possible to include spaced repetition to the learning of the rules of the road and parts of the car. This indicates a new way for adolescents and others who are learning to drive to learn British Columbia’s rules of the road.
One possible issue with the app is that every question repeats in practice with no variation. This could mean that individual questions are memorized as opposed to concepts. In similar apps that also use spaced repetition, concepts are usually introduced in a variety of contexts to comprehensively teach the idea and not just the answer to the specific question. However, most of the questions are conceptual and rule-based, rather than based in specific situations, so this issue may be diminished. Another question-based improvement could be that some questions are denoted as “simpler” and appear in the gas station much less frequently. For example, knowing whether to stop at a stop sign is most likely more commonly known than what to do at a four-way stop.
Another limitation of this application is that it is only available in English, and only for iPhone users. This significantly reduces the number of people who could be benefitted by this application. ICBC offers practice tests in English, Simplified Chinese, and Punjabi, and for almost any device. This application could be expanded to offer different languages and Android phones/larger devices in the future.
Another, similar, feature is that this app is specifically for the province of British Columbia. Although there is no problem with this, the application could potentially service other provinces or even countries with a few minor tweaks. At the very least, a part of the app with “translation” for British Columbian drivers who are travelling abroad could be added. This addition would simplify rules that are different outside of the province, so a driver worried about their skills in a different place could easily review all that they needed to know.
Additionally, there is no way to measure the efficacy of the app. Data is not currently collected on users, and the application has not been effectively tested. Testing, user feedback, and data collection could be beneficial to identify users’ gaps in knowledge and potential improvements for the teaching and quiz content of the application. The code could also be consolidated further, reducing repetition in the code and clearing up some functions, as it is sometimes hard to read.
Overall, the application shows evidence that that this model of spaced repetition is applicable for simple learning endeavors. This is repeatable not just for driving, but for other topics- for example, school courses. However, it may not work for more complicated subjects such as language learning or coding, because of its simplistic structure. In short, anything that can be taught through a large set of multiple choice questions could potentially be taught by this application.
References
Cepeda, N. J., Pashler, H., Vul, E., Wixted, J. T., & Rohrer, D. (2006). Distributed practice in verbal recall tasks: A review and quantitative synthesis. Psychological Bulletin, 132(3), 354–380. https://doi.org/10.1037/0033-2909.132.3.354
Chang, M. J., & Kusnadi, A. (2018). Creating A Web-Based Online Flashcard for Korean Vocabulary Memorization. International Journal of New Media Technology, 5(1), 35–40. https://doi.org/10.31937/ijnmt.v5i1.625
Cowan, N. (2008). What Are the Differences between long-term, short-term, and Working memory? Progress in Brain Research, 169(1), 323–338. https://doi.org/10.1016/s0079-6123(07)00020-9
Farhadi, P. (2013). The effects of Leitners’ Learning Box on the improvement of vocabulary teaching and learning. (Case Study: First year students at Parsabad Moghan Branch, Islamic Azad University Parsabad Moghan, Iran. Academic Discourse: An International Journal. 6.1. 1-15.
Nicholas, C., Pashler, H., Vul, E., Wixted, J., & Rohrer, D. (2006). UC San Diego UC San Diego Previously Published Works Title Distributed practice in verbal recall tasks: A review and quantitative synthesis. https://escholarship.org/content/qt3rr6q10c/qt3rr6q10c.pdf?t=lnr1h0
Reddy, S., Labutov, I., Banerjee, S., & Joachims, T. (2016). Unbounded Human Learning. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. https://doi.org/10.1145/2939672.2939850
Settles, B., & Meeder, B. (2016). A Trainable Spaced Repetition Model for Language Learning (pp. 1848–1858). Association for Computational Linguistics. https://aclanthology.org/P16-1174.pdf
Tabibian, B., Upadhyay, U., De, A., Zarezade, A., Schölkopf, B., & Gomez-Rodriguez, M. (2019). Enhancing human learning via spaced repetitionoptimization. Proceedings of the National Academy of Sciences, 116(10), 3988–3993. https://doi.org/10.1073/pnas.1815156116



