College Video Application

132062-Thumbnail Image.png
Description
The aim of this project was to provide college applicants with the ability to apply using a video instead of an essay. These videos are analyzed automatically and their scripts are taken and submitted with the application. This was implemented

The aim of this project was to provide college applicants with the ability to apply using a video instead of an essay. These videos are analyzed automatically and their scripts are taken and submitted with the application. This was implemented through the use of Amazon Web Services (AWS) and their S3 buckets along with their speech to text transcription service. This type of application process can give admissions teams the opportunity to get to know who will potentially be attending their university and allows the applicants to express themselves to admissions teams in a new and unique way.
Date Created
2019-12
Agent

Expanding Visual Programming for Educational Robots/IoT

132079-Thumbnail Image.png
Description
In this update to the ESPBot, we have introduced new libraries for a small OLED display and a beeper. This functionality can be easily expanded to multiple beepers and displays, but requires more GPIO pins, or for the user to

In this update to the ESPBot, we have introduced new libraries for a small OLED display and a beeper. This functionality can be easily expanded to multiple beepers and displays, but requires more GPIO pins, or for the user to not use some of the infrared sensors or the ultrasonic sensor. We have also relocated some of the pins. The display can be updated to display 1 of 4 predefined shapes, or to display user-defined text. New shapes can be added by defining new methods within display.ino and calling the appropriate functions while parsing the JSON data in viple.ino. The beeper can be controlled by user-defined input to play any frequency for any amount of time. There is also a function added to play the happy birthday song. More songs can be added by defining new methods within beeper.ino and calling the appropriate functions while parsing the JSON data in viple.ino. More functionality can be added to allow the user to input a list of frequencies along with a list of time so the user can define their own songs or sequences on the fly.
Date Created
2019-12
Agent

KarateScore

132263-Thumbnail Image.png
Description
Karate is a Japanese martial art that originated approximately a century ago, with heavy influence from Chinese martial arts at the time. Although it was originally created as a form of self-defense, many today practice it for sport. Organizations such

Karate is a Japanese martial art that originated approximately a century ago, with heavy influence from Chinese martial arts at the time. Although it was originally created as a form of self-defense, many today practice it for sport. Organizations such as the World Karate Federation (WKF) and USA Karate establish rules for competitions as well as host tournaments for practitioners of all ages and skill levels to participate in. Dojos will often host small, local tournaments for their students to practice and sharpen their competition skills. Smaller tournaments often do not have the same tools and technologies that larger tournaments do. Sign-ups are typically done in-person and payments are cash-only, which can be inconvenient for those who are extremely busy or forgetful. Another issue with hosting local tournaments is that the software used to run the timer is a desktop application, called Karate Semaphore. In the case of technical difficulties, installing the software on another machine can be extremely time-consuming and delay the progression of the tournament. Not to mention, Karate Semaphore was created following the 2012 WKF rules—meaning it is currently out of date, as it does not contain any features supporting new rules.
For my creative project, I designed a website through which smaller, local tournament registration and management are possible. Users can register for tournaments through the registration page. Registered users can check their registration is successful by viewing a table of all competitors. If the list of competitors is too long, they can filter results based on search criteria. Tournament management will be possible via a functioning timer following WKF rules which keeps track of both the match’s score as well as time.
Date Created
2019-05
Agent

Simulated Locomotion with VIPLE and Unity Game Engine

132302-Thumbnail Image.png
Description
The instruction of students in computer science concepts can be enhanced by creating programmable simulations and games. ASU VIPLE, which is a framework used to control simulations, robots, and for IoT applications, can be used as an educational tool. Further,

The instruction of students in computer science concepts can be enhanced by creating programmable simulations and games. ASU VIPLE, which is a framework used to control simulations, robots, and for IoT applications, can be used as an educational tool. Further, the Unity engine allows the creation of 2D and 3D games. The development of basic minigames in Unity can provide simulations for students to program. One can run the Unity minigame and their corresponding VIPLE script to control them over a network connection as well as locally. The minigames conform to the robot output and robot input interfaces supported by VIPLE. With this goal in mind, a snake game, a space shooter game, and a runner game have been created as Unity simulations, which can be controlled by scripts made using VIPLE. These games represent simulated environments that, with movement output and sensor input, students can program simply and externally from VIPLE to help learn robotics and computer science principles.
Date Created
2019-05
Agent

