Matching Items (22)
Filtering by

Clear all filters

136477-Thumbnail Image.png
Description
MeetPoint is a project derived from Computer Science with a focus upon applications to mobile. The application is created to provide users with the ability to meet up with certain individuals to accomplish a specific task, in this case studying. The project idea came from the creator wanting to meet

MeetPoint is a project derived from Computer Science with a focus upon applications to mobile. The application is created to provide users with the ability to meet up with certain individuals to accomplish a specific task, in this case studying. The project idea came from the creator wanting to meet up with a friend in order to converse about an upcoming exam. The creator knew where the person lived, but could not easily come up with a location for the two to meet that would be a reasonable distance from both of them. Hence came the idea for a mobile application to complete those actions for the user. The project focuses upon implementation in a school setting in which the meetings would actually take place. For means of this project, the locations were fixed to on campus at Arizona State University. The committee felt that this would scope the project correctly for its two-semester creation while still demonstrating how to fulfill the task at hand. Android is the operating system of choice for the mobile application due to it being Java, which was the most familiar language to the student. MeetPoint provides users with an easy to navigate and familiar front-end while harnessing the power of a database in the back-end. The application hides the intricacies of the back-end from the user in order to better provide a comfortable user experience. A lot of the project was designed around providing a comfortable user experience by keeping the application familiar to the user in that it maintains similarities with other popular mobile applications.
ContributorsWallace, Tyler L (Author) / Balasooriya, Janaka (Thesis director) / Faucon, Christophe (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2015-05
135605-Thumbnail Image.png
Description
An application called "Productivity Heatmap" was created with this project with the goal of allowing users to track how productive they are over the course of a day and week, input through scheduled prompts separated by 30 minutes to 4 hours, depending on preference. The result is a heat ma

An application called "Productivity Heatmap" was created with this project with the goal of allowing users to track how productive they are over the course of a day and week, input through scheduled prompts separated by 30 minutes to 4 hours, depending on preference. The result is a heat map colored according to a user's productivity at particular times of each day during the week. The aim is to allow a user to have a visualization on when he or she is best able to be productive, given that every individual has different habits and life patterns. This application was made completely in Google's Android Studio environment using Java and XML, with SQLite being used for database management. The application runs on any Android device, and was designed to be a balance of providing useful information to a user while maintaining an attractive and intuitive interface. This thesis explores the creation of a functional mobile application for mass distribution, with a particular set of end users in mind, namely college students. Many challenges in the form of learning a new development environment were encountered and overcome, as explained in the report. The application created is a core functionality proof-of-concept of a much larger personal project in creating a versatile and useful mobile application for student use. The principles covered are the creation of a mobile application, meeting requirements specified by others, and investigating the interest generated by such a concept. Beyond this thesis, testing will be done, and future enhancements will be made for mass-market consumption.
ContributorsWeser, Matthew Paul (Author) / Nelson, Brian (Thesis director) / Balasooriya, Janaka (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2016-05
135981-Thumbnail Image.png
Description
Education in computer science is a difficult endeavor, with learning a new programing language being a barrier to entry, especially for college freshman and high school students. Learning a first programming language requires understanding the syntax of the language, the algorithms to use, and any additional complexities the language carries.

Education in computer science is a difficult endeavor, with learning a new programing language being a barrier to entry, especially for college freshman and high school students. Learning a first programming language requires understanding the syntax of the language, the algorithms to use, and any additional complexities the language carries. Often times this becomes a deterrent from learning computer science at all. Especially in high school, students may not want to spend a year or more simply learning the syntax of a programming language. In order to overcome these issues, as well as to mitigate the issues caused by Microsoft discontinuing their Visual Programming Language (VPL), we have decided to implement a new VPL, ASU-VPL, based on Microsoft's VPL. ASU-VPL provides an environment where users can focus on algorithms and worry less about syntactic issues. ASU-VPL was built with the concepts of Robot as a Service and workflow based development in mind. As such, ASU-VPL is designed with the intention of allowing web services to be added to the toolbox (e.g. WSDL and REST services). ASU-VPL has strong support for multithreaded operations, including event driven development, and is built with Microsoft VPL users in mind. It provides support for many different robots, including Lego's third generation robots, i.e. EV3, and any open platform robots. To demonstrate the capabilities of ASU-VPL, this paper details the creation of an Intel Edison based robot and the use of ASU-VPL for programming both the Intel based robot and an EV3 robot. This paper will also discuss differences between ASU-VPL and Microsoft VPL as well as differences between developing for the EV3 and for an open platform robot.
ContributorsDe Luca, Gennaro (Author) / Chen, Yinong (Thesis director) / Cheng, Calvin (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2015-12
136617-Thumbnail Image.png
Description
We created an Android application, Impromp2, which allows users to search for and save events of interest to them in the Phoenix area. The backend, built on the Parse platform, gathers events daily using Web services and stores them in a database. Impromp2 was designed to improve upon similarly-purposed apps

We created an Android application, Impromp2, which allows users to search for and save events of interest to them in the Phoenix area. The backend, built on the Parse platform, gathers events daily using Web services and stores them in a database. Impromp2 was designed to improve upon similarly-purposed apps available for Android devices in several key ways, especially in user interface design and data interaction capability. This is a full-stack software project that explores databases and their performance considerations, Web services, user interface design, and the challenges of app development for a mobile platform.
ContributorsNorth, Joseph Robert (Author) / Balasooriya, Janaka (Thesis director) / Nakamura, Mutsumi (Committee member) / Faucon, Philippe (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor) / School of Mathematical and Statistical Sciences (Contributor)
Created2015-05
131123-Thumbnail Image.png
Description
Gamification is used to provide an entertaining alternative to educate an individual on a topic that has proven to be difficult, confusing, or undesirable. This thesis describes the design of a video game whose goal was to provide a way for coders and non-coders to educate themselves on programming scopes

Gamification is used to provide an entertaining alternative to educate an individual on a topic that has proven to be difficult, confusing, or undesirable. This thesis describes the design of a video game whose goal was to provide a way for coders and non-coders to educate themselves on programming scopes while also being entertained in the process. Reaching the goal required using the puzzle genre to create a concept where programming scopes would serve as the primary mechanic while also using various other programming concepts to complement it. These concepts include variables, values, functions, programming statements, and conditions.
In order to ensure that the game worked both as an educational tool as well as an entertaining one, informal testers were used with various degrees of experience in both coding and video games. After reaching the end of the game, each of the testers demonstrated that they understood the programming concepts in their video game form. However, this understanding came after additional verbal help was supplied and illustrated that the tutorial section of the game would need to be re-worked in order to efficiently demonstrate each concept.
ContributorsLucero, Elijah Ray (Author) / Bazzi, Rida (Thesis director) / Selgrad, Justin (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2020-05
131477-Thumbnail Image.png
Description
The goal of this product was to create a highly customizable application in which any individual, musician or not, can create a harmony for the user’s melody. This Automating Music Composer is built on the underlying rules of music composition, rules that are unique for each type of music available.

The goal of this product was to create a highly customizable application in which any individual, musician or not, can create a harmony for the user’s melody. This Automating Music Composer is built on the underlying rules of music composition, rules that are unique for each type of music available. This program is built on rules that are similar to how a Finite State Machine works (Fig 1). Each state represents a different chord in a given key, where the first roman numeral represents the first note in the chord progression. Each transition represents the action that can be taken by the chord progression, or the next note that can be reached by the current note. The user is able to manipulate these rules and styles, adjust different musical parameters to their liking, and is able to input their own melody, which then will output a unique harmony. This product aims to bridge the gap between predictive technologies and musical composition. Allowing the user to be more involved in the composition process helps the program to act as a tool for the user, rather than a separate entity that simply gives the user a completed recording. This allows the user to appreciate and understand what they are helping to produce more than they would if they were to simply be an inactive consumer of a random music composer. This product is meant to feel like an extension of the user, rather than a separate tool.
ContributorsKumar, Dhantin (Co-author) / Lopez, Christian (Co-author) / Nakamura, Mutsumi (Thesis director) / Blount, Andrew (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2020-05
132426-Thumbnail Image.png
Description
There exist many very effective calendar platforms out there, from Google Calendar, to Microsoft’s Outlook, and various implementations by other service providers. While all those services serve their purpose, they may be missing in the capacity to be easily portable for some, or the capacity to offer to the user

There exist many very effective calendar platforms out there, from Google Calendar, to Microsoft’s Outlook, and various implementations by other service providers. While all those services serve their purpose, they may be missing in the capacity to be easily portable for some, or the capacity to offer to the user a ranking of their various events and tasks in order of priority. This is that, while some of these services do offer reliable support for portability on smaller devices, it could be even more beneficial to the user to constantly have an idea of which calendar entry they should prioritize at a given point in time, based on the necessities of each entry and regardless of which entry occurs first on a chronologic line. Many of these capacities are missing in the technology currently used at ASU for course management. This project attempts to address this issue by providing a Software Application that offers to store a user’s calendar events and present those events back to the user after arranging them by order of priority. The project makes use of technologies such as Fibrease, Angular and Android to make the service available through a web browser as well as an Android mobile client. We explore possible avenues of implementations to make the services of this platform accessible and usable through other existing platforms such as Blackboard or Canvas. We also consider ways to incorporate this software into the already existing workflow of other web platforms such as Google Calendar, Blackboard or Canvas, by allowing one platform to be aware of any item creation or update from the other platform, and thus removing the necessity of creating one calendar entry multiple times in different platforms.
ContributorsNdombe, Kelly (Author) / Chen, Yinong (Thesis director) / Balasooriya, Janaka (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2019-05
132147-Thumbnail Image.png
Description
Less than half of all premedical applicants get accepted into a medical school, 39.3% of applicants to be precise, and that statistic is based on the number of matriculants out of the total applicants in 2015. With such a discouraging acceptance rate, many students who start out as premed are

Less than half of all premedical applicants get accepted into a medical school, 39.3% of applicants to be precise, and that statistic is based on the number of matriculants out of the total applicants in 2015. With such a discouraging acceptance rate, many students who start out as premed are often not towards the end of their undergraduate career and post-graduation because they do not feel prepared for medical school. It’s difficult for premed students to find all the information they need in one place rather than going from place to place or school website to school website. Additionally, it can be a hassle for premeds to keep track of all their coursework and calculate separate GPAs for each category especially due to how annoying Excel spread sheets can be. This is where the conceptualization of Premed Portfolio comes in. Premed Portfolio is a prototype mobile application. Premed Portfolio aims to streamline the process of preparing for medical school by guiding students to create a portfolio aimed to address the most important aspects of a medical school application. Students will be able to keep track of their cumulative GPA, BCPM (also known as science/math) GPA, MCAT Scores, prerequisite coursework and many more targeted areas of medical school. Premed Portfolio will also hope to use the stats that students provide and educate them on their chances of getting into medical school.
ContributorsSiddique, Shabab (Co-author, Co-author) / Rahman, Ahnaf (Co-author) / Patel, Dhruv (Co-author) / Sarwat Abdelghany Aly Elsayed, Mohamed (Thesis director) / Coursen, Jerry (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2019-05
133050-Thumbnail Image.png
Description
Despite the more tightly controlled permissions and Java framework used by most programs in the Android operating system, an attacker can use the same classic vulnerabilities that exist for traditional Linux binaries on the programs in the Android operating system. Some classic vulnerabilities include stack overows, string formats, and hea

Despite the more tightly controlled permissions and Java framework used by most programs in the Android operating system, an attacker can use the same classic vulnerabilities that exist for traditional Linux binaries on the programs in the Android operating system. Some classic vulnerabilities include stack overows, string formats, and heap meta-information corruption. Through the exploitation of these vulnerabilities an attacker can hijack the execution ow of an application. After hijacking the execution ow, an attacker can then violate the con_dentiality, integrity, or availability of the operating system. Over the years, the operating systems and compliers have implemented a number of protections to prevent the exploitation of vulnerable programs. The most widely implemented protections include Non-eXecutable stack (NX Stack), Address Space Layout Randomization (ASLR), and Stack Canaries (Canaries). NX Stack protections prevent the injection and execution of arbitrary code through the use of a permissions framework within a program. Whereas, ASLR and Canaries rely on obfuscation techniques to protect control ow, which requires su_cient entropy between each execution. Early in the implementation of these protections in Linux, researchers discovered that without su_cient entropy between executions, ASLR and Canaries were easily bypassed. For example, the obfuscation techniques were useless in programs that ran continuously because the programs did not change the canaries or re-randomize the address space. Similarly, aws in the implementation of ASLR and Canaries in Android only re-randomizes the values after rebooting, which means the address space locations and canary values remain constant across the executions of an Android program. As a result, an attacker can hijack the control ow Android binaries that contain control ow vulnerabilities. The purpose of this paper is to expose these aws and the methodology used to verify their existence in Android versions 4.1 (Jelly Bean) through 8.0 (Oreo).
ContributorsGibbs, Wil (Author) / Doupe, Adam (Thesis director) / Shoshitaishvili, Yan (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2018-12
Description
Technical innovation has always played a part in live theatre, whether in the form of mechanical pieces like lifts and trapdoors to the more recent integration of digital media. The advances of the art form encourage the development of technology, and at the same time, technological development enables the advancement

Technical innovation has always played a part in live theatre, whether in the form of mechanical pieces like lifts and trapdoors to the more recent integration of digital media. The advances of the art form encourage the development of technology, and at the same time, technological development enables the advancement of theatrical expression. As mechanics, lighting, sound, and visual media have made their way into the spotlight, advances in theatrical robotics continue to push for their inclusion in the director's toolbox. However, much of the technology available is gated by high prices and unintuitive interfaces, designed for large troupes and specialized engineers, making it difficult to access for small schools and students new to the medium. As a group of engineering students with a vested interest in the development of the arts, this thesis team designed a system that will enable troupes from any background to participate in the advent of affordable automation. The intended result of this thesis project was to create a robotic platform that interfaces with custom software, receiving commands and transmitting position data, and to design that software so that a user can define intuitive cues for their shows. In addition, a new pathfinding algorithm was developed to support free-roaming automation in a 2D space. The final product consisted of a relatively inexpensive (< $2000) free-roaming platform, made entirely with COTS and standard materials, and a corresponding control system with cue design, wireless path following, and position tracking. This platform was built to support 1000 lbs, and includes integrated emergency stopping. The software allows for custom cue design, speed variation, and dynamic path following. Both the blueprints and the source code for the platform and control system have been released to open-source repositories, to encourage further development in the area of affordable automation. The platform itself was donated to the ASU School of Theater.
ContributorsHollenbeck, Matthew D. (Co-author) / Wiebel, Griffin (Co-author) / Winnemann, Christopher (Thesis director) / Christensen, Stephen (Committee member) / Computer Science and Engineering Program (Contributor) / School of Film, Dance and Theatre (Contributor) / Barrett, The Honors College (Contributor)
Created2018-05