Matching Items (76)

Filtering by

Clear all filters

133334-Thumbnail Image.png

Developing Inventory Control and Build Management Software for Spacecraft Engineering

Description

Engineering an object means engineering the process that creates the object. Today, software can make the task of tracking these processes robust and straightforward. When engineering requirements are strict and strenuous, software custom-built for such processes can prove essential. The

Engineering an object means engineering the process that creates the object. Today, software can make the task of tracking these processes robust and straightforward. When engineering requirements are strict and strenuous, software custom-built for such processes can prove essential. The work for this project was developing ICDB, an inventory control and build management system created for spacecraft engineers at ASU to record each step of their engineering processes. In-house development means ICDB is more precisely designed around its users' functionality and cost requirements than most off-the-shelf commercial offerings. By placing a complex relational database behind an intuitive web application, ICDB enables organizations and their users to create and store parts libraries, assembly designs, purchasing and location records for inventory items, and more.

Contributors

Agent

Created

Date Created
2018-05

132570-Thumbnail Image.png

Why Students in Computer Science Courses Cheat?

Description

The goal of this study is to equip administrators and instructors with a deeper understanding of the apparent cheating problem in Computer Science courses, with proposed solutions to lower academic dishonesty from the students’ perspective.

Contributors

Agent

Created

Date Created
2019-05

132774-Thumbnail Image.png

Using Machine Learning to Predict the NBA

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

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.

Contributors

Created

Date Created
2019-05

132493-Thumbnail Image.png

Empowering Women in Zambia through Computational Thinking Curriculum

Description

The nonprofit organization, I Am Zambia, works to give supplemental education to young women in Lusaka. I Am Zambia is creating sustainable change by educating these females, who can then lift their families and communities out of poverty. The ultimate

The nonprofit organization, I Am Zambia, works to give supplemental education to young women in Lusaka. I Am Zambia is creating sustainable change by educating these females, who can then lift their families and communities out of poverty. The ultimate goal of this thesis was to explore and implement high level systematic problem solving through basic and specialized computational thinking curriculum at I Am Zambia in order to give these women an even larger stepping stool into a successful future.

To do this, a 4-week long pilot curriculum was created, implemented, and tested through an optional class at I Am Zambia, available to women who had already graduated from the year-long I Am Zambia Academy program. A total of 18 women ages 18-24 chose to enroll in the course. There were a total of 10 lessons, taught over 20 class period. These lessons covered four main computational thinking frameworks: introduction to computational thinking, algorithmic thinking, pseudocode, and debugging. Knowledge retention was tested through the use of a CS educational tool, QuizIt, created by the CSI Lab of School of Computing, Informatics and Decision Systems Engineering at Arizona State University. Furthermore, pre and post tests were given to assess the successfulness of the curriculum in teaching students the aforementioned concepts. 14 of the 18 students successfully completed the pre and post test.

Limitations of this study and suggestions for how to improve this curriculum in order to extend it into a year long course are also presented at the conclusion of this paper.

Contributors

Created

Date Created
2019-05

133010-Thumbnail Image.png

Technology Transformations: SmartAid - An Intelligent First Aid Kit

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

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.

Contributors

Created

Date Created
2019-05

132901-Thumbnail Image.png

Alexa Discussion Board Skill

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.

Contributors

Created

Date Created
2019-05

133484-Thumbnail Image.png

Prototyping a Mobile Application for Undergraduate Computer Science Education

Description

In modern society, computer science (CS) professionals are necessary in the workforce. A growing number of fields and disciplines require the analytical and programming skills that come from a CS education. Despite the growing demand for programmers, the dropout rate

In modern society, computer science (CS) professionals are necessary in the workforce. A growing number of fields and disciplines require the analytical and programming skills that come from a CS education. Despite the growing demand for programmers, the dropout rate within undergraduate CS programs remains high. In an effort to improve retention and make CS more accessible, I prototyped a mobile application that will help students through the principal deterrents that students face in their undergraduate years. Utilizing survey responses from 51 peers I determined the core courses and concepts within the CS curriculum that provoked the most concern to select the topics covered in the mobile application. The results show that the major barrier courses are CSE 310: Data Structures and Algorithms, CSE 340: Principles of Programming Languages, and CSE 355: Introduction to Theoretical Computer Science. Also using interviews and market research, I went through an iterative design process until I arrived at my final prototype that provides users a visual timeline of their program, examples for each individual topic, the ability to interact with other users, and create quizzes covering content they learned. This prototype is intended to lead to a fully developed application that will prepare and encourage students to further their professional careers in CS.

Contributors

Agent

Created

Date Created
2018-05

132922-Thumbnail Image.png

Developing an iOS Application to Guide Users Around Flooded Areas in Charleston, SC

Description

