Open Access. Powered by Scholars. Published by Universities.®

Engineering Commons

Open Access. Powered by Scholars. Published by Universities.®

Computer Science and Software Engineering

Theses/Dissertations

Articles 1 - 30 of 95

Full-Text Articles in Engineering

Docai, Riley Badnin, Justin Brunings Dec 2023

Docai, Riley Badnin, Justin Brunings

Computer Science and Software Engineering

DocAI presents a user-friendly platform for recording, transcribing, summarizing, and classifying doctor-patient consultations. The application utilizes AssemblyAI for conversational transcription, and the user interface allows users to either live-record consultations or upload an existing MP3 file. The classification process, powered by 'ml-classify-text,' organizes the consultation transcription into SOAP (Subjective, Objective, Assessment, and Plan) format – a widely used method of documentation for healthcare providers. The result of this development is a simple yet effective interface that effectively plays the role of a medical scribe. However, the application is still facing challenges of inconsistent summarization from the AssemblyAI backend. Future work …


An Interactive Ecosystem Simulator, Tong Zhou Jun 2023

An Interactive Ecosystem Simulator, Tong Zhou

Computer Science and Software Engineering

This project is about an ecosystem simulator game that allows players to manipulate the population size of the selected species and observe these species interact with each other. It focuses on reflecting the consequences of human intervention in the ecosystem and the difficulty of maintaining a balanced ecosystem. I’ve been astonished by how human intervention could easily crash the ecosystem and how difficult it could be to make up for our faults. And many people still hold the thought that we control the world and could determine the death or live of all other creatures as we like. However, the …


Graphite: Open Source 2d Graphics Editor, Christopher H. Mendoza, Oliver A. Dolan Jun 2023

Graphite: Open Source 2d Graphics Editor, Christopher H. Mendoza, Oliver A. Dolan

Computer Science and Software Engineering

Graphite is an open source 2D graphics editor aiming to provide a useful alternative to the Adobe product suite while integrating modern ideas from research and industry, including a node-based procedural approach that makes the design process fully non-destructive. Tools from the VFX and gamedev industry like Nuke, Houdini, and Substance Designer have proven the power and flexibility of node-based systems, but they are each lacking in their user experience because of the deep level of complexity that is not abstracted into simpler concepts for users (Adobe Systems, SideFX, The Foundry Visionmongers Ltd., n.d.). Graphite puts the node-based core into …


Sam's Story, Anna Michelle Reid, Jennifer Vazquez Dec 2022

Sam's Story, Anna Michelle Reid, Jennifer Vazquez

Computer Science and Software Engineering

We are exploring presenting mental health topics in video games through the eyes of an axolotl named Sam. Sam goes about his day to day life facing many difficult challenges regarding their mental health. This is an educational game to inform about different mental health symptoms and what they may look like.


Teaching Intro To Web Development With React, Rey Ortiz Jun 2022

Teaching Intro To Web Development With React, Rey Ortiz

Computer Science and Software Engineering

Throughout the years, the field of computer science has increasingly become in demand and it is projected that in the next decade, job prospects are expected to grow much faster than the average rate for all occupations. With the reliance of technology in our daily lives and technology always evolving, the need for professionals with backgrounds in computer Science has risen dramatically. One of the things that we as educators can do to bridge this gap is to introduce students to web development at the beginning of their college career to get more students interested in the field of computer …


Observation Of The Evolution Of Hide And Seek Ai, Anthony J. Catelani Jun 2021

Observation Of The Evolution Of Hide And Seek Ai, Anthony J. Catelani

Computer Science and Software Engineering

The purpose of this project is to observe the evolution of two artificial agents, a ‘Seeker’ and a ‘Hider’, as they play a simplified version of the game Hide and Seek. These agents will improve through machine learning, and will only be given an understanding of the rules of the game and the ability to navigate through the grid-like space where the game shall be played; they will not be taught or given any strategies, and will be made to learn from a clean slate. Of particular interest is observing the particular playstyle of hider and seeker intelligences as new …


Pomegranate: Procedural 3d Tree Creation Via User-Defined L-Systems, Jeremy Berchtold Mar 2021

Pomegranate: Procedural 3d Tree Creation Via User-Defined L-Systems, Jeremy Berchtold

Computer Science and Software Engineering

Pomegranate creates procedural 3D trees based on a user-specified template. The template supports randomness and allows users to generate an entire forest of unique trees from a single template. The output trees are a single closed mesh without intersecting geometry (with the exception of leaves). Additionally, the output contains a skeletal rig used for animating the trees. Pomegranate produces textured trees that can use either a realistic or stylized look, as well as supporting different mesh densities for games or film. Since this project uses a procedural workflow, artists can quickly create and make edits to their trees. This increase …


Gold Tree Solar Farm - Machine Learning To Predict Solar Power Generation, Jonathon T. Scott Jun 2019

Gold Tree Solar Farm - Machine Learning To Predict Solar Power Generation, Jonathon T. Scott

Computer Science and Software Engineering

Solar energy causes a strain on the electrical grid because of the uncontrollable nature of the factors that affect power generation. Utilities are often required to balance solar generation facilities to meet consumer demand, which often includes the costly process of activating/deactivating a fossil fuel facility. Therefore, there is considerable interest in increasing the accuracy and the granularity of solar power generation predictions in order to reduce the cost of grid management. This project aims to evaluate how sky imaging technology may contribute to the accuracy of those predictions.


Space Defense: Creating A 2d Game With 3d Assets Using Unity Game Engine, Jeevan Vase Mar 2019

Space Defense: Creating A 2d Game With 3d Assets Using Unity Game Engine, Jeevan Vase

Computer Science and Software Engineering

The goal of this senior project was to learn and use the skills necessary for one person to make a complete game. The 3D assets that were used were downloaded from the Unity Store. I used Unity Game Engine to create the logic for the game. This document explains the technologies that I used, design choices I made, feedback from player-testing, and work that I want to complete for the project in the future. The final game demo features three levels, a start screen, and a combat system that allows players to gain additional ships to help defend their planet.


Modern Yard Sale Application, Lauren Epling, Matthew Piasecki Mar 2019

Modern Yard Sale Application, Lauren Epling, Matthew Piasecki

Computer Science and Software Engineering

YardSail is a modern application that provides users a place to post and view local Yard Sales. There is an astounding need for a safe space where users can comfortably post their yard sale address and items for all locals to easily see (without needing to drive down a specific street to find out). Currently, there does not exist an application for users that accomplishes what we set out to accomplish. As a team, we truly believe YardSail could be a popular application that helps users sail through the experience of hosting or visiting a yard sale.


My Baseball Collection App, Nicolas A. Parra Mar 2019

My Baseball Collection App, Nicolas A. Parra

Computer Science and Software Engineering

My Baseball Collection is an iOS application that aims to simplify the management and expansion of physical baseball trading card collections. The app allows users to digitize their baseball card collection by uploading images of cards they possess, creating a wishlist of cards they are seeking, and viewing the collections and wishlists of other users. This project seeks to provide quality of life improvements to those within the baseball card trading community and to further facilitate communication and trading in an online world.


A Survey Of Virtual Network Architectures, Lenoy Avidan Dec 2018

A Survey Of Virtual Network Architectures, Lenoy Avidan

Computer Science and Software Engineering

With the storage needs of the world increasing, especially with the growth of cloud computing, data centers are being utilized more than ever. The increasing need of storage has led to more use of virtualization to help intra and inter data center communications. The virtualization of physical networks is used to help achieve this goal, but with the creation of Virtual Networks, systems must be designed to create, manage, and secure them. A Virtual Network Architecture is the system design for creating and maintaining virtual network components and the resulting networks they create. Different companies design different Virtual Network Architectures, …


Jasmint: Language To User-Friendly Ast With Emphasis On Translation, John E. Bradbury Jun 2018

Jasmint: Language To User-Friendly Ast With Emphasis On Translation, John E. Bradbury

Computer Science and Software Engineering

The goal of this project was to create a language (JASMINT) which would be easily transformable into other languages. With this, a library could be built which provides a rich set of functions, including typechecking, interpreting, and serialization, in order to make user modules easy to write. These modules are able to translate this AST into other languages and through the translation blocks can add new functionalities to JASMINT. The final state of the project at submission includes a library which handles all features except dynamic memory, transpilers (JasmintCxxTranspiler and JasmintPythonTranspiler) which handle most features except classes and dynamic memory, …


Bipartite Graph Packing Problems, Collin Christopher Wong Jun 2018

Bipartite Graph Packing Problems, Collin Christopher Wong

Computer Science and Software Engineering

The overarching problem of this project was trying to find the maximal number of disjoint subgraphs of a certain type we can pack into any graph. These disjoint graphs could be of any type in the original problem. However, they were limited to be T2 trees for my research (T2 trees are defined in section 2.1 of the paper). In addition, most of my work was focused on packing these T2 trees into constrained bipartite graphs (also defined in section 2.1 of the paper).

