Applying Duolingo learning techniques to Computer Science education

  30 Jul 2024

At Wrexham University, I lectured modules on introductory programming (using Python and C) at levels 3, 4, and 7. As I have recently reached a 200 day streak on Duolingo (my highest yet!) and winning the the Diamond Tournament again, I realised that many of the learning techniques used for languages could also be applied to teaching Computer Science, addressing some of the challenges students often face.

Reflecting on this journey, it's evident how the power of gamification has made language learning not only effective but also highly engaging (even if the experience is not as complete as for in-person or immersive programmes). This article explores my ideas on how the best of Duolingo can be transferred to teaching degree-level programming classes.

The Power of Gamification

Duolingo has emerged as a leading platform for language learning, not solely because of its comprehensive curriculum but due to its innovative use of gamification. Gamification involves the incorporation of game design elements into non-game contexts, making learning enjoyable and captivating. Duolingo employs several key gamification techniques:

1. Streaks and Rewards: Tracking daily progress and offering rewards for consistency. For example, the use of a simple daily streak mechanic increases self-recognition of the need to commit to the learning process.

2. Levels and Badges: Providing a sense of achievement through earning badges and progressing through levels. This is again an individual measure of progress, highlighting progression through the learning journey.

3. Leaderboards: Encouraging friendly competition among users, with the aim to improve extrinsic motivation.

4. Challenges and Quests: Introducing mini-goals and special challenges to maintain interest and self-motivation.

These elements have not only kept me motivated but have also transformed language learning into a delightful experience. By integrating these techniques into computer science education, we can potentially revolutionise the way students engage with the subject, reaching learners with the power of technologies they may be experiencing outside of their University education.

Applying Gamification to Computer Science

1. Streaks and Daily Challenges

Similar to how Duolingo promotes daily practice through streaks, a comparable system can be implemented for computer science education. Imagine a platform where students are encouraged to write code, solve problems, or learn new concepts every day. Each day they engage with the material, they maintain their streak. Missing a day would break the streak, but consistent effort would result in virtual rewards and recognition. This could foster a habit of continuous learning and practice, which is essential in the ever-evolving field of computer science.

2. Levels and Badges

In the realm of computer science education, levels could represent different tiers of knowledge and skills. For instance, beginners could start at a "Novice Coder" level and progress to "Advanced Programmer" as they master more complex concepts. This addresses one of the challenges I have experienced when lecturing cohorts of students: differing levels of prior experience.

Badges could be awarded for completing specific courses, mastering a programming language, or contributing to open-source projects. This sense of progression and achievement can be a powerful motivator, encouraging students to strive for higher levels of expertise whilst allowing self-paced learning.

3. Leaderboards and Competitions

Leaderboards can introduce a healthy competitive element, allowing students to see how they fare against their peers. This could be particularly effective in motivating students to put in their best effort. Additionally, regular coding competitions or hackathons could be organised, where students can showcase their skills and learn from one another. Such events can also foster a sense of community and collaboration, which are invaluable in the learning process.

4. Challenges and quests

In the realm of gamified learning, challenges and quests play a crucial role in sustaining learner engagement and self-motivation. These elements introduce mini-goals and special challenges that break the monotony of routine practice. For instance, Duolingo might set a challenge to complete a certain number of lessons within a week or to achieve a perfect score in a series of exercises. These mini-goals provide learners with a sense of accomplishment and immediate rewards, reinforcing positive behaviour and maintaining high levels of motivation. Furthermore, quests often incorporate elements of storytelling or thematic adventures, which can make the learning experience more immersive and enjoyable. By consistently presenting learners with new challenges, educators can help students stay committed to their studies, continually pushing their boundaries and fostering a growth mindset. This approach can be particularly effective in computer science education, where regular challenges can help students apply theoretical knowledge in practical scenarios, thereby enhancing their problem-solving skills and overall competence.

Enhanced Learning through Gamification

Beyond these basic elements, gamification can also enhance the learning experience in more nuanced ways. For example, personalised learning paths can be created based on a student's strengths and weaknesses, similar to how Duolingo adjusts its exercises based on performance. Interactive tutorials and quizzes can provide immediate feedback, helping students to learn and correct mistakes in real-time.

