You are on page 1of 5

Proposal of a gamified virtual learning environment

for computer programming courses


Andrés F. Pineda-Corcho Julián Moreno-Cadavid
Universidad Nacional de Colombia Universidad Nacional de Colombia
Medellín, Colombia Unal - GUIAME
afpinedac@unal.edu.co Medellín, Colombia
jmoreno1@unal.edu.co

Abstract—Many computer science teachers would agree that CodingGame https://www.codingame.com


programming is as much science as it is art. Therefore, a lot of Checkio https://checkio.org
practice is needed to become a good programmer. Within this CodeHunt https://www.codehunt.com
context, we present in this paper a virtual learning environment
called TICademia, which is based on two main approaches: III. PROPOSAL
gamification on one side, and competitive programming on the Similar to the projects mentioned before, we propose
other. We describe its main features and present a brief TICademia, a gamified virtual learning environment for
comparison with several existing alternatives. programming courses based on coding exercises and, more
specifically, on competitive programming. All of this with the
Keywords—computer sciences, computer programming, idea to solve a research problem: How encourage to the
competitive programming; gamification; virtual learning
students to program more and do it well?
environments
A. Competitive Programming
I. INTRODUCTION
Which is the best way to learn computer programming?
There is a lot of evidence about the low performance of Well, programming! Even if that may sound kind of silly, there
college students after completing the first computer is nothing more accurate. TICademia exploits this, presenting a
programming course [1]. And it is because learning this subject lot of problems to students who must solve them by coding a
is considered one of the seven major challenges of computing solution. Such problems follow the ACM-ICPC standard [8]
[2]. In fact, numerous authors [3-7] have identified and and look for promoting competitive programming [9].
classified the major challenges and problems faced by the
students in programming courses: a) Teaching methods, b) Once a student sends a code in a specific programming
Studying methods, c) The nature of programming itself, and d) language (we support Java and C++ for the time being), the
Psychological and social effects. TICademia server compiles, executes and evaluates the
correctness of the code testing its solution against a set of
This may be due to the fact that, in general, programming hidden input/output cases and then it presents the
courses are considered highly difficult by students who often corresponding feedback to the student. Such feedback may be
have problems in understanding related concepts, mainly one of the options presented in Table 2.
because these are abstract and unfamiliar to them.
Unfortunately, traditional teaching methods do not deal too TABLE II. PROBLEM FEEDBACK
well with this phenomenon.
Result Description
II. RELATED WORKS Accepted The algorithm output coded by the student matches with
the response stored in the server.
Several projects have appeared in the last few years in order Compilation
It is generated when the code was not able to be compiled
to enrich computer programming courses and most of them Error
share a couple of characteristics. On one hand, they allow for It is generated when an exception occurs during the
Runtime error
execution of the algorithm
direct experiential learning, i.e. they confront students with
Time Limit It is generated when the algorithm exceed the maximum
coding problems that are assessed by some platform. On the exceeded time of execution proposed for the problem
other hand, such platforms try to trigger motivation among It is generated when the algorithm output does not match
Wrong answer
students using one or several gamification elements. Some with the response stored in the server
popular examples of those projects are presented in Table 1.
It is important to remark that from the five possible
TABLE I. POPULAR PLATFORMS FOR LEARNING PROGRAMMING
responses provided as feedback by the judge, only the
Platform URL ‘Accepted’ is considered correct. It means that the student has
Codecademy https://www.codecademy.com coded an algorithm that passes all the hidden test cases and it
Codeschool https://www.codeschool.com has an acceptable execution time. An incorrect answer, on the
Treehouse https://teamtreehouse.com

978-1-5090-5467-1/17/$31.00 ©2017 IEEE 25-28 April 2017, Athens, Greece


