Code Girl Amanda Holl Santa Clara University
Total Page:16
File Type:pdf, Size:1020Kb
Santa Clara University Scholar Commons Computer Science and Engineering Master's Theses Engineering Master's Theses 8-14-2016 Code Girl Amanda Holl Santa Clara University Follow this and additional works at: http://scholarcommons.scu.edu/cseng_mstr Part of the Computer Engineering Commons Recommended Citation Holl, Amanda, "Code Girl" (2016). Computer Science and Engineering Master's Theses. Paper 1. This Thesis is brought to you for free and open access by the Engineering Master's Theses at Scholar Commons. It has been accepted for inclusion in Computer Science and Engineering Master's Theses by an authorized administrator of Scholar Commons. For more information, please contact [email protected]. Code Girl by Amanda Holl Submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science and Engineering School of Engineering Santa Clara University Santa Clara, California September 8, 2016 Code Girl Amanda Holl Department of Computer Engineering Santa Clara University September 8, 2016 ABSTRACT Despite the growing importance of technology and computing, fewer than one percent of women in college today choose to major in computer science. Educational programs and games created to interest girls in computing, such as Girls Who Code and Made With Code, have been successful in engaging girls with interactive and creative learning environments, but they are too advanced for young girls to benefit from. To address the lack of educational, computer science games designed specifically for young girls, we developed a web-based application called Code Girl for girls age five to eight to customize their own avatars using Blockly, an open-source visual coding editor developed by Google. Girls learn basic computer science and problem-solving skills by successfully using puzzle-piece like blocks to complete challenges that unlock new accessories for their avatars. In conducting user testing, we assessed the usability and complexity of the application and identified ways to better meet research goals of educating and inspiring young girls to pursue computer science. The overall feedback we received on Code Girl in user testing was positive, as a majority of the girls expressed an interest in playing the game again and playing more games designed to teach programming. Code Girl thus appeals to the general pastimes of young girls to interest them in computer science from an early age and hopefully inspires them to pursue computing as a career. The application, which though it can continue to be developed with even more challenges and clothes and accessories, and thereby teach additional concepts, is ready to be released to the public. Initial steps are provided to incorporate Code Girl into educational programs at local and national levels. Table of Contents 1 Introduction 1 1.1 Problem Statement . .1 1.2 Background . .2 1.3 Requirements . .3 1.3.1 Functional Requirements . .4 1.3.2 Non-functional Requirements . .4 1.3.3 Design Constraints . .5 1.4 Conclusions . .5 2 Design 6 2.1 Conceptual Model . .6 2.1.1 State Diagram . .6 2.1.2 Activity Diagrams . .7 2.1.3 Mockups . .9 2.2 Use Cases . 11 2.3 Architectural Design . 14 2.3.1 Avatar Customization . 14 2.3.2 Challenges . 14 2.3.3 Game Logic . 14 2.3.4 Loading Logic . 15 2.3.5 Database . 15 2.4 Technologies Used . 15 2.5 Design Rationale . 17 2.5.1 Game Design . 17 2.5.2 Visual Programming Environment . 18 2.5.3 Blockly . 18 2.5.4 Technologies . 19 2.5.5 Responsive Design . 19 2.5.6 Story-telling . 20 3 Application Overview 23 3.1 Create and Account/Login . 24 3.2 Avatar Customization . 24 3.3 Challenges . 26 3.3.1 Challenge 1: Introduction to Blockly . 26 3.3.2 Challenge 2: Sequentiality . 27 3.3.3 Challenge 3: Loops . 28 3.3.4 Challenge 4: If-Else Conditional Statement . 29 3.3.5 Challenge 5: Do-Until Conditional Statement . 29 3.3.6 Challenge 6: Nested Conditional Statements . 30 3.3.7 Challenge 7: Order and Conditions . 31 3.4 Saving the Avatar . 32 iv 4 Project Management 34 4.1 Test Plan . 34 4.2 Project Risks . 34 4.3 Societal Issues . 36 4.3.1 Ethics . 36 4.3.2 Social Context . 37 4.3.3 Usability . 37 4.3.4 Lifelong Learning . 37 4.3.5 Compassion . 38 5 Usability Study 39 5.1 Background . 39 5.2 Type of Usability Study . 39 5.3 Subject Population . 40 5.3.1 Subject Rights . 40 5.3.2 Subject Risks/Discomforts . 40 5.3.3 Procedures to Maintain Confidentiality . 41 5.4 Location and Time . 42 5.5 Structure . 42 5.5.1 Introduction . 42 5.5.2 Usability Evaluation . 43 5.5.3 Focus Group . 43 5.5.4 Conclusion . 43 5.6 Evaluation . 43 5.6.1 Performance Metrics . 44 5.6.2 Self-reported Measures . 45 5.7 Results . 45 5.7.1 Performance Metrics . 45 5.7.2 Self-Reported Measures . 49 5.8 Analysis . 52 5.8.1 User Behavior during Usability Evaluation . 52 5.8.2 Task Success, Time on Task and Efficiency . 53 5.8.3 User Satisfaction . 55 5.8.4 Research Goals . 56 6 Conclusion 58 6.1 Future Work . 58 6.1.1 Application Improvements . 58 6.1.2 Integration into Educational Programs . 60 6.2 Lessons Learned . 60 6.3 Project Assessment . 61 6.3.1 Disadvantages . 61 6.3.2 Advantages . 62 6.3.3 Objectives Met . 62 A Recruitment Flyer 63 B Usability Evaluation Introduction 64 C Usability Evaluation Survey 65 C.1 Basic information about yourself . 65 C.2 Your experience with programming games . ..