Matching Items (612)
Filtering by

Clear all filters

132156-Thumbnail Image.png
Description
A web server is a program that responds to your browser's
requests. Often, the response is a HTML document that the browser
renders in a way that looks pleasant to humans. The manner in which it
responds is generally determined before the server is started up; it
is static. The content may change arbitrarily,

A web server is a program that responds to your browser's
requests. Often, the response is a HTML document that the browser
renders in a way that looks pleasant to humans. The manner in which it
responds is generally determined before the server is started up; it
is static. The content may change arbitrarily, but the actual logic
that the server follows resists change while the server is still
running. The goal of this thesis is to explore the possibility of
removing this restriction, allowing a web server's logic to be
modified arbitrarily during runtime by select users. This is why the
term ``Federated'' appears in the title: my goal is to create a system
that can be developed in a decentralized manner, by multiple entities
with similar high-level goals but different ideas at the lower level.
ContributorsKulkarni, Sidharth (Author) / Bazzi, Rida (Thesis director) / Doupe, Adam (Committee member) / Computer Science and Engineering Program (Contributor, Contributor) / Barrett, The Honors College (Contributor)
Created2019-05
132157-Thumbnail Image.png
Description
The findings of this project show that through the use of principal component analysis and K-Means clustering, NBA players can be algorithmically classified in distinct clusters, representing a player archetype. Individual player data for the 2018-2019 regular season was collected for 150 players, and this included regular per game statistics,

