Matching Items (36)
133901-Thumbnail Image.png
Description
This thesis dives into the world of artificial intelligence by exploring the functionality of a single layer artificial neural network through a simple housing price classification example while simultaneously considering its impact from a data management perspective on both the software and hardware level. To begin this study, the universally

This thesis dives into the world of artificial intelligence by exploring the functionality of a single layer artificial neural network through a simple housing price classification example while simultaneously considering its impact from a data management perspective on both the software and hardware level. To begin this study, the universally accepted model of an artificial neuron is broken down into its key components and then analyzed for functionality by relating back to its biological counterpart. The role of a neuron is then described in the context of a neural network, with equal emphasis placed on how it individually undergoes training and then for an entire network. Using the technique of supervised learning, the neural network is trained with three main factors for housing price classification, including its total number of rooms, bathrooms, and square footage. Once trained with most of the generated data set, it is tested for accuracy by introducing the remainder of the data-set and observing how closely its computed output for each set of inputs compares to the target value. From a programming perspective, the artificial neuron is implemented in C so that it would be more closely tied to the operating system and therefore make the collected profiler data more precise during the program's execution. The program is designed to break down each stage of the neuron's training process into distinct functions. In addition to utilizing more functional code, the struct data type is used as the underlying data structure for this project to not only represent the neuron but for implementing the neuron's training and test data. Once fully trained, the neuron's test results are then graphed to visually depict how well the neuron learned from its sample training set. Finally, the profiler data is analyzed to describe how the program operated from a data management perspective on the software and hardware level.
ContributorsRichards, Nicholas Giovanni (Author) / Miller, Phillip (Thesis director) / Meuth, Ryan (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2018-05
Description
This project's goal was to design a Central Processing Unit (CPU) incorporating a fairly large instruction set and a multistage pipeline design with the potential to be used in a multi-core system. The CPU was coded and synthesized with Verilog. This was accomplished by building on the CPU design from

This project's goal was to design a Central Processing Unit (CPU) incorporating a fairly large instruction set and a multistage pipeline design with the potential to be used in a multi-core system. The CPU was coded and synthesized with Verilog. This was accomplished by building on the CPU design from fundamentals learned in CSE320 and increasing the instruction set to resemble a proper Reduced Instruction Set Computing (RISC) CPU system. A multistage pipeline was incorporated to the CPU to increase instruction throughput, or instructions per second. A major area of focus was on creating a multi-core design. The design used is master-slave in nature. The master core instructs the sub-cores where they should begin execution, the idea being that the operating system or kernel will be executing on the master core and the "user space" programs will be run on the sub-cores. The rationale behind this is that the system would specialize in running several small functions on all of its many supported cores. The system supports around 45 instructions, which include several types of jumps and branches (for changing the program counter based on conditions), arithmetic operations (addition, subtraction, or, and, etc.), and system calls (for controlling the core execution). The system has a very low Clocks per Instruction ratio (CPI), but to achieve this the second stage contains several modules and would most likely be a bottleneck for performance if implemented. The CPU is not perfect and contains a few errors and oversights, but the system as a whole functions as intended.
ContributorsKolden, Brian Andrew (Author) / Burger, Kevin (Thesis director) / Meuth, Ryan (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2016-05
136637-Thumbnail Image.png
Description
The purpose of this project was to construct and write code for a vehicle to take advantage of the benefits of combining stepper motors with mecanum wheels. This process involved building the physical vehicle, designing a custom PCB for the vehicle, writing code for the onboard microprocessor, and implementing motor

The purpose of this project was to construct and write code for a vehicle to take advantage of the benefits of combining stepper motors with mecanum wheels. This process involved building the physical vehicle, designing a custom PCB for the vehicle, writing code for the onboard microprocessor, and implementing motor control algorithms.
ContributorsDavis, Severin Jan (Author) / Burger, Kevin (Thesis director) / Vannoni, Greg (Committee member) / Barrett, The Honors College (Contributor) / School of International Letters and Cultures (Contributor) / Computer Science and Engineering Program (Contributor)
Created2015-05
136728-Thumbnail Image.png
Description
This project was centered around designing a processor model (using the C programming language) based on the Coldfire computer architecture that will run on third party software known as Open Virtual Platforms. The end goal is to have a fully functional processor that can run Coldfire instructions and utilize peripheral

This project was centered around designing a processor model (using the C programming language) based on the Coldfire computer architecture that will run on third party software known as Open Virtual Platforms. The end goal is to have a fully functional processor that can run Coldfire instructions and utilize peripheral devices in the same way as the hardware used in the embedded systems lab at ASU. This project would cut down the substantial amount of time students spend commuting to the lab. Having the processor directly at their disposal would also encourage them to spend more time outside of class learning the hardware and familiarizing themselves with development on an embedded micro-controller. The model will be accurate, fast and reliable. These aspects will be achieved through rigorous unit testing and use of the OVP platform which provides instruction accurate simulations at hundreds of MIPS (million instructions per second) for the specified model. The end product was able to accurately simulate a subset of the Coldfire instructions at very high rates.
ContributorsDunning, David Connor (Author) / Burger, Kevin (Thesis director) / Meuth, Ryan (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2014-12
136364-Thumbnail Image.png
Description
The purpose of this project was to program a Raspberry Pi to be able to play music from both local storage on the Pi and from internet radio stations such as Pandora. The Pi also needs to be able to play various types of file formats, such as mp3 and

The purpose of this project was to program a Raspberry Pi to be able to play music from both local storage on the Pi and from internet radio stations such as Pandora. The Pi also needs to be able to play various types of file formats, such as mp3 and FLAC. Finally, the project is also to be driven by a mobile app running on a smartphone or tablet. To achieve this, a client server design was employed where the Raspberry Pi acts as the server and the mobile app is the client. The server functionality was achieved using a Python script that listens on a socket and calls various executables that handle the different formats of music being played. The client functionality was achieved by programming an Android app in Java that sends encoded commands to the server, which the server decodes and begins playing the music that command dictates. The designs for both the client and server are easily extensible and allow for any future modifications to the project to be easily made.
ContributorsStorto, Michael Olson (Author) / Burger, Kevin (Thesis director) / Meuth, Ryan (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2015-05
133194-Thumbnail Image.png
Description
Even in the largest public university in the country, computer related degrees such as Computer Science, Computer Systems Engineering and Software Engineering have low enrollment rates and high dropout rates. This is interesting because the careers that require these degrees are marketed as the highest paying and most powerful. The

Even in the largest public university in the country, computer related degrees such as Computer Science, Computer Systems Engineering and Software Engineering have low enrollment rates and high dropout rates. This is interesting because the careers that require these degrees are marketed as the highest paying and most powerful. The goal of this project was to find out what the students of Arizona State University (ASU) thought about these majors and why they did or did not pick them. A total of 206 students were surveyed from a variety of sources including upper level classes, lower level classes and Barrett, the Honors College. Survey questions asked why the students picked their current major, if they had a previous major and why did they switch, and if the students had considered one of the three computer related degrees. Almost all questions were open ended, meaning the students did not have multiple choice answers and instead could write as short or as long of a response as needed. Responses were grouped based on a set of initial hypotheses and any emerging trends. These groups were displayed in several different bar graphs broken down by gender, grade level and category of student (stayed in a computer related degree, left one, joined one or picked a non-computer related degree). Trends included students of all grade levels picking their major because they were passionate or interested in the subject. This may suggest that college students are set in their path and will not switch majors easily. Students also reported seeing computer related degrees as too difficult and intimidating. However, given the low (when compared to all of ASU) number of students surveyed, the conclusions and trends given cannot be representative of ASU as a whole. Rather, they are just representative of this sample population. Further work on this study, if time permitted, would be to try to survey more students and question some of the trends established to find more specific answers.
ContributorsMeza, Edward L (Author) / Meuth, Ryan (Thesis director) / Miller, Phillip (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2018-12
137216-Thumbnail Image.png
Description
Image stabilization is a highly desired feature for many systems involving cameras. A camera stabilizer effectively prevents or compensates for unwanted camera movement to provide this stabilization. The use of stabilized camera technology on board aerial vehicles is one such application where the stabilization can greatly improve the overall capability

Image stabilization is a highly desired feature for many systems involving cameras. A camera stabilizer effectively prevents or compensates for unwanted camera movement to provide this stabilization. The use of stabilized camera technology on board aerial vehicles is one such application where the stabilization can greatly improve the overall capability of the system. The requirements for such a system include a continuous control algorithm and hardware to determine and adjust the camera orientation. The topic of developing an aerial camera control and electronic stabilization system is thus explored in the contents of this paper.
ContributorsJauregui, Joseph (Co-author) / Brown, Steven (Co-author) / Burger, Kevin (Thesis director) / Hansen, Mark (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2014-05
137414-Thumbnail Image.png
Description
The purpose of this project was to create a modular embedded systems platform that would provide a hands-on lab experience for students learning about embedded systems protocols. The system would be designed to be modular, expandable, and productizable. Its modularity would eliminate errors in the design and make the entire

The purpose of this project was to create a modular embedded systems platform that would provide a hands-on lab experience for students learning about embedded systems protocols. The system would be designed to be modular, expandable, and productizable. Its modularity would eliminate errors in the design and make the entire system more robust. It would also be expandable, which means additional project boards could be created in the future without requiring a complete redesign of the system. And finally, productizing the entire system would allow it to be sold to other universities who may have a similar program that would benefit from a system such as the OCTOPUS.
ContributorsDavis, Mareike (Author) / Burger, Kevin (Thesis director) / Vannoni, Greg (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor) / School of International Letters and Cultures (Contributor)
Created2013-12
137181-Thumbnail Image.png
Description
Web Solutions for Scholastic Tracking is a project which aims to develop a website in order to help the scholarship committee of an Arizona State University sorority save time. Details and flaws of the former approaches to scholastic tracking for the sorority \u2014 such as scattered data, low visibility, and

Web Solutions for Scholastic Tracking is a project which aims to develop a website in order to help the scholarship committee of an Arizona State University sorority save time. Details and flaws of the former approaches to scholastic tracking for the sorority \u2014 such as scattered data, low visibility, and the need for manual calculations \u2014 are provided. Based on these flaws and the requirements of the scholarship committee, a new approach was designed and developed in order to track scholastics online in a more efficient manner. A study hours tracking website was developed utilizing Apache, PHP, and MySQL in order to create an efficient approach to tracking scholastics. The developed website allows sorority members to view their required weekly study hours and submit hours for approval online to specific proctors. The scholarship committee members can then approve or reject the submitted hours that they proctor. This approach has improved the visibility of the required and remaining weekly study hours for each sorority member while also decreasing the time it takes for proctors to approve hours. These improvements serve as examples of the various ways that this project has met its initial goal of increasing the efficiency of the sorority's scholarship program. Additional results as well as the requirements, development approach, technologies used, and testing methods are described in detail throughout this document.
ContributorsKral, Ryan David (Author) / Balasooriya, Janaka (Thesis director) / Burger, Kevin (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2014-05
Description
The Coffee Hutch project is derived from the field of Computer Science and consists of a website, a database, and a mobile application for Android devices. This three-tiered scheme is designed to support a point-of-sale payment system to be integrated with a standalone product dispensing machine. The website contains landing

The Coffee Hutch project is derived from the field of Computer Science and consists of a website, a database, and a mobile application for Android devices. This three-tiered scheme is designed to support a point-of-sale payment system to be integrated with a standalone product dispensing machine. The website contains landing pages which provide navigation and functional capabilities for users. The site also features a variety of PHP web services which communicate with the database using SQL commands. The application, programmed in the Java language, makes use of these services in a simple, utilitarian design aimed at modification of user data stored in the database. This database, developed with MySQL and managed with the phpMyAdmin application, contains limited information in order to maximize speed of read and write accesses from the website and Android app. Together, these three components comprise an effective payment management system model with mobile capabilities. All of the components of this project were built at no cost. The website hosting service is free and the third-party services required (such as Paypal payment services) are simulated. These simulations allowed me to demonstrate the functionality of the three-tiered product without the necessity for monetary supplication. This thesis features every aspect of the development and testing of The Coffee Hutch software components. Requirements for each function of the software are specified in one section, and they are aligned with various pieces of the code in the source documentation. Test cases which address each requirement are outlined in another section of the thesis.
ContributorsHutchison, Caleb Ryan (Author) / Burger, Kevin (Thesis director) / Zhao, Ming (Committee member) / Computer Science and Engineering Program (Contributor) / Barrett, The Honors College (Contributor)
Created2016-12