Matching Items (29)
Filtering by

Clear all filters

156331-Thumbnail Image.png
Description
Graph theory is a critical component of computer science and software engineering, with algorithms concerning graph traversal and comprehension powering much of the largest problems in both industry and research. Engineers and researchers often have an accurate view of their target graph, however they struggle to implement a correct, and

Graph theory is a critical component of computer science and software engineering, with algorithms concerning graph traversal and comprehension powering much of the largest problems in both industry and research. Engineers and researchers often have an accurate view of their target graph, however they struggle to implement a correct, and efficient, search over that graph.

To facilitate rapid, correct, efficient, and intuitive development of graph based solutions we propose a new programming language construct - the search statement. Given a supra-root node, a procedure which determines the children of a given parent node, and optional definitions of the fail-fast acceptance or rejection of a solution, the search statement can conduct a search over any graph or network. Structurally, this statement is modelled after the common switch statement and is put into a largely imperative/procedural context to allow for immediate and intuitive development by most programmers. The Go programming language has been used as a foundation and proof-of-concept of the search statement. A Go compiler is provided which implements this construct.
ContributorsHenderson, Christopher (Author) / Bansal, Ajay (Thesis advisor) / Lindquist, Timothy (Committee member) / Acuna, Ruben (Committee member) / Arizona State University (Publisher)
Created2018
136364-Thumbnail Image.png
Description
The purpose of this project was to program a Raspberry Pi to be able to play music from both local storage on the Pi and from internet radio stations such as Pandora. The Pi also needs to be able to play various types of file formats, such as mp3 and

