170 likes | 179 Views
Computer Science Kiosk. Melanie Othon. Project Definition. “Develop an interactive application that showcases the computer science major.” “It should be informative, visual, tangible, interactive, and fun” Include a game that quizzes and informs
E N D
Computer Science Kiosk Melanie Othon
Project Definition • “Develop an interactive application that showcases the computer science major.” • “It should be informative, visual, tangible, interactive, and fun” • Include a game that quizzes and informs • “The ‘CS KIOSK’ is intended to interactively tell students about computer science at SNC and demonstrate activities and projects that our majors are engaged in.”
Decisions, Decisions • Project description and requirements given, but a lot was still up to me • Brainstorming ways to make it fun and creative • Platform also up to me • Ultimately, wanted to try something new • Mobile development for me was uncharted waters, and seemed like a good challenge
Learning Curve • At first was afraid of Java and Android Studio • Tried Xamarin for Visual Studio, bad experience, little documentation • Pleased to find that Java was easy to pick up with C# experience • Much initial confusion surrounding Android Studio & mobile development in general • Constant googling until I started to understand all the pieces Me the first 3-5 weeks
Basic Outline / Solution • Knew early on I wanted upper tabs for easy navigation • Tabs include: • Home: • “students in action” - image slideshow • “Program gallery” - past program screenshots with descriptions • Info: • “Why join cs?” - student quotes • “What we do” - blurb of basic description • “Contact a professor”
Basic Outline Cont. • Tabs cont. • Meet the Students • ExpandableListView widget to display student capstone websites throughout the years • Classes • Major requirements, and those descriptions • Concentrations and those class requirements and descriptions • Cyberspace
Cyberspace Design • Ultimately wanted to give users a reason to return to the app • Something besides information • An app is not very good if it’s for one time use • Enough questions to allow user to play several times with little repetition • Created Lewis the Laptop for fun very early on • Thought Cyberspace was a good name for a game about technological trivia, set in space • And so I set it in space
Cyberspace Behind the Scenes • Essentials to the game: • Arrays containing questions and their respective answers (All organized in xml file) • 3 categories of arrays • “AllQs” - size of 14, containing string question • “OneAs”/”TwoAs”/”ThreeAs” …. - size of 4, all string options for that specific question. Answer is at pos 0 • “AllAs” - size of 14, array containing the 14 arrays above
Cyberspace Behind the Scenes Cont. • Essentials to the game cont: • Class of static vars • Keeping track of changing planet progression, LL’s battery percentage, and unused questions • Functions to reset these values upon restarting game • Class of planet values • Planet number values, their coordinates on the screen • Planets expertly drawn by me in MS Paint
Strategies • StackOverflow of course • Android Developers site had lots of tutorials • Generally any forum I could find that had a solution -------------------------------------------------------------------------- • Getting started early on • Design ideas within first week • Look at the code every week • Never walk away from it broken
Knowledge Actual image of me coding • Essential concepts: • Frequent functions, trying to limit spaghetti code • Classes, accessing data within • Event handling • CSCI 350 essential • C# → Java • Event Programming
Extensions • “Futures” page • Showing where alums are employed, what they’re doing, etc. • Game could always be improved • More incentive to return to the app
Advice • Start early of course • Don’t leave it alone for more than a few weeks. Motivation drops • The more progress you make, the more excited you are to work on it • Someone somewhere has the answer. Don’t get discouraged