2017 IEEE Global Engineering Education Conference (EDUCON)
Page 1671
Authorized licensed use limited to: Universidad Nacional de Colombia (UNAL). Downloaded on April 07,2021 at 12:48:16 UTC from IEEE Xplore. Restrictions apply.
other hand, means that the student has failed to code an
algorithm that takes into account all possible cases. This
involves the students in a culture of testing deeply the
algorithms with different inputs and extreme cases to determine
their behavior.
B. Gamification
As the general model for gamification, we use the MDA
model (Mechanics, Dynamics, Aesthetics) defined by Hunicke
et al. [10]. The mechanics are a set of rules that attempt to
generate activities to enjoy. They are supposed to produce a
certain type of 'addiction' and commitment from users. The
dynamics are the global aspects that a system should be
oriented to, i.e., it is related to the purposes, motivations, and
desires of the users. Finally, the aesthetics describe the Fig. 2. Individual Ranking
emotional effect that is expected to occur when the users are
interacting with the game. TICademia implements all the Badges: They are gained when the student reaches some
Mechanics in order to generate the Aesthetics in the users specific goals during the progress of the course, for example
through the Dynamics. These are: solving a certain number of exercises. Table 3 presents the
categories of the achievements implemented.
Points: They allow students for being rewarded according
to several actions in the platform, either solving an exercise or TABLE III. ACHIEVEMENTS
reaching an achievement. Fig. 1 shows how points are
Type Objective
visualized for each of the exercises in a course module. Problems Encourages to complete all the problems
in the course
Efficiency Encourages to find the best way to solve
a problem
Materials usage Encourages students to study all the
materials in order to get the theoretical
knowledge before resolving the
exercises.
Wall, forums and social networks Encourages interaction with other
students
Duels Encourages competition among students
Platform usage Encourages the student to keep studying

Levels: They allow to classify students based on their


progress in the course. Levels defined in TICademia are
presented in Table 4.

TABLE IV. LEVELS


Level Percentage of
progress
Zombie 0%
Beginner (Principiante) >0%, <=10%
Fig. 1. Course module interface Pupil (Pupilo) >10%, <=20%
Apprentice (Aprendiz) >20%, <=35%
Ranking: This is a way for quantifying general student’s Initiated (Iniciado) >35%, <=50%
Connoisseur (Conocedor) >50%, <=65%
performance, and it is based on gained points. TICademia has Maestro (Maestro) >65%, <=80%
three types of rankings: individual (all the students in the Wise (Sabio) >80%, >=90%
course), friends, and group. Fig. 1 shows an example of the Erudite (Erudito) >90%, <100%
individual ranking. God of wisdom (Dios de la sapiencia) 3 completed courses

C. Other features
It is important to mention that TICademia, as a virtual
learning environment, also has support for the teacher’s role. In
this case, a teacher can navigate the course in the exact same
manner as a student but with some management tools. One of
these tools enables the teacher to create surveys. In this way,
teachers may create questions in order to know students’

978-1-5090-5467-1/17/$31.00 ©2017 IEEE 25-28 April 2017, Athens, Greece


2017 IEEE Global Engineering Education Conference (EDUCON)
Page 1672
Authorized licensed use limited to: Universidad Nacional de Colombia (UNAL). Downloaded on April 07,2021 at 12:48:16 UTC from IEEE Xplore. Restrictions apply.
opinions about -for example- the content, the problems, and the D. Technical considerations
course in general. The idea is that this works as feedback for At the technical level, TICademia is hosted on a Virtual
future courses. Another tool is the statistics interface which Server EC2 Amazon Web Services, using container technology
shows in a graphical way some metrics that allow the teacher supported by Docker. Fig. 5 presents the architecture diagram.
to know the overall progress of the students in the course. Fig.
3 presents an example of such an interface. IV. COMPARISON WITH OTHER ALTERNATIVES
Other important features within the platform which are We decided to do a comparison between TICademia and
important to mention –since all of them point to increase the similar projects. We evaluated some of the features that we
effectiveness of the strategies selected- are: consider are the most important for carrying out effective
programming courses of this type: VLE’s administration
x Forum: It facilitates students to ask and provide ideas features, aspects related to gamification and general
about a particular exercise within the course. characteristics of accessibility. Table IV summarizes such a
comparison.
x Friends: There is the possibility to add friends or import
them from Facebook in order to use certain features on According to the results presented, there are several
the platform. advantages of TICademia over other platforms. Maybe the
most important, at least from a teachers’ perspective, is that
x Real-time Chat: This feature allows students to have TICademia is the only one that supports customized creation of
real-time conversations with classmates, tutors or content: This means that teachers may 'design' their courses in
teachers. the way they consider the best, according to their particular
curricular requirements and pedagogical considerations.
x Chat Rooms: Teachers and instructors can create chat Related to the previous, other important feature of TICademia
rooms using Google Hangouts in order to carry out is the possibility of obtaining statistics on the performance and
monitoring practice sessions and resolution of doubts. progress of students. Since none of the other platforms allow
x Wall posts: It contains a list of publications and for the administration of courses, it makes really difficult to
activities done by all the students in the course efficiently monitor students.