Even with these specific constraints applied to the overall problem, the project still …


Extension Of Cpe 454 Operating System, Joseph Nathaniel Arhar Jun 2018

Extension Of Cpe 454 Operating System, Joseph Nathaniel Arhar

Computer Science and Software Engineering

This project extended on the operating system I wrote in CPE 454 by adding additional features on top of the existing implementation. In order to implement them, I researched operating system design patterns and hardware details. I used wiki.osdev.org for most research, just like I did in CPE 454. The source code for the project is at https://github.com/josepharhar/jos.


Chrome Extension To Explore Modular Homepage, Griffin T. Cloonan, Landon E. Woollard, Nick A. Ponce Jun 2018

Chrome Extension To Explore Modular Homepage, Griffin T. Cloonan, Landon E. Woollard, Nick A. Ponce

Computer Science and Software Engineering

This was an exploratory project, intended to develop skills developing extension based web applications. We spent our time building a modular, customizable homepage extension for google chrome. The bulk of our work was focused towards structure and function, as a result, the project is not highly appealing visually. We worked with foreign concepts in a foreign environment in an attempt to learn new skills on the fly.


Delegation Application, Erik Matthew Phillips Jun 2018

Delegation Application, Erik Matthew Phillips

Computer Science and Software Engineering

Delegation is a cross-platform application to provide smart task distribution to users. In a team environment, the assignment of tasks can be tedious and difficult for management or for users needing to discover a starting place for where to begin with accomplishing tasks. Within a specific team, members possess individual skills within different areas of the team’s responsibilities and specialties, and certain members will be better suited to tackle specific tasks. This project provides a solution, consisting of a smart cross-platform application that allows for teams and individuals to quickly coordinate and delegate tasks assigned to them.


Forumsphere.Com, Nicholas Scott Gatehouse, Sam Robert Rastovich Jun 2018

Forumsphere.Com, Nicholas Scott Gatehouse, Sam Robert Rastovich

Computer Science and Software Engineering

We live in the Age of Information & Technology where social media has become an integral part of our society. Social media platforms such as Facebook help bring people and ideas together in one place. However, currently there is no centralized hub on the internet that is geared towards individual college campuses. Our goal is to create an environment that promotes structured and productive discussion between students, alumni, and staff. A platform like ours is needed to bring a campus closer if the community is willing and able to help one another.

There are other platforms that focus on social …


Brushless Direct Current Motor Control For Inspired Flight, Aidan James Mccoy Jun 2018

Brushless Direct Current Motor Control For Inspired Flight, Aidan James Mccoy

Computer Science and Software Engineering

Brushless direct current motors have become a very common part of many modern electronics. Although they are more expensive and less robust than conventional brushed direct current motors, they provide large advantages in control, power output, longevity as well as efficiency. To make these motors run, they need more than just power. Each motor needs a separate motor controller that is responsible for taking in a signal for what speed/torque to run the motor at, and then managing the current flow to the motor to keep it spinning while fitting within these boundaries. Brushless direct current motors have a set …


Generalized Featured Product Page, Andrew J. Pirondini Jun 2018

Generalized Featured Product Page, Andrew J. Pirondini

Computer Science and Software Engineering

The goal of my senior project was to generalize the process of creating featured product pages with iFixit. Featured product pages are pages with custom content describing an individual product such as text blurbs, images, and even some responsive components. These do not have a simple template like products you might see on Amazon but instead involve scrolling through a variable amount of content.

In order to generalize these, each part of the page was broken into discrete components that contain custom content. There are components for images, paragraph blurbs, lists, footers and more. These components are implemented with React …


Career Path Web Application, Annamarie Roger Jun 2018

Career Path Web Application, Annamarie Roger

Computer Science and Software Engineering

This web application provides a new approach to organizing career advice. It allows a prospective student to outline career priorities and receive suggestions drawing from a repository of reports from professionals in their respective fields. This gives the student access to advice from individuals who do not know the user personally and aims to remove the possible bias that may exist on that level. Furthermore, the system is periodically updated to include recent reports.


A Survey Of Security Attacks And Defenses In Vehicular Ad-Hoc Networks, Pierson Yieh Jun 2018

A Survey Of Security Attacks And Defenses In Vehicular Ad-Hoc Networks, Pierson Yieh

Computer Science and Software Engineering

No abstract provided.


Roborodentia Robot: Treadbot, Stephen C. Schmidt Jun 2018

Roborodentia Robot: Treadbot, Stephen C. Schmidt

Computer Science and Software Engineering