Robotic Swarm Coordination Without Master Node Using Visual Fiducial Markers for Localization

132414-Thumbnail Image.png
Description
A common design of multi-agent robotic systems requires a centralized master node, which coordinates the actions of all the agents. The multi-agent system designed in this project enables coordination between the robots and reduces the dependence on a single node

A common design of multi-agent robotic systems requires a centralized master node, which coordinates the actions of all the agents. The multi-agent system designed in this project enables coordination between the robots and reduces the dependence on a single node in the system. This design change reduces the complexity of the central node, and makes the system more adaptable to changes in its topology. The final goal of this project was to have a group of robots collaboratively claim positions in pre-defined formations, and navigate to the position using pose data transmitted by a localization server.
Planning coordination between robots in a multi-agent system requires each robot to know the position of the other robots. To address this, the localization server tracked visual fiducial markers attached to the robots and relayed their pose to every robot at a rate of 20Hz using the MQTT communication protocol. The robots used this data to inform a potential fields path planning algorithm and navigate to their target position.
This project was unable to address all of the challenges facing true distributed multi-agent coordination and needed to make concessions in order to meet deadlines. Further research would focus on shoring up these deficiencies and developing a more robust system.
Date Created
2019-05
Agent

Task Organizer Platform for Class and Group Collaboration

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

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.
Date Created
2019-05
Agent

Honey, I Forgot the Milk: An Alexa Shopping Assistant

132669-Thumbnail Image.png
Description
If you’ve ever found yourself uttering the words “Honey, I forgot the—” or “how did I miss the—" when coming home from the grocery store, then you’re not alone. This everyday problem that we disregard as part of life may

If you’ve ever found yourself uttering the words “Honey, I forgot the—” or “how did I miss the—" when coming home from the grocery store, then you’re not alone. This everyday problem that we disregard as part of life may not seem like much, but it is the driving force behind my honors thesis.
Shopping Buddy is a complete Amazon Web Services solution to this problem which is so innate to the human condition. Utilizing Alexa to keep track of your pantry, this web application automates the daunting task of creating your shopping list, putting the power of the cloud at your fingertips while keeping your complete shopping list only a click away.
Say goodbye to the nights of spaghetti without the parmesan that you left on the store shelf or the strawberries that you forgot for the strawberry shortcake. With this application, you will no longer need to rely on your memory of what you think is in the back of your fridge nor that pesky shopping list that you always end up losing when you need it the most. Accessible from any web enabled device, Shopping Buddy has got your back through all your shopping adventures to come.
Date Created
2019-05
Agent

Alexa Discussion Board Skill

132901-Thumbnail Image.png
Description
A common challenge faced by students is that they often have questions about course material that they cannot ask during lecture time. There are many ways for students to have these questions answered, such as office hours and online discussion