Charleston, South Carolina currently faces serious annual flooding issues due to tides and rainfall. These issues are expected to get significantly worse within the next few decades reaching a projected 180 days a year of flooding by 2045 (Carter et

Charleston, South Carolina currently faces serious annual flooding issues due to tides and rainfall. These issues are expected to get significantly worse within the next few decades reaching a projected 180 days a year of flooding by 2045 (Carter et al., 2018). Several permanent solutions are in progress by the City of Charleston. However, these solutions are years away at minimum and faced with development issues. This thesis attempts to treat some of the symptoms of flooding, such as navigation, by creating an iPhone application which predicts flooding and helps people navigate around it safely. Specifically, this thesis will take into account rainfall and tide levels to display to users actively flooded areas of downtown Charleston and provide routing to a destination from a user’s location around these flooded areas whenever possible.

Contributors

Agent

Created

Date Created
2019-05

134339-Thumbnail Image.png

Design Patterns for Distributed Systems

Description

Implementing a distributed algorithm is more complicated than implementing a non-distributed algorithm. This is because distributed systems involve coordination of different processes each of which has a partial view of the global system state. The only way to share information

Implementing a distributed algorithm is more complicated than implementing a non-distributed algorithm. This is because distributed systems involve coordination of different processes each of which has a partial view of the global system state. The only way to share information in a distributed system is by message passing. Task that are straightforward in a non-distributed system, like deciding on the value of a global system state, can be quite complicated to achieve in a distributed system [1]. On top of the difficulties caused by the distributed nature of the computations, distributed systems typically need to be able to operate normally even if some of the nodes in the system are faulty which further adds to the uncertainty that processes have about the global state. Many factors make the implementation of a distributed algorithms difficult. Design patterns [2] are useful in simplifying the development of general algorithms. A design pattern describes a high level solution to a common, abstract problem that many systems may face. Common structural, creational, and behavioral problems are identified and elegantly solved by design patterns. By identifying features that an algorithm uses, and framing each feature as one of the common problems that a specific design pattern solves, designing a robust implementation of an algorithm becomes more manageable. In this way, design patterns can aid the implementation of algorithms. Unfortunately, design patterns are typically not discussed when developing distributed algorithms. Because correctly developing a distributed algorithm is difficult, many papers (eg. [1], [3], [4]) focus on verifying the correctness of the developed algorithm. Papers that are more practical ([5], [6]) establish the correctness of their algorithm and that their algorithm is efficient enough to be practical. However, papers on distributed algorithms usually make little mention of design patterns. The goal of this work was to gain experience implementing distributed systems including learning the application of design patterns and the application of related technical topics. This was achieved by implementing a currently unpublished algorithm that is tentatively called Bakery Consensus. Bakery Consensus is a replicated state-machine protocol that can tolerate servers with Byzantine faults, but assumes non-faulty clients. The algorithm also establishes non-skipping timestamps for each operation completed by the replicated state-machine. The design of the structure, communication, and creation of the different system parts depended heavily upon the book Design Patterns [2]. After implementing the system, the success of the in implementing its various parts was based upon their ability to satisfy the SOLID [7] principles as well as their ability to establish low coupling and high cohesion [8]. The rest of this paper is organized as follows. We begin by providing background information about distributed algorithms, including replicated state-machine protocols and the Bakery Consensus algorithm. Section 3 gives a background on several design patterns and software engineering principles that were used in the development process. Section 4 discusses the well designed parts of the system that used design patterns, and how these design patterns were chosen. Section 5 discusses well designed system parts that relied upon other technical topics. Section 6 discusses system parts that need redesign. The conclusion summarizes what was accomplished by the implementation process and the lessons learned about design patterns for distributed algorithms.

Contributors

Agent

Created

Date Created
2017-05

134286-Thumbnail Image.png

Fielding an Autonomous Cobot in a University Environment: Engineering and Evaluation

Description

Many researchers aspire to create robotics systems that assist humans in common office tasks, especially by taking over delivery and messaging tasks. For meaningful interactions to take place, a mobile robot must be able to identify the humans it interacts

Many researchers aspire to create robotics systems that assist humans in common office tasks, especially by taking over delivery and messaging tasks. For meaningful interactions to take place, a mobile robot must be able to identify the humans it interacts with and communicate successfully with them. It must also be able to successfully navigate the office environment. While mobile robots are well suited for navigating and interacting with elements inside a deterministic office environment, attempting to interact with human beings in an office environment remains a challenge due to the limits on the amount of cost-efficient compute power onboard the robot. In this work, I propose the use of remote cloud services to offload intensive interaction tasks. I detail the interactions required in an office environment and discuss the challenges faced when implementing a human-robot interaction platform in a stochastic office environment. I also experiment with cloud services for facial recognition, speech recognition, and environment navigation and discuss my results. As part of my thesis, I have implemented a human-robot interaction system utilizing cloud APIs into a mobile robot, enabling it to navigate the office environment, identify humans within the environment, and communicate with these humans.

Contributors

Created

Date Created
2017-05