The purpose of this project was to program a Raspberry Pi to be able to play music from both local storage on the Pi and from internet radio stations such as Pandora. The Pi also needs to be able to play various types of file formats, such as mp3 and FLAC. Finally, the project is also to be driven by a mobile app running on a smartphone or tablet. To achieve this, a client server design was employed where the Raspberry Pi acts as the server and the mobile app is the client. The server functionality was achieved using a Python script that listens on a socket and calls various executables that handle the different formats of music being played. The client functionality was achieved by programming an Android app in Java that sends encoded commands to the server, which the server decodes and begins playing the music that command dictates. The designs for both the client and server are easily extensible and allow for any future modifications to the project to be easily made.
ContributorsStorto, Michael Olson (Author) / Burger, Kevin (Thesis director) / Meuth, Ryan (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2015-05
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
135230-Thumbnail Image.png
Description
Agent Based modeling has been used in computer science to simulate complex phenomena. The introduction of Agent Based Models into the field of economics (Agent Based Computational Economics ACE) is not new, however work on making model environments simpler to design for individuals without a background in computer science or

Agent Based modeling has been used in computer science to simulate complex phenomena. The introduction of Agent Based Models into the field of economics (Agent Based Computational Economics ACE) is not new, however work on making model environments simpler to design for individuals without a background in computer science or computer engineering is a constantly evolving topic. The issue is a trade off of how much is handled by the framework and how much control the modeler has, as well as what tools exist to allow the user to develop insights from the behavior of the model. The solutions looked at in this thesis are the construction of a simplified grammar for model construction, the design of an economic based library to assist in ACE modeling, and examples of how to construct interactive models.
ContributorsAnderson, Brandon David (Author) / Bazzi, Rida (Thesis director) / Kuminoff, Nicolai (Committee member) / Roberts, Nancy (Committee member) / Computer Science and Engineering Program (Contributor) / Economics Program in CLAS (Contributor) / Barrett, The Honors College (Contributor)
Created2016-05
134769-Thumbnail Image.png
Description
In order to adequately introduce students to computer science and robotics in an exciting and engaging manner certain teaching techniques should be used. In recent years some of the most popular paradigms are Visual Programming Languages. Visual Programming Languages are meant to introduce problem solving skills and basic programming constructs

In order to adequately introduce students to computer science and robotics in an exciting and engaging manner certain teaching techniques should be used. In recent years some of the most popular paradigms are Visual Programming Languages. Visual Programming Languages are meant to introduce problem solving skills and basic programming constructs inherent to all modern day languages by allowing users to write programs visually as opposed to textually. By bypassing the need to learn syntax students can focus on the thinking behind developing an algorithm and see immediate results that help generate excitement for the field and reduce disinterest due to startup complexity and burnout. The Introduction to Engineering course at Arizona State University supports this approach by teaching students the basics of autonomous maze traversing algorithms and using ASU VIPLE, a Visual Programming Language developed to connect with and direct real-world robots. However, some startup time is needed to learn how to interface with these robots using ASU VIPLE. That is why the HTML5 Autonomous Robot Web Simulator was created -- by encouraging students to use the simulator the problem solving behind autonomous maze traversing algorithms can be introduced more quickly and with immediate affirmation. Our goal was to improve this simulator and add features so that the simulator could be accessed and used for a more wide variety of introductory Computer Science lessons. Features scattered across past implementations of robotic simulators were aggregated in a cross platform solution. Upon initial development, a classroom test group revealed usability concerns and a demonstration of students' mental models. Mean time for task completion was 8.1min - compared to 2min for the authors. The simulator was updated in response to test group feedback and new instructor requirements. The new implementation reduces programming overhead while maintaining a learning environment with support for even the most complex applications.
ContributorsRodewald, Spencer (Co-author, Co-author) / Patel, Ankit (Co-author) / Chen, Yinong (Thesis director) / Chattin, Linda (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2016-12
134113-Thumbnail Image.png
Description
Since the release of Discord in March of 2015 it has become the choice VoIP client for 25 million users, pulling in more each day from many sources including online video games with no voice chat, such as League of Legends. With such an expansive user base and many servers

Since the release of Discord in March of 2015 it has become the choice VoIP client for 25 million users, pulling in more each day from many sources including online video games with no voice chat, such as League of Legends. With such an expansive user base and many servers hosting multiple users during all times of the day, for a server admin to always be monitoring users is unreasonable. AhriBot aims to solve this problem by providing general administration through a command system to a server while it is logged onto that server. Specifically, AhriBot will be tailored for use on servers where League of Legends is primarily being played. Using commands issued to AhriBot, users can get statistics about their current game. By providing a set of features for general users, and a more specific set of features for League of Legends, AhriBot provides a greater experience and will help players to have quicker access to information about the game without having to travel to multiple outside sources.
ContributorsKoehler, Brendan Joseph (Author) / Balasooriya, Janaka (Thesis director) / Faucon, Philippe (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2017-12
134144-Thumbnail Image.png
Description
The main objective of this thesis is to describe and analyze Clippr, an ASU startup founded by four students: Adam Lynch, Eric Gottfried, Ty Sivley, and Thomas Carpaneto. This paper will describe the formation of Clippr as a business, analyze the work and reasoning for dissolving the business, and suggest

The main objective of this thesis is to describe and analyze Clippr, an ASU startup founded by four students: Adam Lynch, Eric Gottfried, Ty Sivley, and Thomas Carpaneto. This paper will describe the formation of Clippr as a business, analyze the work and reasoning for dissolving the business, and suggest three pivots that could increase the chances of success for the future of Clippr. These three pivots are: mini salons, a concierge service, and an online resource. The idea for Clippr came from Sam, the team's friend's experience within the cosmetology industry. Sam graduated from cosmetology school in Phoenix and started his career as an assistant, which is the most common entry level position within the industry. Assistants do not get to work with clients and primarily do chores around the salon so he was not gaining any valuable experience. Eventually Sam found a position at a salon in Flagstaff. Unfortunately, he was not scheduled enough hours to pay his rent which forced him to travel back to Phoenix to cut his friend's and family's hair to make ends meet. Sam is not alone experiencing these issues within the industry, they are a common trend throughout the cosmetology field. It was found that there is a clear problem that affects every stylist: they struggle to reap the benefits of their self-employment. Most stylists become independent contractors where they are constrained by the salon's management. They are generally forced to work during the salon's hours of operations, promote specific products, adhere to a dress code, and forfeit their clients information. On the other hand, freelance workers outside of salons do enjoy greater freedoms within their work but with significant hurdles to overcome. They have a much harder time building a client base and face prohibitive start-up costs that make it harder to break into the industry.
ContributorsGottfried, Eric (Co-author) / Lynch, Adam (Co-author) / Sebold, Brent (Thesis director) / Balasooriya, Janaka (Committee member) / Computer Science and Engineering Program (Contributor) / Electrical Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2017-12
Description
The topic of my creative project centers on the question of "How can the audience's choices influence dancers' improvisation?" This dance work seeks to redefine the relationship between audience and performers through integration of audience, technology, and movement in real-time. This topic was derived from the fields of Computer Science

The topic of my creative project centers on the question of "How can the audience's choices influence dancers' improvisation?" This dance work seeks to redefine the relationship between audience and performers through integration of audience, technology, and movement in real-time. This topic was derived from the fields of Computer Science and Dance. To answer my main question, I need to explore how I can interconnect the theory of Computer Science/fundamentals of a web application and the elements of dance improvisation. This topic interests me because it focuses on combining two studies that do not seem related. However, I find that when I am coding a web application, I can insert blocks of code. This relates to dance improvisation where I have a movement vocabulary, and I can insert different moves based on the context. The idea of gathering data from an audience in real time also interests me. I find that data is most useful when a story can be deduced from that data. To figure out how I can use dance to create and tell a story about the data that is collected, I find that to be intriguing as well. The main goals of my Creative Project are to learn the skills needed to develop a web application using the knowledge and theory that I am acquiring through Computer Science as well as learning about the skills needed to produce a performance piece. My object for the overall project is to create an audience-interactive experience that presents choices for dancers and creates a connection between two completely different studies: Computer Science and Dance. My project will consist of having the audience enter their answers to preset questions via an online voting application. The stage background screen will be utilized to show the question results in percentages in the form of a chart. The dancers will then serve as a live interpretation of these results. This Creative Project will serve as a gateway between the work that has been cultivated in my studies and the real world. The methods involve exploring movement qualities in improvisation, communicating with my cast about what worked best for the transitions between each section of the piece, and testing for the web applications. I learned the importance of having structure within improvisational movement for the purpose of choreography. The significance of structure is that it provides direction, clarity, and a sense of unification for the dancers. I also learned the basics of the programming language, Python, in order to develop the two real-time web applications. The significance of learning Python is that I will be able to add this to my skillset of programming languages as well as build upon my knowledge of Computer Science and develop more real-world applications in the future.
ContributorsNgai, Courtney Taylor (Author) / Britt, Melissa (Thesis director) / Standley, Eileen (Committee member) / Computer Science and Engineering Program (Contributor) / School of Film, Dance and Theatre (Contributor) / Barrett, The Honors College (Contributor)
Created2018-05
134066-Thumbnail Image.png
Description
For those interested in the field of robotics, there are not many options to get your hands on a physical robot without paying a steep price. This is why the folks at BCN3D Technologies decided to design a fully open-source 3D-printable robotic arm. Their goal was to reduce the barrier

For those interested in the field of robotics, there are not many options to get your hands on a physical robot without paying a steep price. This is why the folks at BCN3D Technologies decided to design a fully open-source 3D-printable robotic arm. Their goal was to reduce the barrier to entry for the field of robotics and make it exponentially more accessible for people around the world. For our honors thesis, we chose to take the design from BCN3D and attempt to build their robot, to see how accessible the design truly is. Although their designs were not perfect and we were forced to make some adjustments to the 3D files, overall the work put forth by the people at BCN3D was extremely useful in successfully building a robotic arm that is programmed with ease.
ContributorsCohn, Riley (Co-author) / Petty, Charles (Co-author) / Ben Amor, Hani (Thesis director) / Yong, Sze Zheng (Committee member) / Computer Science and Engineering Program (Contributor) / Mechanical and Aerospace Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2017-12
135081-Thumbnail Image.png
Description
Last Hymn was created by the team of Tyler Pinho, Jefferson Le, and Curtis Spence with the desire to create an eccentric Role Playing Game focused on the exploration of a strange, dying world. Battles in the game are based off of rhythm games like Dance Dance Revolution using a

Last Hymn was created by the team of Tyler Pinho, Jefferson Le, and Curtis Spence with the desire to create an eccentric Role Playing Game focused on the exploration of a strange, dying world. Battles in the game are based off of rhythm games like Dance Dance Revolution using a procedural generation algorithm that makes every encounter unique. This is then complemented with the path system where each enemy has unique rhythm patterns to give them different types of combat opportunities. In Last Hymn, the player arrives on a train at the World's End Train Station where they are greeted by a mysterious figure and guided to the Forest where they witness the end of the world and find themselves back at the train station before they left for the Forest. With only a limited amount of time per cycle of the world, the player must constantly weigh the opportunity cost of each decision, and only with careful thought, conviction, and tenacity will the player find a conclusion from the never ending cycle of rebirth. Blending both Shinto architecture and modern elements, Last Hymn used a "fantasy-chic" aesthetic in order to provide memorable locations and dissonant imagery. As the player explores they will struggle against puzzles and dynamic, rhythm based combat while trying to unravel the mystery of the world's looping time. Last Hymn was designed to develop innovative and dynamic new solutions for combat, exploration, and mapping. From this project all three team members were able to grow their software development and game design skills, achieving goals like improved level design, improved asset pipelines while simultaneously aiming to craft an experience that will be unforgettable for players everywhere.
ContributorsPinho, Tyler (Co-author) / Le, Jefferson (Co-author) / Spence, Curtis (Co-author) / Nelson, Brian (Thesis director) / Walker, Erin (Committee member) / Kobayashi, Yoshihiro (Committee member) / Computer Science and Engineering Program (Contributor) / Computing and Informatics Program (Contributor) / Barrett, The Honors College (Contributor)
Created2016-12