Fig. 3. Stats interface

x Notifications: This is one of the main features within


the platform, allowing students to be aware of the
activities of other students. In the Fig. 4 is presented an Fig. 5. Architecture diagram
example of notifications displayed in a course.
Related to the access restrictions, most of the platforms are
partially free. This is completely understandable because they
have some maintenance costs that must be assumed. For now,
all courses and features in TICademia are totally free to anyone
interested.
Regarding the feedback received, most platforms consider
correct and incorrect answers. Some of them also consider
some kinds of errors, but only TICademia considers the time
limit exceeded. In our approach, this element is a key for
algorithms since it ensures that solutions are efficient.
Fig. 4. Notifications

978-1-5090-5467-1/17/$31.00 ©2017 IEEE 25-28 April 2017, Athens, Greece


2017 IEEE Global Engineering Education Conference (EDUCON)
Page 1673
Authorized licensed use limited to: Universidad Nacional de Colombia (UNAL). Downloaded on April 07,2021 at 12:48:16 UTC from IEEE Xplore. Restrictions apply.
As for the points, achievements, levels, and ranking, Finally, related to programming languages, TICademia is
TICademia is the only one that implements all of them at once, the one that supports the less. However, it is also planned in the
whereas the others miss at least one. Related to the ability to future to add support for more of them. In relation to the
connect the platform with social networks and other platforms, language, all alternatives have support for the English language
all alternatives except for one have it. TICademia considers for while TICademia only has a Spanish version.
the time being only Facebook and Google, though it is planned
to integrate more of them.

TABLE V. COMPARISON BETWEEN PLATFORMS

Feature Codecademy Codeschool Treehouse CodingGame Checkio CodeHunt TICademia


Ability to create NO NO NO NO NO NO YES
courses
Languages HTML, HTML, JS, RUBY, C#, C++, Javascript, JAVA, C# JAVA, C++
supported Javascript, Python, JAVA, C#, JAVA, PYTHON
Python, JAVA Objective-C, PHP, Javascript,
Ruby, PHP, C# PYTHON Python, Perl,
SQL PHP, Ruby
Feedback type Exception, Success / NO Failure / Correct / Match / Accepted/
Correct, Incorrect Success / Incorrect / Mismatch Wrong
Incorrect Compilation Runtime Answer/
error / Error / Time Limit /
Runtime Error Compilati Compilation
on Error Error /
RunTime
Error
Ability to Facebook, Facebook, NO Facebook, Facebook, Facebook, Facebook,
connect with Google GitHub, Google, Google, Google, Google
social networks Google LinkedIn, GitHub Hotmail,
GitHub Yahoo
Create groups / NO NO NO YES NO NO YES
Add friends
Points YES YES NO YES YES YES YES
Achievements YES NO NO YES NO NO YES
Levels NO YES NO NO YES YES YES
Ranking NO NO NO YES YES YES YES
Ability to get NO NO NO NO NO NO YES
stats (as
professor)
Access Free (Paid for Free (Paid for Free (Paid Free Free (Paid Free Free
restrictions more features) more features) for more for more
features) features)
Language English / English English English / English English Spanish
Support Spanish French

