Matching Items (19)
Filtering by

Clear all filters

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
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
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
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
133010-Thumbnail Image.png
Description
SmartAid aims to target a small, yet relevant issue in a cost effective, easily replicable, and innovative manner. This paper outlines how to replicate the design and building process to create an intelligent first aid kit. SmartAid utilizes Alexa Voice Service technologies to provide a new and improved way to

SmartAid aims to target a small, yet relevant issue in a cost effective, easily replicable, and innovative manner. This paper outlines how to replicate the design and building process to create an intelligent first aid kit. SmartAid utilizes Alexa Voice Service technologies to provide a new and improved way to teach users about the different types of first aid kit items and how to treat minor injuries, step by step. Using Alexa and RaspberryPi, SmartAid was designed as an added attachment to first aid kits. Alexa Services were installed into a RaspberryPi to create a custom Amazon device, and from there, using the Alexa Interaction Model and the Lambda function services, SmartAid was developed. After the designing and coding of the application, a user guide was created to provide users with information on what items are included in the first aid kit, what types of injuries can be treated through first aid, and how to use SmartAid. The
application was tested for its usability and practicality by a small sample of students. Users provided suggestions on how to make the application more versatile and functional, and confirmed that the application made first aid easier and was something that they could see themselves using. While this application is not aimed to replace the current physical guide solution completely, the findings of this project show that SmartAid has potential to stand in as an improved, easy to use, and convenient alternative for first aid guidance.
ContributorsHasan, Bushra Anwara (Author) / Kobayashi, Yoshihiro (Thesis director) / Nakamura, Mutsumi (Committee member) / Computer Science and Engineering Program (Contributor) / Department of Psychology (Contributor) / Dean, W.P. Carey School of Business (Contributor) / Barrett, The Honors College (Contributor)
Created2019-05
132774-Thumbnail Image.png
Description
Machine learning is one of the fastest growing fields and it has applications in almost any industry. Predicting sports games is an obvious use case for machine learning, data is relatively easy to collect, generally complete data is available, and outcomes are easily measurable. Predicting the outcomes of sports events

Machine learning is one of the fastest growing fields and it has applications in almost any industry. Predicting sports games is an obvious use case for machine learning, data is relatively easy to collect, generally complete data is available, and outcomes are easily measurable. Predicting the outcomes of sports events may also be easily profitable, predictions can be taken to a sportsbook and wagered on. A successful prediction model could easily turn a profit. The goal of this project was to build a model using machine learning to predict the outcomes of NBA games.
In order to train the model, data was collected from the NBA statistics website. The model was trained on games dating from the 2010 NBA season through the 2017 NBA season. Three separate models were built, predicting the winner, predicting the total points, and finally predicting the margin of victory for a team. These models learned on 80 percent of the data and validated on the other 20 percent. These models were trained for 40 epochs with a batch size of 15.
The model for predicting the winner achieved an accuracy of 65.61 percent, just slightly below the accuracy of other experts in the field of predicting the NBA. The model for predicting total points performed decently as well, it could beat Las Vegas’ prediction 50.04 percent of the time. The model for predicting margin of victory also did well, it beat Las Vegas 50.58 percent of the time.
Created2019-05
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
134079-Thumbnail Image.png
Description
This project is a full integrated development environment implementing the LEGv8 assembly language standard, to be used in classroom settings. The LEGv8 assembly language is defined by the ARM edition of "Computer Organization and Design: The Hardware/Software Interface" by David A. Patterson and John L. Hennessy as a more approachable

This project is a full integrated development environment implementing the LEGv8 assembly language standard, to be used in classroom settings. The LEGv8 assembly language is defined by the ARM edition of "Computer Organization and Design: The Hardware/Software Interface" by David A. Patterson and John L. Hennessy as a more approachable alternative to the full ARMv8 instruction set. The MIPS edition of that same book is used in the Computer Organization course at ASU. This class makes heavy use of the "MARS" MIPS simulator, which allows students to write and run their own MIPS assembly programs. Writing assembly language programs is a key component of the course, as assembly programs have many design difficulties as compared to a high-level language. This project is a fork of the MARS project. The interface and functionality remain largely the same aside from the change to supporting the LEGv8 syntax and instruction set. Faculty used to the MARS environment from teaching Computer Organization should only have to adjust to the new language standard, as the editor and environment will be familiar. The available instructions are basic arithmetic/logical operations, memory interaction, and flow control. Both floating-point and integer operations are supported, with limited support of conditional execution. Only branches can be conditionally executed, per LEGv8. Directives remain in the format supported by MARS, as documentation on ARM-style directives is both sparse and agreeable to this standard. The operating system functions supported by the MARS simulator also remain, as there is no generally standardized requirements for operating system interactions.
ContributorsWhite, Josiah Jeremiah (Author) / Meuth, Ryan (Thesis director) / Nakamura, Mutsumi (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2017-12
134157-Thumbnail Image.png
Description
This paper details the specification and implementation of a single-machine blockchain simulator. It also includes a brief introduction on the history & underlying concepts of blockchain, with explanations on features such as decentralization, openness, trustlessness, and consensus. The introduction features a brief overview of public interest and current implementations of

This paper details the specification and implementation of a single-machine blockchain simulator. It also includes a brief introduction on the history & underlying concepts of blockchain, with explanations on features such as decentralization, openness, trustlessness, and consensus. The introduction features a brief overview of public interest and current implementations of blockchain before stating potential use cases for blockchain simulation software. The paper then gives a brief literature review of blockchain's role, both as a disruptive technology and a foundational technology. The literature review also addresses the potential and difficulties regarding the use of blockchain in Internet of Things (IoT) networks, and also describes the limitations of blockchain in general regarding computational intensity, storage capacity, and network architecture. Next, the paper gives the specification for a generic blockchain structure, with summaries on the behaviors and purposes of transactions, blocks, nodes, miners, public & private key cryptography, signature validation, and hashing. Finally, the author gives an overview of their specific implementation of the blockchain using C/C++ and OpenSSL. The overview includes a brief description of all the classes and data structures involved in the implementation, including their function and behavior. While the implementation meets the requirements set forward in the specification, the results are more qualitative and intuitive, as time constraints did not allow for quantitative measurements of the network simulation. The paper concludes by discussing potential applications for the simulator, and the possibility for future hardware implementations of blockchain.
ContributorsRauschenbach, Timothy Rex (Author) / Vrudhula, Sarma (Thesis director) / Nakamura, Mutsumi (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2017-12