A+ is the open-source online learning environment developed at the Aalto CS department, and used also at Tampere University. It provides features especially designed to support teaching and learning in Computer Science related topics. The main ideas are that it enables automatic grading of exercises, and deploying online course materials from git version control. The overview of A+ architecture is presented in the slides by Jaakko Kantojärvi, and the teacher manual available on the A+ frontpage provides most details.
The features A+ provides do not exist in MyCourses, which is the main online learning environment used at Aalto. Because two separate systems are needed to support students in their learning, it has been meaningful to integrate these. The current integration, implemented as a MyCourses activity called Astra, is some years old now, and requires updating every time the Moodle version of MyCourses is upgraded. On the other hand, A+ is aimed to be part of the Aalto enterprise architecture, which requires standard ways of integrations. As a whole, a standard and modern integration is now needed. Therefore, we decided to aim for developing A+ to an LTI provider. The Learning Tools Interoperability (LTI) is a standard designed for educational systems, and includes a protocol on how the systems should interact. The basic description of how LTI works is available at http://www.imsglobal.org/basic-overview-how-lti-works. The idea of A+ as an LTI provider is that A+ could be used via multiple other systems. This serves the end-users, especially the students, who can do all their exercises seemingly via one single system. The LTI Tool Provider functionality can be implemented directly in A+ or as a proxy component.
2. Project goals
The goal of the project is to find and implement a meaningful future solution for the integration of the learning management systems A+ and MyCourses. The expected outcome is A+ as an LTI Tool Provider with a complete implementation to be taken to use in the next version upgrade.
3. Technologies and needed skills
In this project, the technologies used in the already available services somewhat restrict the opportunity to choose which technologies to use. A+ and its main backend, the exercise grading service, are implemented with the Python Django web framework. Note; If a separate proxy component is chosen as the implementation strategy, it does not have to be developed in the same framework as A+. The project is not expected to be too complex as is; still, it requires understanding of existing systems.
4. Legal Issues
Intellectual Property Rights (IPR):
- The results are published under open source license GPLv3 or MIT (depending on whether the project is built on top of existing systems that require GPLv3).
- Note: we would like to use the MIT license everywhere, but unfortunately the a-plus project itself uses GPLv3. Other components should be MIT. BTW, Moodle uses GPLv3 and Moodle plugins should be the same.