Matching Items (14)
Filtering by

Clear all filters

135246-Thumbnail Image.png
Description
The areas of cloud computing and web services have grown rapidly in recent years, resulting in software that is more interconnected and and widely used than ever before. As a result of this proliferation, there needs to be a way to assess the quality of these web services in order

The areas of cloud computing and web services have grown rapidly in recent years, resulting in software that is more interconnected and and widely used than ever before. As a result of this proliferation, there needs to be a way to assess the quality of these web services in order to ensure their reliability and accuracy. This project explores different ways in which services can be tested and evaluated through the design of various testing techniques and their implementations in a web application, which can be used by students or developers to test their web services.
ContributorsHilliker, Mark Paul (Author) / Chen, Yinong (Thesis director) / Nakamura, Mutsumi (Committee member) / Computer Science and Engineering Program (Contributor) / School of Mathematical and Statistical Sciences (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
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 boards. However, office hours may be at inconvenient times or

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.
ContributorsBaker, Matthew Elias (Author) / Chen, Yinong (Thesis director) / Balasooriya, Janaka (Committee member) / Historical, Philosophical & Religious Studies (Contributor) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2019-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
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 as the World Karate Federation (WKF) and USA Karate establish

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.
ContributorsRuan, Shirley (Author) / Sarwat, Mohamed (Thesis director) / Chen, Yinong (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2019-05
131249-Thumbnail Image.png
Description
Learning to code is a skill that is becoming increasing needed as technology advances, yet is absent in traditional education. This thesis aims to provide a resource for middle school teachers to introduce programming skills and concepts to their students over several lessons designed to fit within the constraints of

Learning to code is a skill that is becoming increasing needed as technology advances, yet is absent in traditional education. This thesis aims to provide a resource for middle school teachers to introduce programming skills and concepts to their students over several lessons designed to fit within the constraints of a standard class period. By targeting students in middle school, if they develop an interest, they will have enough time in middle or high school to prepare themselves for a degree in Computer Science or to complete a programming boot camp after they graduate high school. Additionally, middle school students are old enough to understand challenging programming concepts and work together to solve a programming challenge. The programming language and environment, VIPLE, will be used to teach the concepts in the lessons as it is a graphical programming language, which removes many of the common challenges faced by young students in learning to code, like dealing with syntax or remembering keywords for coding blocks.
ContributorsBelt, Emily (Author) / Chen, Yinong (Thesis director) / Miller, Cindy (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2020-05
131481-Thumbnail Image.png
Description
Alife is an event searching and event publishing website written in C# using the MVC software design pattern. Alife aims to offer a platform for student organizations to publish their events while enabling ASU students to browse, search, and filter events based on date, location, keywords, and category tags. Alife

Alife is an event searching and event publishing website written in C# using the MVC software design pattern. Alife aims to offer a platform for student organizations to publish their events while enabling ASU students to browse, search, and filter events based on date, location, keywords, and category tags. Alife can also retrieve events information from the official ASU Event website, parse the keywords of the events and assign category tags to them. Alife project explores many concepts of Distributed Service-Oriented software development, such as server-side development, MVC architecture, client-side development, database integration, web service development and consuming.
ContributorsWu, Mengqi (Author) / Chen, Yinong (Thesis director) / Feng, Xuerong (Committee member) / Computer Science and Engineering Program (Contributor, Contributor) / Barrett, The Honors College (Contributor)
Created2020-05
165391-Thumbnail Image.png
Description
Programming front-end human computer interfaces follows a unique approach of iterative design and testing to produce a creative model envisioned by the developer and designer. Small but frequent changes to visual or audio aspects of the program are commonplace in order to implement different design ideas, implementations, and adjustments. Functional

Programming front-end human computer interfaces follows a unique approach of iterative design and testing to produce a creative model envisioned by the developer and designer. Small but frequent changes to visual or audio aspects of the program are commonplace in order to implement different design ideas, implementations, and adjustments. Functional Reactive Programming (FRP) acts as a compelling programming paradigm towards this iterative design process, following its strength in utilizing time-varying values. Therefore, this thesis will introduce Coda, a Visual Programming Language (VPL) focused on developing audio interfaces using FRP. Coda focuses on the goal of streamlining audio interface prototyping and development, through two primary features: rapid but sensible code hot-reloading, and the use of time and I/O as an interactive development tool. These features allow Coda to greatly reduce the development cycle time commonly seen in typical, text-based programming languages. Coda also comes in its own integrated development environment (IDE) in the form of a web-application.
ContributorsShrestha, Abhash (Author) / Omais, Adam (Co-author) / De Luca, Gennaro (Thesis director) / Chen, Yinong (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2022-05
165392-Thumbnail Image.png
Description
Programming front-end human computer interfaces follows a unique approach of iterative design and testing to produce a creative model envisioned by the developer and designer. Small but frequent changes to visual or audio aspects of the program are commonplace in order to implement different design ideas, implementations, and adjustments. Functional

Programming front-end human computer interfaces follows a unique approach of iterative design and testing to produce a creative model envisioned by the developer and designer. Small but frequent changes to visual or audio aspects of the program are commonplace in order to implement different design ideas, implementations, and adjustments. Functional Reactive Programming (FRP) acts as a compelling programming paradigm towards this iterative design process, following its strength in utilizing time-varying values. Therefore, this thesis will introduce Coda, a Visual Programming Language (VPL) focused on developing audio interfaces using FRP. Coda focuses on the goal of streamlining audio interface prototyping and development, through two primary features: rapid but sensible code hot-reloading, and the use of time and I/O as an interactive development tool. These features allow Coda to greatly reduce the development cycle time commonly seen in typical, text-based programming languages. Coda also comes in its own integrated development environment (IDE) in the form of a web-application.
ContributorsOmais, Adam (Author) / Shrestha, Abhash (Co-author) / De Luca, Gennaro (Thesis director) / Chen, Yinong (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2022-05
Description

The process of learning a new skill can be time consuming and difficult for both the teacher and the student, especially when it comes to computer modeling. With so many terms and functionalities to familiarize oneself with, this task can be overwhelming to even the most knowledgeable student. The purpose

The process of learning a new skill can be time consuming and difficult for both the teacher and the student, especially when it comes to computer modeling. With so many terms and functionalities to familiarize oneself with, this task can be overwhelming to even the most knowledgeable student. The purpose of this paper is to describe the methodology used in the creation of a new set of curricula for those attempting to learn how to use the Dynamic Traffic Simulation Package with Multi-Resolution Modeling. The current DLSim curriculum currently relates information via high-concept terms and complicated graphics. The information in this paper aims to provide a streamlined set of curricula for new users of DLSim, including lesson plans and improved infographics.

ContributorsMills, Alexander (Author) / Zhou, Xuesong (Thesis director) / Chen, Yinong (Committee member) / Barrett, The Honors College (Contributor) / Computing and Informatics Program (Contributor) / Computer Science and Engineering Program (Contributor)
Created2022-05