This document is a summary of my contest entry to the 2018 Cal Poly Roborodentia competition. It is meant to be a process overview and design outline of the mechanical, electrical, and software components of my robot.


Dynamic Routing And Network Monitoring For The Polywog Protocol, Ryan Lawrence, Josh Pfeffer Jun 2018

Dynamic Routing And Network Monitoring For The Polywog Protocol, Ryan Lawrence, Josh Pfeffer

Computer Science and Software Engineering

This document analyzes the implementation of dynamic routing for router nodes in a mesh network. It examines the algorithm used to populate both the minimum-distance and the routing tables. Furthermore, it describes the node configurations used for testing and applications for mesh networks.

Additionally, this document describes the implementation and testing of network monitoring in a mesh network. It discusses the steps used to forward active nodes in the network between router nodes, a gateway node, and a network monitor.

Lastly, this paper details our future plans for implementing additional features for a network monitor.


Wifi Gate Guard: A Captive Portal Implementation For Home Networks, Ben Blumenberg May 2018

Wifi Gate Guard: A Captive Portal Implementation For Home Networks, Ben Blumenberg

Computer Science and Software Engineering

WiFi Gate Guard aims to improve the user experience for authentication on home wireless networks, by alleviating some of the hardships causes by passwords and by offering a platform on which further security enhancements could be built. It accomplishes this by using captive portal technology, making it extremely easy for guests to authenticate without needing to ask for a password. Home network administrators can approve or deny access using a simple iOS app. WiFi Gate Guard is built to run on basic home routers, with minimal other hardware requirements. Once it’s up and running, passwords never need to be used …


Cru Android App, Dylan Sun Mar 2018

Cru Android App, Dylan Sun

Computer Science and Software Engineering

The Cru app is focused on connecting students and faculty to one of the many Cru ministries here in San Luis Obispo. The app is capable of connecting individuals to a specific community group and ministry teams, gathering information about upcoming Cru events and gatherings, and direct rideshare capabilities. The Cru Android App utilizes Java and other industry standard technologies to fully deliver a well-rounded user experience and to be connected with Cru. In this project, I increased Cru app’s access control abilities and updated the app overall to be ready for an alpha release.


Pubwc Bathroom Review App, Clay Jacobs Dec 2017

Pubwc Bathroom Review App, Clay Jacobs

Computer Science and Software Engineering

For my senior project, I developed an iOS application to allow users to find, rate, and review nearby public restrooms. The app takes advantage of crowdsourced data to collect bathroom and review information. I also created a REST API to interface with the backend database that could be used to port the application to other platforms.


A High Quality, Eulerian 3d Fluid Solver In C++, Lejon Anthony Mcgowan Nov 2017

A High Quality, Eulerian 3d Fluid Solver In C++, Lejon Anthony Mcgowan

Computer Science and Software Engineering

Fluids are a part of everyday life, yet are one of the hardest elements to properly render in computer graphics. Water is the most obvious entity when thinking of what a fluid simulation can achieve (and it is indeed the focus of this project), but many other aspects of nature, like fog, clouds, and particle effects. Real-time graphics like video games employ many heuristics to approximate these effects, but large-scale renderers aim to simulate these effects as closely as possible.

In this project, I wish to achieve effects of the latter nature. Using the Eulerian technique of discrete grids, I …


A Survey Of Addictive Software Design, Chauncey J. Neyman Jun 2017

A Survey Of Addictive Software Design, Chauncey J. Neyman

Computer Science and Software Engineering

The average smartphone owner checks their phone more than 150 times per day. As of 2015, 62% of smartphone users had used their phone to look up information about a health condition, while 57% had used their phone to do online banking. Mobile platforms have become the dominant medium of human-computer interaction. So how have these devices established themselves as our go to connection to the Internet? The answer lies in addictive design. Software designers have become well versed in creating software that captivates us at a primal level. In this article, we survey addictive software design strategies, their bases …


Djukebox: A Mobile Application Senior Project, Alexander M. Mitchell Jun 2017

Djukebox: A Mobile Application Senior Project, Alexander M. Mitchell

Computer Science and Software Engineering

I’m going to discuss the process used to research, design, and develop a mobile application to handle song requests from patrons to disc jockeys. The research phase was completed in the first half of the project, during CSC-491, along with much of the design. The rest of the design and all of the development was completed during CSC-492. Once development began there were times when reverting back to the design phase was needed, which became apparent as more was learned about the mobile platform chosen for development, Android, and the backend server utilized, Google Firebase. Ultimately the project was purely …