A common challenge faced by students is that they often have questions about course material that they cannot ask during lecture time. There are many ways for students to have these questions answered, such as office hours and online discussion boards. However, office hours may be at inconvenient times or locations, and online discussion boards are difficult to navigate and may be inactive. The purpose of this project was to create an Alexa skill that allows users to ask their Alexa-equipped device a question concerning their course material and to receive an answer retrieved from discussion board data. User questions are mapped to discussion board posts by use of the cosine similarity algorithm. In this algorithm, posts from the discussion board and the user’s question are converted into mathematical vectors, with each term in the vector corresponding to a word. The values of these terms are computed based on the word’s frequency within the vector’s corresponding document, the frequency of that word within all the documents, and the length of the document. After the question and candidate posts are converted into vectors, the algorithm determines the post most similar to the user’s question by computing the angle between the vectors. With the most similar discussion board post determined, the user receives the replies to the post, if any, as their answer. Users are able to indicate to their Alexa device whether they were satisfied by the answer, and if they were unsatisfied then they are given the opportunity to either rephrase their question or to have the question sent to a database of unanswered questions. The professor can view and answer the questions in this database on a website hosted by use of Amazon’s Simple Storage Service. The Alexa skill does well at answering questions that have already been asked in the discussion board. However, the skill depends heavily on the user’s word choice. Two questions that are semantically identical but different in phrasing are often given different answers. This is because the cosine algorithm measures similarity on the basis of word overlap, not semantic meaning, and thus the application never truly “understands” what type of answer the user desires. Improving the performance of this Alexa skill will require a more advanced question answering algorithm, but the limitations of Amazon Web Services as a development platform make implementing such an algorithm difficult. Nevertheless, this project has created the basis of a question answering Alexa skill by demonstrating a feasible way that the resources offered by Amazon can be utilized in order to build such an application.
Date Created
2019-05
Agent

VIPLE Extensions in Robotic Simulation, Quadrotor Control Platform, and Machine Learning for Multirotor Activity Recognition

156904-Thumbnail Image.png
Description
Machine learning tutorials often employ an application and runtime specific solution for a given problem in which users are expected to have a broad understanding of data analysis and software programming. This thesis focuses on designing and implementing a new,

Machine learning tutorials often employ an application and runtime specific solution for a given problem in which users are expected to have a broad understanding of data analysis and software programming. This thesis focuses on designing and implementing a new, hands-on approach to teaching machine learning by streamlining the process of generating Inertial Movement Unit (IMU) data from multirotor flight sessions, training a linear classifier, and applying said classifier to solve Multi-rotor Activity Recognition (MAR) problems in an online lab setting. MAR labs leverage cloud computing and data storage technologies to host a versatile environment capable of logging, orchestrating, and visualizing the solution for an MAR problem through a user interface. MAR labs extends Arizona State University’s Visual IoT/Robotics Programming Language Environment (VIPLE) as a control platform for multi-rotors used in data collection. VIPLE is a platform developed for teaching computational thinking, visual programming, Internet of Things (IoT) and robotics application development. As a part of this education platform, this work also develops a 3D simulator capable of simulating the programmable behaviors of a robot within a maze environment and builds a physical quadrotor for use in MAR lab experiments.
Date Created
2018
Agent

Constructing Knowledge Graph for Cybersecurity Education

156851-Thumbnail Image.png
Description
There currently exist various challenges in learning cybersecuirty knowledge, along with a shortage of experts in the related areas, while the demand for such talents keeps growing. Unlike other topics related to the computer system such as computer architecture and

There currently exist various challenges in learning cybersecuirty knowledge, along with a shortage of experts in the related areas, while the demand for such talents keeps growing. Unlike other topics related to the computer system such as computer architecture and computer network, cybersecurity is a multidisciplinary topic involving scattered technologies, which yet remains blurry for its future direction. Constructing a knowledge graph (KG) in cybersecurity education is a first step to address the challenges and improve the academic learning efficiency.

With the advancement of big data and Natural Language Processing (NLP) technologies, constructing large KGs and mining concepts, from unstructured text by using learning methodologies, become possible. The NLP-based KG with the semantic similarity between concepts has brought inspiration to different industrial applications, yet far from completeness in the domain expertise, including education in computer science related fields.

In this research work, a KG in cybersecurity area has been constructed using machine-learning-based word embedding (i.e., mapping a word or phrase onto a vector of low dimensions) and hyperlink-based concept mining from the full dataset of words available using the latest Wikipedia dump. The different approaches in corpus training are compared and the performance based on different similarity tasks is evaluated. As a result, the best performance of trained word vectors has been applied, which is obtained by using Skip-Gram model of Word2Vec, to construct the needed KG. In order to improve the efficiency of knowledge learning, a web-based front-end is constructed to visualize the KG, which provides the convenience in browsing related materials and searching for cybersecurity-related concepts and independence relations.
Date Created
2018
Agent