O1: LTI Integration (software)

One of the intellectual outputs of the completed Erasmus+ project FGPE is an open-source gamified interactive environment for learning programming. It is implemented as a separate web platform to which a student can log in to solve programming exercises served in a gamified form (e.g., as challenges and quests rewarded with points and badges etc.). While it supports OAuth2 to allow students log in using their university email account credentials (if the email provider supports it, as does, e.g., Microsoft), it is a separate platform.

This means that the student has to leave the LMS platform (he/she can only keep it open in a separate browser window) to solve the exercise(s), and his/her efforts there stay right there, i.e., his/her achievements are not transferred back to the LMS platform, and the instructor also has to log into the FGPE platform instructor’s panel to see the individual students’ progress and finally has to combine these data with the LMS-based student activity data to produce the final grade.

The are two target user groups for this IO: programming instructors and students learning programming.

The instructors are in need for: (a) embedding gamified programming exercises within units of courses published with the LMS in a way allowing students to solve them without leaving the LMS course and (b) automatic transfer of the students’ activity and achievements data from the gamified programming learning environment providing the exercises to the students (i.e. displaying them in the proper way, letting students edit the solution code and submit it for automatic assessment, and providing instant feedback after submission is made).

The students are in need for: (c) being able to access and solve gamified programming exercises in the gamified programming learning environment without having to leave the LMS, and (d) being able to access their own learning progress data (combining both solved gamified programming exercises and all the other activity in the LMS-hosted course) in a single spot (i.e. the LMS).

Before FGPE, there was no interactive learning environment supporting auto-assessment of programming exercises with similarly advanced gamification capabilities, so the development of this IO provides its novel capabilities to the popular LMS platforms. Note that thanks to using the LTI-based approach, in which the FGPE platform is called to handle the presentation and assessment of programming exercises and only resulting data are transferred back to the LMS, is much more flexible and sustainable compared to writing plugins to popular LMS platforms: by providing an LTI-compliant interface to FGPE, any LTI-compliant LMS can be connected to it, whereas every LMS would require a dedicated plugin written only for it, and whereas the LTI as an established standard is expected to stay for a considerable time, updates to LMS code are frequent and it is not rare when they render older plugins incompatible until certain changes are made to the plugins. Even if serious changes are made to the LTI standard in the future, it will be simpler to adapt the single codebase (of the FGPE’s LTI layer) to them rather than a handful of plugins, especially that ensuring the compliance to future versions of LTI will be in the interest of the whole FGPE community, whereas plugins dedicated to specific LMS are only of interest to the part of the FGPE community using that particular LMS, which is sometimes small.

The expected impact of this IO is significant, as it removes the main identified limitation in the adoption of the FGPE framework, i.e. the ability to combine programming exercises within courses provided via other e-learning platforms. Apart from satisfying the needs described above, it also addresses the psychological barrier of instructors being reluctant to add yet another platform to the portfolio of their educational IT tools, whereas the LTI-compliancy allows to treat gamified programming exercises as yet another type of exercise to be placed within the courses provided via an LMS they already know and use.

The realization of IO1 has achieved its goals. FGPE PLE now supports version 1.3 of the IMS LTI specification, which adds a richer security layer based on OAuth2 and JSON Web Tokens and aligns their services with the LTI Advantage package composed by three main services, namely the access to activity and course members from the external tool, the launch and access to specific parts of external tools from the LMS and, lastly, the submission of grades from the tool directly to the LMS gradebook. The developed source code is published online as open source in LTI branches of two GitHub FGPE repos: Gamification service and PLE.