The findings of this project show that through the use of principal component analysis and K-Means clustering, NBA players can be algorithmically classified in distinct clusters, representing a player archetype. Individual player data for the 2018-2019 regular season was collected for 150 players, and this included regular per game statistics, such as rebounds, assists, field goals, etc., and advanced statistics, such as usage percentage, win shares, and value over replacement players. The analysis was achieved using the statistical programming language R on the integrated development environment RStudio. The principal component analysis was computed first in order to produce a set of five principal components, which explain roughly 82.20% of the total variance within the player data. These five principal components were then used as the parameters the players were clustered against in the K-Means clustering algorithm implemented in R. It was determined that eight clusters would best represent the groupings of the players, and eight clusters were created with a unique set of players belonging to each one. Each cluster was analyzed based on the players making up the cluster and a player archetype was established to define each of the clusters. The reasoning behind the player archetypes given to each cluster was explained, providing details as to why the players were clustered together and the main data features that influenced the clustering results. Besides two of the clusters, the archetypes were proven to be independent of the player's position. The clustering results can be expanded on in the future to include a larger sample size of players, and it can be used to make inferences regarding NBA roster construction. The clustering can highlight key weaknesses in rosters and show which combinations of player archetypes lead to team success.
ContributorsElam, Mason Matthew (Author) / Armbruster, Dieter (Thesis director) / Gel, Esma (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2019-05
132341-Thumbnail Image.png
Description
Mobile app development has been the fastest growing software development since the release of the iPhone in 2007 and the creation of the App Store in 2008. After the rise in popularity of the smartphone and mobile app development, businesses started to shift from browser-based software to mobile platforms. There

Mobile app development has been the fastest growing software development since the release of the iPhone in 2007 and the creation of the App Store in 2008. After the rise in popularity of the smartphone and mobile app development, businesses started to shift from browser-based software to mobile platforms. There are multiple reasons that any company would want to reach out in the mobile environment, including attracting new customers, creating a better experience, expanding their brand, being more accessible, and overall growth. Developers started to build new platforms that would make it easy for not only their own company but anyone else to develop new applications at a faster pace. Today there are three different ways to create a mobile application: a native app, a hybrid app, and a web app. At DriveTime, we spent time researching and developing possible options for how we could make a mobile application to expand our user involvement. Our conclusion was to use a hybrid application that would incorporate our already existing web app and relaunch it as a native app. I took over this project for DriveTime and planned to implement two new features for their mobile application. Using Apache Cordova, I dived into the Software Development Life Cycle to create and deploy a Rate and Review feature and Push Notification functionality. In the end, I was only able to implement the Rate and Review feature due to some unexpected delays in development. I assumed all roles of a standard Agile development team to understand all of the different aspects that go into planning, creating, and publishing software.
ContributorsAnderson, Jacob Scott (Author) / Balasooriya, Janaka (Thesis director) / Irwin, Don (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2019-05
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 not use some of the infrared sensors or the ultrasonic

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.
ContributorsWelfert, Monica Michelle (Co-author) / Nguyen, Van (Co-author) / Chen, Yinong (Thesis director) / Nakamura, Mutsumi (Committee member) / Computer Science and Engineering Program (Contributor, Contributor) / Barrett, The Honors College (Contributor)
Created2019-12
Description
Multi-view learning, a subfield of machine learning that aims to improve model performance by training on multiple views of the data, has been studied extensively in the past decades. It is typically applied in contexts where the input features naturally form multiple groups or views. An example of a naturally

Multi-view learning, a subfield of machine learning that aims to improve model performance by training on multiple views of the data, has been studied extensively in the past decades. It is typically applied in contexts where the input features naturally form multiple groups or views. An example of a naturally multi-view context is a data set of websites, where each website is described not only by the text on the page, but also by the text of hyperlinks pointing to the page. More recently, various studies have demonstrated the initial success of applying multi-view learning on single-view data with multiple artificially constructed views. However, there lacks a systematic study regarding the effectiveness of such artificially constructed views. To bridge this gap, this thesis begins by providing a high-level overview of multi-view learning with the co-training algorithm. Co-training is a classic semi-supervised learning algorithm that takes advantage of both labelled and unlabelled examples in the data set for training. Then, the thesis presents a web-based tool developed in Python allowing users to experiment with and compare the performance of multiple view construction approaches on various data sets. The supported view construction approaches in the web-based tool include subsampling, Optimal Feature Set Partitioning, and the genetic algorithm. Finally, the thesis presents an empirical comparison of the performance of these approaches, not only against one another, but also against traditional single-view models. The findings show that a simple subsampling approach combined with co-training often outperforms both the other view construction approaches, as well as traditional single-view methods.
ContributorsAksoy, Kaan (Author) / Maciejewski, Ross (Thesis director) / He, Jingrui (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2019-12
Description
Today, there is a gap between the effectiveness of learning online and learning in person. Online educational videos such as ones found on Youtube mimic more of a lecture style of learning, which is easy ignore without a teacher nearby to engage the viewer. Furthermore, there is a lack of

Today, there is a gap between the effectiveness of learning online and learning in person. Online educational videos such as ones found on Youtube mimic more of a lecture style of learning, which is easy ignore without a teacher nearby to engage the viewer. Furthermore, there is a lack of educational videos on the topic of Euclid’s Elements geometry proofs. This project remedies both accounts by offering a new approach on interactive online learning videos and exercises for the topic of Euclid’s Elements Book One, Propositions One and Two. This is accomplished by combining interactive videos, exercises, questions, and sketchpads into one online worksheet. The interactive videos are made using traditional methods of audio and visual elements, with an emphasis on having more dynamic visuals to engage with the viewer. The exercises are made using a program called Geogebra, and consist in having a question to solve, and diagram the use can manipulate to help solve the question. The questions consist in ensuring the viewer understands the material, as well as potential questions to gauge general understanding before and after using the worksheet. The sketchpads consist in stating the proposition being proved, and giving the user all the tools they need to construct or prove the Euclidean proposition in the online interactive environment offered by Geogebra. All of these components are then ordered into the worksheet to make an interactive online learning experience for the viewer. This way the viewer may both watch and actively use the material being presented to promote learning through engagement in a teacher-less environment.
ContributorsFischer, Quinn (Co-author, Co-author) / Roh, Kyeong Hah (Thesis director) / Zandieh, Michelle (Committee member) / Computer Science and Engineering Program (Contributor, Contributor) / School of Mathematical and Statistical Sciences (Contributor) / Barrett, The Honors College (Contributor)
Created2019-12
132101-Thumbnail Image.png
Description
Ad hoc wireless networks present several interesting problems, one of which is Medium Access Control (MAC). Medium Access Control is a fundamental problem deciding who get to transmit next. MAC protocols for ad hoc wireless networks must also be distributed, because the network is multi-hop. The 802.11 Wi-Fi protocol is

Ad hoc wireless networks present several interesting problems, one of which is Medium Access Control (MAC). Medium Access Control is a fundamental problem deciding who get to transmit next. MAC protocols for ad hoc wireless networks must also be distributed, because the network is multi-hop. The 802.11 Wi-Fi protocol is often used in ad hoc networking. An alternative protocol, REACT, uses the metaphor of an auction to compute airtime allocations for each node, then realizes those allocations by tuning the contention window parameter using a tuning protocol called SALT. 802.11 is inherently unfair due to how it returns the contention window to its minimum size after successfully transmitting, while REACT’s distributed auction nature allows nodes to negotiate an allocation where all nodes get a fair portion of the airtime. A common application in the network is audio streaming. Audio streams are dependent on having good Quality of Service (QoS) metrics, such as delay or jitter, due to their real-time nature.

Experiments were conducted to determine the performance of REACT/SALT compared to 802.11 in a streaming audio application on a physical wireless testbed, w-iLab.t. Four experiments were designed, using four different wireless node topologies, and QoS metrics were collected using Qosium. REACT performs better in these these topologies, when the mean value is calculated across each run. For the butterfly and star topology, the variance was higher for REACT even though the mean was lower. In the hidden terminal and exposed node topology, the performance of REACT was much better than 802.11 and converged more tightly, but had drops in quality occasionally.
ContributorsKulenkamp, Daniel (Author) / Syrotiuk, Violet R. (Thesis director) / Colbourn, Charles J. (Committee member) / Computer Science and Engineering Program (Contributor, Contributor) / Barrett, The Honors College (Contributor)
Created2019-12
132117-Thumbnail Image.png
Description
91% of smartphone and tablet users experience a problem with their device screen being oriented the wrong way during use [11]. In [11], the authors proposed iRotate, a previous solution which uses computer vision to solve the orientation problem. We propose iLieDown, an improved method of automatically rotating smartphones, tablets,

91% of smartphone and tablet users experience a problem with their device screen being oriented the wrong way during use [11]. In [11], the authors proposed iRotate, a previous solution which uses computer vision to solve the orientation problem. We propose iLieDown, an improved method of automatically rotating smartphones, tablets, and other device displays. This paper introduces a new algorithm to correctly orient the display relative to the user’s face using a convolutional neural network (CNN). The CNN model is trained to predict the rotation of faces in various environments through data augmentation, uses a confidence threshold, and analyzes multiple images to be accurate and robust. iLieDown is battery and CPU efficient, causes no noticeable lag to the user during use, and is 6x more accurate than iRotate.
ContributorsTallman, Riley Paul (Author) / Yang, Yezhou (Thesis director) / Fang, Zhiyuan (Committee member) / Computer Science and Engineering Program (Contributor, Contributor) / Barrett, The Honors College (Contributor)
Created2019-12
132211-Thumbnail Image.png
Description
As the Internet of Things continues to expand, not only must our computing power grow
alongside it, our very approach must evolve. While the recent trend has been to centralize our
computing resources in the cloud, it now looks beneficial to push more computing power
towards the “edge” with so called edge computing,

As the Internet of Things continues to expand, not only must our computing power grow
alongside it, our very approach must evolve. While the recent trend has been to centralize our
computing resources in the cloud, it now looks beneficial to push more computing power
towards the “edge” with so called edge computing, reducing the immense strain on cloud
servers and the latency experienced by IoT devices. A new computing paradigm also brings
new opportunities for innovation, and one such innovation could be the use of FPGAs as edge
servers. In this research project, I learn the design flow for developing OpenCL kernels and
custom FPGA BSPs. Using these tools, I investigate the viability of using FPGAs as standalone
edge computing devices. Concluding that—although the technology is a great fit—the current
necessity of dynamically reprogrammable FPGAs to be closely coupled with a host CPU is
holding them back from this purpose. I propose a modification to the architecture of the Intel
Arria 10 GX that would allow it to be decoupled from its host CPU, allowing it to truly serve as a
viable edge computing solution.
ContributorsBarth, Brandon Albert (Author) / Ren, Fengbo (Thesis director) / Vrudhula, Sarma (Committee member) / Computer Science and Engineering Program (Contributor, Contributor) / Barrett, The Honors College (Contributor)
Created2019-05
132259-Thumbnail Image.png
Description
There are two main motivations for conducting this analysis. The first motivation is to understand the Social Credit System (SCS) itself: what it is, why it’s being developed, and what implications it may have for China and the rest of the world. The Social Credit System is a novel idea—it’s

There are two main motivations for conducting this analysis. The first motivation is to understand the Social Credit System (SCS) itself: what it is, why it’s being developed, and what implications it may have for China and the rest of the world. The Social Credit System is a novel idea—it’s the first ever use of AI and machine learning technology by a government for the purposes of social engineering. The long-term consequences of this technology will have a monumental impact on the Chinese peoples’ well-being. Potential implications of the system range from impacts on privacy and activism to whether other countries are inspired to develop a similar technology. There are also many different implementations for this system, each with its own outcome. This system is a consequence of the increasing capabilities of technology and an experimental approach influenced heavily by China’s culture and history, which leads to the second motivation.
Confucianism’s historical influence on China’s culture has made the Social Credit System seem like a good solution to many of China’s major societal problems. As such, the second motivation is to evaluate the impact Confucianism has on the development of the system; this involves understanding what Confucianism is, identifying parallels between it and the SCS, and analyzing how it may affect the Chinese people reaction to a full-fledged SCS. Understanding Confucianism may also illuminate why the government believes this is a good idea, what direction it may want to take this, and what boundaries, if any, the Chinese citizens have. We chose to analyze the SCS from a Confucian perspective because it has played a large role in influencing Chinese culture and history for over 2000 years. The Chinese people have been especially drawn to it in recent years due to increasing corruption, increasing inequality, decreasing trust, and increased social instability.
Although Confucianism may have a significant influence on the development of the SCS, there are also other influences in the mix. One of these influences is China’s AI competition with the US; relaxing privacy protections has given China an enormous amount of data to feed its AI. This system is also another avenue for China to develop their algorithms. There are also the motivations of the Communist party of China. These motivations include market reform, governmental reform, authoritarian interests and bureaucratic interests.
ContributorsRavi, Markanday (Author) / Allenby, Braden (Thesis director) / Kubiak, Jeffrey (Committee member) / Watts College of Public Service & Community Solut (Contributor) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2019-05