170 likes | 182 Views
This project aims to develop an interactive application showcasing the computer science major at SNC, combining information, visual elements, interactivity, and a fun game that quizzes and informs. The app includes tabs for students in action, program gallery, student quotes, basic descriptions, contact info, meet the students with capstone websites, class requirements and descriptions, and a Cyberspace game with technological trivia set in space. Behind the scenes, the game utilizes arrays of questions and answers, planet progression tracking, and planet values. Learning curve involved overcoming challenges with Java, Android Studio, and Xamarin, while resources like StackOverflow and Android Developers site proved helpful. The developer emphasizes starting early, maintaining motivation, and seeking support when needed to successfully complete the project. The app allows for continuous improvement to provide users with incentives for regular return visits. 8
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