
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Redesign and Gamification of a Social-Intensive Software Learning Environment Pedro Manuel Monteiro Albano Mestrado Integrado em Engenharia Informática e Computação Supervisor: Nuno Honório Rodrigues Flores February 1, 2020 Redesign and Gamification of a Social-Intensive Software Learning Environment Pedro Manuel Monteiro Albano Mestrado Integrado em Engenharia Informática e Computação February 1, 2020 Abstract The use of frameworks has become an important factor in improving the large-scale reuse of software and ensuring quality standards are maintained. As the world demands for more and more computer based solutions and applications, software developers are faced with an increasing amount of different frameworks available and the need to effectively learn how to properly use them in their professional lives to solve problems. Frameworks are often complex and good doc- umentation helps reducing the learning curve for professionals to apply them, but is not always available or adequate to one’s learning needs. Previous work resulted in the creation of DRIVER, a social intensive learning platform mod- eled around the concept of a Collective Knowledge System. There, learners contribute to the com- munity’s global knowledge on a framework by sharing how to reach specific goals by the means of publishing learning paths, a set of sections and pages visited in order to reach a milestone, described by the use of tags. Despite providing developers with a set of tools to enhance the learning aspect of working with a framework, DRIVER lacks adherence due to general problems with its usability and low incentive for users to make use of the tools advantages, effectively creating an additional workload on the task of learning. In order to make the platform more appealing, the use of Gamification was considered. Gam- ification is shortly described as adding game-based mechanics to activities or tools, such as char- acters, points or rewards, in order to foster the user’s motivation to engage with them, and subse- quently their productivity. The objective was to create a new version of DRIVER integrating these concepts and observe the impact they had on the developers’ learning process, but not without attempting to solve the inherent user experience problems the tool had. This resulted in the creation of a whole new piece of software that redesigned the original features present in DRIVER to perceivable simpler and more intuitive ones, while implementing a customizable avatar and experience point system built around unlocking rewards for making use of the platform’s features. Following a short study evaluating two deployments of the updated learning environment, one with Gamification related features enabled and one without them, there was no significant difference observed in the performance of the participating subjects, however, small traces indicate the Gamification features employed, appealed the interest of some of the users and might produce the intended benefits in the long term. Keywords: gamification, collective knowledge systems, documentation, frameworks, learning, software, DRIVER i ii Resumo A utilização de frameworks tornou-se num fator importante no que toca à melhoria da reutilização software escalável e de forma a garantir que os padrões de qualidade são mantidos. Ao mesmo tempo que a procura no mercado por soluções informáticas aumenta, a necessidade que os de- senvolvedores de software têm em aprender a utilizar o número em constante crescimento de frameworks disponíveis na sua vida profissional aumenta igualmente. Estas frameworks são por muitas vezes complexas, mas a sua boa documentação ajuda a reduzir a curva de aprendizagem dos profissionais que as tem de aprender a utilizar, contudo nem sempre está disponível ou não é adequada às necessidades de todos. Trabalho anterior, resultou na criação do DRIVER, uma plataforma de aprendizagem social- mente intensiva, modelada em volta do conceito de um “Sistema de Conhecimento Coletivo”. Nesta ferramenta, os seus aprendizes contribuem para o conhecimento global da comunidade so- bre uma framework, através da partilha de como chegar a objetivos específicos, pela publicação de “caminhos de aprendizagem”, que se definem por um conjunto de secções e páginas visitadas com o objetivo de chegar a uma determinada meta, descrevendo-se pelo uso de etiquetas. Apesar de fornecer aos desenvolvedores de software um conjunto de ferramentas focado em melhorar o aspeto da aprendizagem relacionado com o trabalho de uma framework, o DRIVER é pouco utilizado devido a problemas gerais na sua usabilidade e ao facto de não conferir grande in- centivo aos utilizadores em fazer uso vantajoso das suas funcionalidades, que efetivamente provo- cam uma carga de trabalho adicional na tarefa de aprender. De forma a tornar a plataforma mais apelativa, o uso de Gamificação foi considerado. De- screvendo de forma resumida, Gamificação é o ato de adicionar mecânicas de jogo a atividades ou ferramentas, tais como personagens, pontos ou recompensas, de formar a criar motivação para que os utilizadores interajam com elas, e consequentemente aumentar a sua produtividade. O objetivo era criar uma nova versão do DRIVER que integra-se estes conceitos e observar que impacto que eles tinham no processo de aprendizagem dos programadores, mas não sem a tentativa de resolver os problemas implícitos na experiencia de utilizador que a ferramenta tinha. Isto resultou na criação de uma nova peça de software que redesenhou as funcionalidades originais existentes do DRIVER para serem mais simples e intuitivas, ao mesmo tempo que se implemen- tou um avatar personalizável com um sistema de pontos de experiência contruído em volta do desbloqueio de recompensas pelo uso das funcionalidades da plataforma. No seguimento de um pequeno estudo que avaliou duas implementações da versão atualizada da plataforma de aprendizagem, uma com as funcionalidades relacionadas com a gamificação ati- vadas e outra sem elas, não se constatou diferenças significativas no desempenho dos participantes, contudo, há pequenas indicações que a funcionalidades de gamificação aplicadas, apelaram ao in- teresse de alguns dos utilizadores e podem vir a produzir os benefícios desejados a longo prazo. iii Palavras-chave: gamificação, sistemas de conhecimento coletivo, documentação, frameworks, aprendizagem, software, DRIVER iv Acknowledgements I’d like to begin by showing a much deserved gratitude to Cecília Monteiro and Francisco Albano, my mother and father. Their outstanding support across my entire life is the reason why i have the privilege of being one of the many that partake in works like this, across many, many other things. A special thanks goes to my supervisor and this dissertation’s proponent, Nuno Flores, who has always helped me with everything necessary to develop this project smoothly and gave me the freedom to add a little bit of “me” into it. To my friends, i will be ever so thankful for their support and programming tips, with a special attention to the constant reminders there’s no such thing as “too much time” to do a dissertation work like this. Last and not least, i would like to thank all of the developers and contributors for the free software libraries and frameworks they make available all around the web, that the products of this dissertation were built of. Works like this wouldn’t be possible without them. Pedro Manuel Monteiro Albano v vi Contents 1 Introduction1 1.1 Context . .1 1.2 Motivation and Goals . .1 1.3 This document’s structure . .2 2 Framework Learning3 2.1 Introduction . .3 2.2 Documentation Pages . .4 2.2.1 Written in Wiki Software . .4 2.2.2 Written in Custom Web Pages . .5 2.2.3 Generated from Source Code and Annotations . .6 2.3 Documentation Design Practices . .6 2.3.1 Design Patterns and Pattern Languages . .7 2.3.2 Demonstrations of Usage and Functionality . .8 2.4 Summary . 10 3 DRIVER 11 3.1 Introduction . 11 3.2 Learning Paths . 12 3.2.1 How are Learning Paths produced? . 12 3.2.2 Why are Learning Paths important? . 13 3.3 Usability Problems . 15 3.4 Summary . 16 4 Gamification 17 4.1 Introduction . 17 4.2 Examples of Gamification . 18 4.3 Gamification for Learning . 20 4.4 Summary . 21 5 Planning, Methodology and Goals 23 5.1 Introduction . 23 5.2 Development Methodology . 23 5.3 Redesign Plans and Goals . 25 5.4 Gamification Plans and Goals . 26 5.5 Expected Results : Gamification vs Redesign only . 28 5.6 Summary . 29 vii CONTENTS 6 DRIVER 2.0 : The New Version 31 6.1 Introduction . 31 6.1.1 About the figures in this chapter . 32 6.2 Architecture and Technologies . 33 6.2.1 Server Architecture and Technologies . 33 6.2.2 Client Architecture and Technologies . 34 6.3 General Features . 35 6.3.1 Documentation Pages . 35 6.3.2 Recommendation, Searching and Tag Filters . 38 6.3.3 Path Menu and Editor . 41 6.3.4 Path Wallet and Sharing . 44 6.3.5 Tutorial . 46 6.4 Gamification Features . 46 6.4.1 User Avatar and Experience Points . 47 6.4.2 Daily Activities and Weekly Challenge . 49 6.4.3 Leaderboard . 51 6.5 DRIVER 2.0 with Gamification disabled . 52 6.6 A short note about Cows . 53 6.7 Summary . 54 7 Validation Experiment 55 7.1 Introduction . 55 7.2 This Experiment vs The Ideal One . 56 7.3 Experiment Details . 56 7.3.1 Test Procedure . 56 7.3.2 Test Subjects and Grouping . 58 7.3.3 Chosen Framework . 59 7.3.4 Test Environment . 59 7.3.5 Pre-experiment Questionnaire . 60 7.3.6 Tasks to be solved using the framework . 60 7.3.7 Post-experiment Questionnaire . 60 7.4 Results Analysis . 61 7.4.1 Statistical Relevance . 61 7.4.2 Background . 62 7.4.3 External Factors . 64 7.4.4 Overall Satisfaction .
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages117 Page
-
File Size-