Motivation
One of the words that best describes me is curious. Although at first, I did not know about this trait of mine, I found out later when everyone around me described me so when doing a social activity. I have always been interested in pretty much everything from how mathematical models work, how computer work, the history of humanity, or the beginning of the universe to the very mundane of how shampoo works, why we brush our teeth, why we need to drink water, etc. I just like questioning everything, even if it leads to a potential existential crisis, and revel in the novelty of gaining knowledge. Hence, with my passion for learning, I present some interesting insights about learning recommendations being programmed with the aid of graph theory.
Research
“Everybody’s gotta learn, nobody’s born knowing.”
-Harper Lee
Pre-existing competence and learning objects available basically objects that you could use to learn, are the primary factors that would influence what an individual could learn next. Imagine teaching a toddler how to do math when they cannot even speak or write, clearly, they wouldn’t gain much knowledge if any at all because they lack the pre-existing competencies. On the other hand, imagine knowing how to sum but not knowing how to multiply, it certainly wouldn’t be too complicated to understand how multiplication works with this pre-existing competence but would be hard to learn it, perhaps incompletely, without guidance from a teacher or a textbook.
We could then model a graph with just learning objects, tagging them with learned if an individual has the competencies the learning objects provide, and the directed edges being the requisites for a learning object. Then with our model, and with sufficient and meaningful data, we could estimate how much time it would take to generate an entire learning path tree with the help of Apache Cassandra DDBMS.

No model is perfect, and this one is certainly far from it. We are human: we cannot say for sure that even though a person has the required competencies, they would be able to fully understand a learning object. Hence, there is a need for a personalized learning path that constantly updates according to the person’s profile.


Conclusion
We can make use of graph theory to help us generate a map of the dependencies between learning objects so as to help users identify what their current competencies enable them to learn next. Unfortunately, it is extremely hard to accurately gauge the degree of competency of individuals even knowing how much they could learn from a learning object, humans usually never learn everything from a learning object. Hence, we make use of methods that dynamically recommend learning objects by both observing the learning paths that ought to be available to the user, and whether the user was successful in learning previously recommended learning paths.
Sources
Durand, G., Belacel, N., & LaPlante, F. (2013, April 30). Graph theory-based model for learning path recommendation. Information Sciences. Retrieved October 6, 2022, from https://www.sciencedirect.com/science/article/pii/S0020025513003149#b0075
Nabizadeh, A. H., Leal, J. P., Rafsanjani, H. N., & Shah, R. R. (2020, May 30). Learning path personalization and recommendation methods: A survey of the state-of-the-art. Expert Systems with Applications. Retrieved October 6, 2022, from https://www.sciencedirect.com/science/article/pii/S0957417420304206