1. Interactive Tutorials and Quizzes

Interactive tutorials can guide students through coding exercises step-by-step, providing instant feedback and hints when needed. Quizzes at the end of each module can help reinforce learning and ensure that students have grasped the key concepts before moving on to more advanced topics. This immediate feedback loop is crucial for effective learning, as it allows students to identify and address gaps in their understanding promptly.

2. Personalised Learning Paths

Just as Duolingo tailors its exercises to individual learners, computer science education platforms can personalise learning paths based on a student's performance and preferences. Adaptive learning algorithms can identify areas where a student is struggling and provide additional resources or exercises to help them improve. Conversely, students who demonstrate proficiency in certain areas can be challenged with more advanced material, ensuring that they remain engaged and motivated.

3. Collaborative Learning and Peer Support

Gamification can also foster a sense of community and collaboration among learners. Online forums and discussion boards can provide spaces for students to ask questions, share knowledge, and support one another. Peer review systems, where students evaluate each other's code, can offer valuable feedback and different perspectives. This collaborative approach not only enhances learning but also prepares students for the collaborative nature of real-world software development.

Future directions

The efficacy of Duolingo for language learning has been highly analysed, however there is little transportation of the same mechanisms to Computer Science education. In addition, Shortt et al. (2021) identified a general lack of research into Duolingo from the perspective of human agency: the majority of literature is focused on the creation of tools rather than their application. This is a facet of technology-based research I have often observed, and can be attributed to the focus on the artefact rather than its implementation.

As Duolingo reduces its courses, for example by pausing languages such as Welsh (McCarthy & Evans, 2023), there is unlikely to be the shift to expand the non-language offerings of Maths and Music into Programming. This does mean that to apply the techniques requires either a) the careful use of existing VLE resources, or b) the community development of a comparable Computer Science app.

In their study of Duolingo efficacy, Vesselinov & Grego (2012) highlighted that the app can be most effective for beginners. This highlights the suitability for beginner-level programming classes, particularly those delivered through conversion courses that require no prior experience as a barrier to entry. Duolingo-supported research (Jiang et al., 2020) claims that these techniques can reduce the time taken to reach the same level of proficiency by 50%.

Conclusion

Celebrating a 200-day Duolingo streak has given me the opportunity to reflect on the effectiveness of gamification in learning. The principles that make Duolingo so engaging can be seamlessly applied to computer science education. By incorporating streaks, levels, leaderboards, and personalised learning paths, we can create a more engaging, motivating, and effective learning experience. As we continue to explore innovative teaching methods, gamification stands out as a powerful tool that can transform education and make learning both enjoyable and impactful.

In essence, the journey of mastering a new language or coding language can be equally exciting and rewarding. As we embrace gamification in computer science education, we open up new avenues for students to engage deeply with the material, persist through challenges, and celebrate their achievements along the way. Here's to many more streaks, badges, and levels — both in language learning and Computer Science education!

References

Jiang, X., Rollinson, J., Plonsky, L., & Pajak, B. (2020). Duolingo efficacy study: Beginning-level courses equivalent to four university semesters (Duolingo Research Report DRR-20-04). Duolingo. Retrieved from https://duolingo-papers.s3.amazonaws.com/reports/duolingo-efficacy-whitepaper.pdf

McCarthy, J., & Evans, O. (2023, October 24). Welsh course to be 'paused' on language app Duolingo. BBC News. https://www.bbc.co.uk/news/uk-wales-67197462

Shortt, M., Tilak, S., Kuznetcova, I., Martens, B., & Akinkuolie, B. (2021). Gamification in mobile-assisted language learning: A systematic review of Duolingo literature from public release of 2012 to early 2020. *Computer Assisted Language Learning, 34*(7), 888-911. https://doi.org/10.1080/09588221.2021.1933540

Vesselinov, R., & Grego, J. (2012). Duolingo Effectiveness Study. Language Zen. Retrieved from https://www.languagezen.com/pt/about/english/Duolingo_Efficacy_Study.pdf