Design and Implementation of an IDE for Learning Programming Languages Using a Gamification Service

Design and Implementation of an IDE for Learning Programming Languages Using a Gamification Service

José Carlos Paiva (University of Porto, Portugal), José Paulo Leal (CRACS/INESC-Porto & DCC/FCUP, University of Porto, Portugal) and Ricardo Alexandre Peixoto de Queirós (Polytechnic Institute of Porto, Portugal)
DOI: 10.4018/978-1-5225-1034-5.ch014
OnDemand PDF Download:
No Current Special Offers


This chapter presents the architecture and design of Enki, an Integrated Development Environment (IDE) for learning programming languages on Massive Open Online Courses (MOOCs). This environment can be used as a tool by a Learning Management System (LMS) and a typical LMS such as Moodle can launch it using the Learning Tool Interoperability (LTI) API. Student authentication tokens are passed via LTI, thus integrating Enki in the single sign-on domain of the academic institution. The proposed tool has a web user interface similar to those of reference IDEs, where the learner has access to different integrated tools, from viewing tutorial videos, to solving programming exercises that are automatically evaluated. Enki uses several gamification strategies to engage learners, including generic gamifications services provided by Odin and the sequencing of educational resources. The course content (videos, PDFs, programming exercises) is progressively disclosed to the learner as he successfully completes exercises. This is similar to what happens in a game, where new levels are unlocked as the previous are completed, thus contributing to the sense of achievement.
Chapter Preview


Teaching computer programming is considered to be difficult and often ineffective (Robins, Rountree, & Rountree, 2003). Our tool, Enki, is a web-based IDE designed to be integrated on MOOCs that allows users to learn computer languages efficiently. To the best of the authors' knowledge, there is no tool in the literature that provides all the Enki features such as gamify cation features, sequencing of educational resources, social collaboration, automatic evaluation and standard LMS integration. So, this section surveys systems with some of these features.

Complete Chapter List

Search this Book: