Matching Items (537)
Filtering by

Clear all filters

131631-Thumbnail Image.png
Description
This Barrett thesis seeks to analyze software design patterns’ effects on a software system. To achieve this, the author specified a game environment that lets users write their own artificial intelligence (AI) algorithms for simulation in the environment. Afterwards, the author designed an architecture implementing the game system and designed

This Barrett thesis seeks to analyze software design patterns’ effects on a software system. To achieve this, the author specified a game environment that lets users write their own artificial intelligence (AI) algorithms for simulation in the environment. Afterwards, the author designed an architecture implementing the game system and designed components implementing the architecture. In software design, engineers use design patterns to develop components since software patterns generally apply to object-to-object interactions; architecture patterns apply to component-to-component interactions, and while they greatly influence software design, they are out of this project’s scope. To design the objects comprising this thesis system's event-driven model-view-controller (MVC) architecture, the author used the Adapter pattern to interface with other libraries, the Publisher-Subscriber pattern to pass information between objects, the Singleton pattern to enforce the existence of single state objects, the Dependency Injection pattern to build generic and composable functions, the Observer pattern to directly alert objects of observed objects’ changes, the Factory pattern to abstract object initialization, the Monad pattern to express complex computations without explicit branch control logic, and the Facade pattern to unite the game objects’ disparate interfaces into a single interface for AI developers. The implementation, integration, and synthesis of these pre-existing design patterns is the primary contribution of this project. After designing the software system, the author implemented the design using the TypeScript programming language, the Babel transpiler, the Webpack code bundler, and the Babylon.js graphics library. The author then performed a static evaluation on the implemented game system files by describing the overall dependency hierarchy and measuring each file’s lines of code, maintainability index, cyclomatic complexity, and Halstead difficulty score. Furthermore, the author compared these measurements with those collected from the Babylon, Phaser, and Lodash JavaScript libraries. The goals for reporting these measurements were to help show the game’s design enabling the system’s maintainability, usability, and expandability quality attributes and underscore software development as a creative and artistic discipline grounded in computational science. This thesis highlights the need for further research including developing methods with tools for evaluating behavioral aspects of design patterns relative to their quality attributes.
ContributorsDuke, Thomas Carlin (Author) / Sarjoughian, Hessam (Thesis director) / Kobayashi, Yoshihiro (Committee member) / Computer Science and Engineering Program (Contributor, Contributor) / Barrett, The Honors College (Contributor)
Created2020-05
131662-Thumbnail Image.png
Description
The purpose of this thesis is to accurately simulate the surface brightness in various spectral emission lines of the HH 901 jets in the Mystic Mountain Formation of the Carina Nebula. To accomplish this goal, we gathered relevant spectral emission line data for [Fe II] 12660 Å, Hα 6563 Å,

The purpose of this thesis is to accurately simulate the surface brightness in various spectral emission lines of the HH 901 jets in the Mystic Mountain Formation of the Carina Nebula. To accomplish this goal, we gathered relevant spectral emission line data for [Fe II] 12660 Å, Hα 6563 Å, and [S II] 6720 Å to compare with Hubble Space Telescope observations of the HH 901 jets presented in Reiter et al. (2016). We derived the emissivities for these lines from the spectral synthesis code Cloudy by Ferland et al. (2017). In addition, we used WENO simulations of density, temperature, and radiative cooling to model the jet. We found that the computed surface brightness values agreed with most of the observational surface brightness values. Thus, the 3D cylindrically symmetric simulations of surface brightness using the WENO code and Cloudy spectral emission models are accurate for jets like HH 901. After detailing these agreements, we discuss the next steps for the project, like adding an external ambient wind and performing the simulations in full 3D.
ContributorsMohan, Arun (Author) / Gardner, Carl (Thesis director) / Jones, Jeremiah (Committee member) / Computer Science and Engineering Program (Contributor) / School of Mathematical and Statistical Sciences (Contributor) / Barrett, The Honors College (Contributor)
Created2020-05
131857-Thumbnail Image.png
Description
Appointment scheduling in health care systems is a well-established domain, however, the top commercial services neglect scheduling analytics. This project explores the benefit of utilizing data analysis to equip health care offices with insights on how to improve their existing schedules. The insights are generated by comparing patients’ preferred appointment

Appointment scheduling in health care systems is a well-established domain, however, the top commercial services neglect scheduling analytics. This project explores the benefit of utilizing data analysis to equip health care offices with insights on how to improve their existing schedules. The insights are generated by comparing patients’ preferred appointment times with the current schedule coverage and calculating utilization of past appointments. While untested in the field, the project yielded promising results using generated sample data as a proof of concept for the benefits of using data analytics to remove deficiencies in a health care office’s schedule.
ContributorsBowman, Jedde James (Author) / Chen, Yinong (Thesis director) / Balasooriya, Janaka (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2020-05
131863-Thumbnail Image.png
Description
Quantum computers provide a promising future, where computationally difficult
problems can be executed exponentially faster than the current classical computers we have in use today. While there is tremendous research and development in the creation of quantum computers, there is a fundamental challenge that exists in the quantum world. Due to

Quantum computers provide a promising future, where computationally difficult
problems can be executed exponentially faster than the current classical computers we have in use today. While there is tremendous research and development in the creation of quantum computers, there is a fundamental challenge that exists in the quantum world. Due to the fragility of the quantum world, error correction methods have originated since 1995 to tackle the giant problem. Since the birth of the idea that these powerful computers can crunch and process numbers beyond the limit of the current computers, there exist several mathematical error correcting codes that could potentially give the required stability in the fragile and fault tolerant quantum world. While there has been a multitude of possible solutions, there is no one single error correcting code that is the key to solving the problem. Almost every solution presented has shared with it a limiting factor or an issue that prevents it from becoming the breakthrough that is desperately needed.

This paper gives an introductory knowledge of what is the quantum world and why there is a need for error correcting topologies. Finally, it introduces one recent topology that could be added to the list of possible solutions to this central problem. Rather than focusing on the mathematical frameworks, the paper introduces the main concepts so that most readers even outside the major field of computer science can understand what the main problem is and how this topology attempts to solve it.
ContributorsAhmed, Umer (Author) / Colbourn, Charles (Thesis director) / Zhao, Ming (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2020-05
131884-Thumbnail Image.png
Description
As automation research into penetration testing has developed, several methods have been proposed as suitable control mechanisms for use in pentesting frameworks. These include Markov Decision Processes (MDPs), partially observable Markov Decision Processes (POMDPs), and POMDPs utilizing reinforcement learning. Since much work has been done automating other aspects of the

As automation research into penetration testing has developed, several methods have been proposed as suitable control mechanisms for use in pentesting frameworks. These include Markov Decision Processes (MDPs), partially observable Markov Decision Processes (POMDPs), and POMDPs utilizing reinforcement learning. Since much work has been done automating other aspects of the pentesting process using exploit frameworks and scanning tools, this is the next focal point in this field. This paper shows a fully-integrated solution comprised of a POMDP-based planning algorithm, the Nessus scanning utility, and MITRE's CALDERA pentesting platform. These are linked in order to create an autonomous AI attack platform with scanning, planning, and attack capabilities.
ContributorsDejarnett, Eric Andrew (Author) / Huang, Dijiang (Thesis director) / Chowdhary, Ankur (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2020-05
131892-Thumbnail Image.png
Description
Vulnerability testing/evaluation is a regular task for cyber-security groups. Conducting tasks like this can take up a great amount of time and may not be perfect. Automating these tasks helps speed up the rate at which experts can test systems. However, script based or static programs that run automatically often

Vulnerability testing/evaluation is a regular task for cyber-security groups. Conducting tasks like this can take up a great amount of time and may not be perfect. Automating these tasks helps speed up the rate at which experts can test systems. However, script based or static programs that run automatically often do not have the versatility required to properly replace human analysis. With the advances in Artificial Intelligence and Machine Learning, a utility can be developed that would allow for the creation of penetration testing plans rather than manually testing vulnerabilities. A variety of existing cyber-security programs and utilities provide an API layer that commonly interacts with the Python environment. With the commonality of AI/ML tools within the Python ecosystem, a plugin like interface can be developed to feed any AI/ML program real world data and receive a response/report in return. Using Python 2.7+, Python 3.6+, pymdptoolbox, and POMDPy, a program was developed that ingests real-world data from scanning tools and returned a suggested course of action to be used by analysts in order to perform a practical validation of the algorithms in a real world setting. This program was able to successfully navigate a test network and produce results that were expected to be found on the target machines without needing human analysis of the network. Using POMDP based systems for more cyber-security type tasks may be a valuable use case for future developments and help ease the burden faced in a rapid paced world.
ContributorsBelanger, Connor Lawrence (Author) / Huang, Dijiang (Thesis director) / Chowdhary, Ankur (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2020-05
131899-Thumbnail Image.png
Description
Numerous studies have demonstrated that sexual harassment of women is a pervasive issue in male-dominated fields. This is a particular concern in STEM (Science, Technology, Engineering, and Mathematics) educational and professional climates. Because victims of sexual harassment can experience negative effects after the incidents, many women end up leaving the

Numerous studies have demonstrated that sexual harassment of women is a pervasive issue in male-dominated fields. This is a particular concern in STEM (Science, Technology, Engineering, and Mathematics) educational and professional climates. Because victims of sexual harassment can experience negative effects after the incidents, many women end up leaving the field. For my thesis project, I set out to create a curriculum that would teach engineering students about sexual harassment, gender bias, and their effects. In order to do this, engineering students (N = 10) participated in focus groups and individual interviews, where they were asked about their perceptions and responses to potential sexual harassment situations. Results of the focus groups revealed that the main topics that need to be addressed among engineering students are inclusion of all people, especially women; the definition and examples of sexual harassment; how to pick up on social cues; and bystander intervention techniques. A curriculum was then created that centered around those topics in a way that does not aim to make students uncomfortable, but instead aims to make them more conscious of their words and actions, as well as more empathetic to others’ viewpoints and experiences. The presentation ends with five scenarios based on the situations students brought up in the focus groups, in order for the students to practice what they’ve learned in a controlled setting before going out into the real world. I hope that by integrating this curriculum into first-year engineering classes, students will have more confidence to intervene if they see or hear something that could classify as sexual harassment. Ultimately, reductions in sexual harassment in educational settings can facilitate the academic and professional success of all students.
ContributorsKuhn, Kristine Evelyn (Author) / Davis, Dr. Kelly (Thesis director) / Frick, Kimberly (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2020-05
131781-Thumbnail Image.png
Description
In the modern world with the ever growing importance of technology, the challenge of information security is of increasing importance. Cryptographic algorithms used to encode information stored and transmitted over the internet must be constantly improving as methodology and technology for cyber attacks improve. RSA and Elliptic Curve cryptosystems such

In the modern world with the ever growing importance of technology, the challenge of information security is of increasing importance. Cryptographic algorithms used to encode information stored and transmitted over the internet must be constantly improving as methodology and technology for cyber attacks improve. RSA and Elliptic Curve cryptosystems such as El Gamal or Diffie-Hellman key exchange are often used as secure asymmetric cryptographic algorithms. However, quantum computing threatens the security of these algorithms. A relatively new algorithm that is based on isogenies between elliptic curves has been proposed in response to this threat. The new algorithm is thought to be quantum resistant as it uses isogeny walks instead of point addition to generate a shared secret key. In this paper we will analyze this algorithm in an attempt to understand the theory behind it. A main goal is to create isogeny graphs to visualize degree 2 and 3 isogeny walks that can be taken between supersingular elliptic curves over small fields to get a better understanding of the workings and security of the algorithm.
ContributorsLoucks, Sara J (Author) / Jones, John (Thesis director) / Bremner, Andrew (Committee member) / Computer Science and Engineering Program (Contributor) / School of Film, Dance and Theatre (Contributor) / School of Mathematical and Statistical Sciences (Contributor) / Barrett, The Honors College (Contributor)
Created2020-05
131791-Thumbnail Image.png
Description
My thesis is an exploration on the principles of algorithmic trading. I was introduced to the world of algorithmic trading in the Summer of 2018 when I got an internship at a startup trading firm called Helios Machine Intelligence. At HeliosMI, my job was to model algorithms for their in-house

My thesis is an exploration on the principles of algorithmic trading. I was introduced to the world of algorithmic trading in the Summer of 2018 when I got an internship at a startup trading firm called Helios Machine Intelligence. At HeliosMI, my job was to model algorithms for their in-house developed platform (in Java and C#). I learned how to model several different strategies, but I didn’t understand how, or more importantly, why these strategies worked. In the Spring of 2019 when I first began planning my thesis, I initially planned on recreating and optimizing HeliosMI’s trading platform. It was after reading a few books over the summer, namely; The Man Who Solved the Market by Gregory Zuckerman, Algorithmic Trading by Ernie Chan, and A Random Walk Down Wall Street by Burton Gordon Malkiel, that I realized that I was much more interested in learning the fundamentals of algorithmic trading, so I decided to make this the new focus of my thesis. At HeliosMI, we tested strategies against the historical data of stocks using an application called QuantConnect. This application is easy-to-use, cheap (even offering a free tier) and provides plenty of documentation with an active community forum, making it the obvious choice as the platform for my thesis research. Throughout my research I focused on exploring high-frequency trading algorithms, mainly because these are the types of algorithms that are employed at Wall Street hedge funds, and also the type I worked on at HeliosMI. I developed three distinct algorithms throughout my research; a momentum based strategy, a mean reversion based strategy, and a preferred time of day based strategy. In my thesis report, I go in depth on each of these strategies, as well as discuss the history of algorithmic trading, and explore some future research aspirations.
ContributorsMaheshwari, Nicholas Leo (Author) / Balasooriya, Janaka (Thesis director) / Hoffman, David (Committee member) / Dean, W.P. Carey School of Business (Contributor) / Computer Science and Engineering Program (Contributor, Contributor) / Barrett, The Honors College (Contributor)
Created2020-05
131675-Thumbnail Image.png
Description
The Migration Framework and Simulator is a combination of C# framework / library and Unity simulation tool used for studying basic migration patterns across the US. Users interact with the
Unity simulation tool by implementing political policies or adjusting values via sliders, buttons, etc., which will alter the values in the

The Migration Framework and Simulator is a combination of C# framework / library and Unity simulation tool used for studying basic migration patterns across the US. Users interact with the
Unity simulation tool by implementing political policies or adjusting values via sliders, buttons, etc., which will alter the values in the framework. The user can then use the simulation interface to view different estimated population values for categories of people, such as regional differences, education levels, and more.
ContributorsLarsen, Joseph (Co-author) / Spangler, Braydon (Co-author) / Kobayashi, Yoshihiro (Thesis director) / Nelson, Brian (Committee member) / Computing and Informatics Program (Contributor) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2020-05