V. CONCLUSIONS Another element that we consider as an advantage is that it


incorporates “time limit” as one of the possible feedbacks for
When a teacher decides to use a virtual learning students’ algorithms. We believe this is essential because
environment for computer programming courses, there are forces students to think in efficient solutions. Another
several alternatives depending on the needs and budget. advantage, which could not be seen like that at first sight, is
TICademia is one of them and, even being a work in progress, that TICademia is in Spanish. This, of course, limits the public
has several features that make it an interesting option to who can access it, but at the same time serves to a population
consider. It is based mainly on two approaches: competitive who possibly does not have enough English skills
programming and gamification. But not only that; it integrates
them deeply, much more that other platforms. As future work, we have in mind several, maybe “crazy”,
ideas. One of them consists of providing TICademia with

978-1-5090-5467-1/17/$31.00 ©2017 IEEE 25-28 April 2017, Athens, Greece


2017 IEEE Global Engineering Education Conference (EDUCON)
Page 1674
Authorized licensed use limited to: Universidad Nacional de Colombia (UNAL). Downloaded on April 07,2021 at 12:48:16 UTC from IEEE Xplore. Restrictions apply.
learning analytics capabilities. Making use of data mining [5] Y. Gulatee, B. Combes. “Identifying the challenges in Teaching
algorithms would allow us to find patterns about -for example- Computer Sciente Topics Online”. Proccedings of the International
conference EDU-COM, 2006.
students’ performance. This could help, for instance, to forecast
[6] E. Lahtinen, K. Ala-mutka, H. Järvinen. “A study of the difficulties of
dropouts and therefore improve courses’ contents. novice programmers”. ITiCSE’05 – Proceedings of the 10th annual
SIGCSE Conference on Innovation and Technology in Computer
REFERENCES Science Education, Vol 37, pp 14-18, 2005
[1] D. Kranch. “Teaching the novice programmer: A study of instructional [7] V. Renumol, S. Jayaprakash, D. Janakiram. “Classification of cognitive
sequences and perception”. Education and Informatics Technologies, vol difficulties of students to learn computer programming”. Indian Institute
17, 2012, pp. 291-313. of Computer Science. 2009.
[2] A. McGettrick, R. Boyle, R. Ibbet, J. Lloyd, G. Lovegorve, K. Mander. [8] S. Combéfis, J. Wautelet. “Programming Trainings and Informatics
“Grand Challenged in Computing: Education - A summary”. The Teaching Through Online Contests”. Olympiads in Informatics, vol 8,
Computer Journal, vol 48, 2005, pp. 42-48. 2014, pp. 21-34.
[3] K. Ala-mutka. “Problems in Learning and Teaching programming – A [9] M. Revilla, S. Manzoor, R. Liu. “Competitive Learning in Informatics:
literature study for developing visualizations in the Codewitz-Minerva the UVA Online Judge Experience”. Olympiads in Informatics, vol 2,
project”. Institure of Sofware Systems, Tampere University of 2008, pp. 131-148.
Technology, Finlandia, pp 1-13, 2008 [10] R. Hunicke, M. Leblanc, R. Zubek, “MDA: A Formal Approach to
[4] A. Gomez, A Mendes. “Learning to program – Difficulties and Game Design and Game Research”. In Proceedings of AAAI workshop
solutions” . International Conference on Engineering education”. on Challenges in Game. San José, USA, 1–7, 2004.
Coimbra, Portugal, 2007

978-1-5090-5467-1/17/$31.00 ©2017 IEEE 25-28 April 2017, Athens, Greece


2017 IEEE Global Engineering Education Conference (EDUCON)
Page 1675
Authorized licensed use limited to: Universidad Nacional de Colombia (UNAL). Downloaded on April 07,2021 at 12:48:16 UTC from IEEE Xplore. Restrictions apply.

You might also like