Creating an educational plugin to support online programming learning A case of IntelliJ IDEA plugin for A+ Learning Management System

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2021-01-25
Department
Major/Subject
Software and Service Engineering
Mcode
SCI3043
Degree programme
Master’s Programme in Computer, Communication and Information Sciences
Language
en
Pages
104
Series
Abstract
Educational plugins are extensively utilized in both, the industry and academia. Academically, the plugins are used to optimize certain labor-intensive and error-prone manual operations for students, such as loading, installing, completing and submitting the assignments. The thesis sets out to explore the features and functionalities of different educational plugins by developing the plugin to support a programming course at the Aalto University. As follows, the thesis goes through a thorough process of pitching, developing, implementing, reporting feedback and resulting feedforward. The process is facilitated by a three-member development team with the author of this thesis acting as a hands-on Scrum Master. The stakeholders’ requirements of stability and fault-tolerance were met in an IntelliJ IDEA plugin, written in Java 8 and Scala. The Eclipse-based IDE was replaced with IntelliJ as the former was discontinued in 2018. Java 8 was chosen over Kotlin as none of the team-members are Kotlin-fluent and as Java 11 was not yet released at the start of the development. Also, as the plugin interacts with Scala components, a minor part of the application is written in Scala. The plugin is designed to interoperate with the existing backend learning management system A+ as a third-party data provider. Dependencies pruned during the process include IntelliJ Platform’s compatibility with future IDE versions (solved through regular adjustments by the developers), Gradle IntelliJ plugin’s compatibility with the Platform, standard Java libraries (solved through an automated vulnerability scanning), etc. The project is ongoing, with testing routinely performed with the stakeholder and student feedback fed back into the development process. However, future improvements include reworking the architecture, extending the testing scope, and multi-course support.
Description
Supervisor
Malmi, Lauri
Thesis advisor
Sorva, Juha
Keywords
CS1, educational plugin, teaching tools, IntelliJ Platform
Other note
Citation