Reaction: an Android Based Supplemental Learning Aid for Engineering Education
Total Page:16
File Type:pdf, Size:1020Kb
Reaction: An Android Based Supplemental Learning Aid for Engineering Education by Christopher Gaddes A thesis submitted to the Graduate Faculty of Auburn University in partial fulfillment of the requirements for the Degree of Master of Science Auburn, Alabama December 10, 2016 Keywords: Android, Engineering Education, Free-body Diagram Copyright 2016 by Christopher Gaddes Approved by John Y. Hung, Chair, Professor of Electrical and Computer Engineering Lloyd S. Riggs, Professor of Electrical and Computer Engineering Nels Madsen, Professor Emeritus of Mechanical Engineering Abstract The rapid rise of the smartphone platform is changing many facets of modern life. The platform presents exciting opportunities for supplemental education. Many mobile education applications are available e.g. Duolingo, an application that helps users learn foreign languages. Yet, the use of mobile applications in engineering education is still in its infancy. The purpose of this thesis is to explore the popularity of the mobile platform as a supplemental learning aid for engineering education. This is accomplished by the creation, distribution, and analysis of a proof-of-concept mobile learning application called Reaction: Free-body Diagrams which is targeted at engineering students studying mechanical free- body diagrams. The application was developed in four months, distributed for 1 month, and evaluated by survey. Over 180 downloads (installations) have been logged, and data from 50 survey respondents collected. This data suggests that the smartphone platform is a popular option among students for supplemental engineering education. ii Acknowledgments I would like to thank my committee for guiding me through this process. My adviser, Dr. Hung, has been an invaluable source of encouragement, insight, and advice. Dr. Madsen provided expertise on developing relevant statics problems for the application, and Dr. Riggs provided practical direction towards developing the data collection survey. I am also grateful to the many people who tested my application, especially Win Sinor, who spent considerable time discovering bugs. Special thanks to James Sentell, William Hester, and Dr. Umphress, who graciously provided me with programming assistance and advice. I would also like to thank Jan Miles, who enabled me to continue my engineering education by letting me serve as her graduate assistant. I would also like to thank my friends family for their love and support. I am especially grateful for my loving wife, who has graciously endured the many long hours I have worked on this project instead of spending time with her, and who has always been a source of creative genius. Finally, and most importantly, I would like to thank God for surrounding me with each of these people, and for providing me with this great opportunity. iii Table of Contents Abstract........................................... ii Acknowledgments...................................... iii List of Figures....................................... viii List of Tables........................................x 1 Introduction Can Mobile Applications Aid Engineering Education?.......1 1.1 The Ubiquitous Mobile Platform........................1 1.2 Thesis Aim....................................2 1.3 Thesis Objectives.................................2 1.4 Thesis Structure..................................2 2 The State-of-the-Art.................................4 2.1 E-learning.....................................4 2.1.1 Challenges to e-learning.........................5 2.2 M-learning.....................................5 2.2.1 Characteristics of the mobile platform.................6 2.2.2 Basic Characteristics of m-learning...................6 2.2.3 Advantages of mobile learning......................7 2.2.4 Some Current mobile learning apps...................9 2.3 Mobile Operating Systems: Two Choices.................... 10 2.3.1 Challenges to using Android as the platform.............. 13 2.3.2 Getting started in Android App Development............. 14 2.4 Android Studio.................................. 15 2.5 Testing During Development........................... 15 2.6 Release Platform................................. 16 iv 2.6.1 Distribution................................ 16 2.6.2 Marketing................................. 16 3 Technical Approach.................................. 18 3.1 Existing applications related to free-body diagrams.............. 18 3.2 Primary users: Students with experience in Mechanics............ 19 3.2.1 Fundamental Mechanics concepts.................... 19 3.3 Requirements................................... 20 3.3.1 Operating system............................. 20 3.3.2 Functional requirements......................... 22 3.3.3 Non-functional requirements....................... 23 3.4 Chosen Problems................................. 24 4 Application Design.................................. 26 4.1 User interface (UI) design............................ 26 4.1.1 Skeuomorphism.............................. 26 4.1.2 Flat design................................ 27 4.1.3 Material Design.............................. 27 4.1.4 Visual Comparison............................ 28 4.1.5 Chosen design style............................ 28 4.1.6 Icon and Name.............................. 29 4.1.7 Meaningful Motion............................ 30 4.2 Layout....................................... 30 4.2.1 Activities................................. 31 4.3 Drawing free-body diagrams........................... 33 4.3.1 Problem Images.............................. 34 4.3.2 Isolate the Mechanical System...................... 34 4.3.3 Draw Arrows............................... 35 4.3.4 Instant feedback............................. 36 v 4.3.5 Alerts................................... 37 4.4 Language..................................... 39 4.5 Data storage.................................... 40 4.6 Alleviating privacy concerns........................... 41 5 Implementation.................................... 43 5.1 Application Development............................. 43 5.1.1 Version control.............................. 43 5.1.2 Kanban.................................. 44 5.1.3 Description of software.......................... 45 5.1.4 Tools and Libraries............................ 46 5.1.5 Debugging................................. 48 5.1.6 Supporting Multiple Screens....................... 49 5.1.7 Custom Views............................... 51 5.2 Performance.................................... 51 5.2.1 Drawing.................................. 52 5.2.2 Image loading............................... 52 5.2.3 Onboarding................................ 52 5.2.4 Problem Data............................... 54 5.2.5 Logging usage time............................ 55 5.2.6 Data collection and feedback....................... 55 6 Evaluation and Testing................................ 57 6.1 Application Testing................................ 57 6.2 Specs of the final product............................ 58 6.3 Requirements Testing............................... 58 6.4 Metrics....................................... 59 6.5 User Feedback................................... 60 6.5.1 Survey Feedback............................. 61 vi 7 Conclusions...................................... 65 7.1 Summary of work................................. 65 7.2 Future Work.................................... 65 7.2.1 Add more problems............................ 65 7.2.2 Community driven Framework...................... 66 7.2.3 Improve feedback and hints....................... 66 7.2.4 Add values to force arrows and lengths................. 66 7.2.5 Improve drawing............................. 67 7.2.6 Add more teaching to the app...................... 67 7.2.7 Analytics................................. 67 7.2.8 Gamification............................... 68 7.2.9 Teach other skills............................. 68 7.3 Concluding Remarks............................... 68 7.4 Personal Comments................................ 69 Bibliography........................................ 71 Appendices......................................... 74 A Problems and solutions................................ 75 vii List of Figures 3.1 Chart of Android Platform Percentages....................... 21 3.2 Problem Statements................................. 25 4.1 Skeuomorphism.................................... 28 4.2 Flat Design...................................... 28 4.3 Material Design.................................... 28 4.4 Reaction: Free-body Diagrams Launcher Icon................... 30 4.5 Main Activity..................................... 31 4.6 SecondActivity.................................... 32 4.7 ThirdActivity..................................... 33 4.8 Isolated members................................... 35 4.9 Touch zones...................................... 36 4.10 Snackbar with button to show hint......................... 38 4.11 Dialog showing hint................................. 39 5.1 Code distribution................................... 45 5.2 Walkthrough: Shows where to tap help button................... 53 viii 5.3 Walkthrough: Shows where to peek button..................... 53 5.4 Tutorial: Shows where to tap help button..................... 54 5.5 Orange Dots at Points................................ 55 5.6 Orange Dots at Points................................ 55 6.1 Daily Installs in 2016................................. 60 6.2 Daily Uninstalls in 2016............................... 60 6.3 Reaction: Free-body