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

Engineering Commons

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

Articles 1 - 30 of 43

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 …


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 …


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, …


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 …


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.


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 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 …


Diy Grip Tape Website, Jason E. Krein Jun 2017

Diy Grip Tape Website, Jason E. Krein

Computer Science and Software Engineering

The goal of this senior project was to create an easy to use website that will allow people to design and order their own custom skateboard grip tape. Custom skateboard decks are a large business, however the top, more visible, part of the board is largely ignored by custom shops. With the help of a local entrepreneur, I aim to enable skateboarders the ability to get custom grip tape shapes that they can stick on their board to spice it up from the normal black tape that everyone uses. The website was completed over the course of 4 months, in …


Gridiron-Gurus Final Report: Fantasy Football Performance Prediction, Kyle Tanemura, Michael Li, Erica Dorn, Ryan Mckinney Jun 2017

Gridiron-Gurus Final Report: Fantasy Football Performance Prediction, Kyle Tanemura, Michael Li, Erica Dorn, Ryan Mckinney

Computer Science and Software Engineering

Gridiron Gurus is a desktop application that allows for the creation of custom AI profiles to help advise and compete against in a Fantasy Football setting. Our AI are capable of performing statistical prediction of players on both a season long and week to week basis giving them the ability to both draft and manage a fantasy football team throughout a season.


College Cloud: Web Development With A Django Stack And Google Cloud, Evan Joseph Hench Mar 2017

College Cloud: Web Development With A Django Stack And Google Cloud, Evan Joseph Hench

Computer Science and Software Engineering

Students at Cal Poly run into two main problems involving clubs: efficiency of communication and the ability to find clubs that interest them. Currently, members of clubs communicate in four main ways: Facebook, GroupMe, text message, and email. As a result, it is fairly easy for things to become disorganized from all the different types of communication. Group members are forced to check multiple communication outlets just to stay updated, wasting their time. In addition, finding clubs at Cal Poly is not easy. The annual club fair helps interested students to some degree, but with hundreds of clubs on campus …


Tournament Wizard: Simple And Lightweight Software For Running Fencing Tournaments, John Ryan Daley Jun 2016

Tournament Wizard: Simple And Lightweight Software For Running Fencing Tournaments, John Ryan Daley

Computer Science and Software Engineering

Many sports use technology to assist in officiating and administration. Fencing tournament organizers use specialized software to help determine how their matches occur, and to help them administer a tournament. However, the software most commonly used to run these tournaments has some significant limitations, and is not well-suited for use with small events. As a former President of Cal Poly’s Fencing Club, I have had a chance to interact with one popular application for running fencing tournaments a number of times, and made note of its shortcomings. These included issues with operating system compatibility, license transference, and amount of space …


Polyratings Website Update, Cody Sears, Connor Krier, Anil Thattayathu Jun 2016

Polyratings Website Update, Cody Sears, Connor Krier, Anil Thattayathu

Computer Science and Software Engineering

Polyratings is a well known website amongst Cal Poly students. Over the past 14 years it has been in existence the site has been viewed 2.5 million times. This is a drastic number because the average student population on campus every year nears 20,000. This being said, when class registration came around every quarter there was always talk about the Polyratings scores for professors. However, with this talk also came much negativity towards the site.

The problem that we found was that everyone needed Polyratings for help with class searching, but were also very dissatisfied with the website. The main …


Fulfilling A Restful Commitment: Test-Suite Generation For Swagger-Based Rest Apis, Noah Dietz Jun 2016

Fulfilling A Restful Commitment: Test-Suite Generation For Swagger-Based Rest Apis, Noah Dietz

Computer Science and Software Engineering

An application programming interface (API) can be the most integral part of a product or service. APIs drive businesses and innovation in all aspects of technology and they rely on descriptive frameworks to detail what they have to offer. These descriptive frameworks are a rich source of information on a variety of levels, such as usage, best-practices and even basic implications towards the underlying implementation. The motivation of this project during my internship was to exploit this wealth of information in order to create a description-based, or contract-based, unit test generation tool specifically for Swagger-based REST APIs and to encourage …


Micronaut: A 2d Action Side Scrolling Platformer For The Apple Tv, Christopher Michael Williams Jun 2016

Micronaut: A 2d Action Side Scrolling Platformer For The Apple Tv, Christopher Michael Williams

Computer Science and Software Engineering

Micronaut is a 2D side scrolling platformer video game application developed for the Apple TV with the tvOS SDK version 9.1. It explores human­computer interaction of platformer video games on the Apple TV and aims to give the player the most control to maximize enjoyment. Micronaut features five engaging levels with each level designed to focus on teaching the player the mechanics one at a time. Micronaut has been submitted and is undergoing submission for the Apple TV App Store at the time of this paper. Christopher Williams managed the software development and design, and Jacob Johannesen created the graphical …


Campusbookshare, Aditya Varkhedi May 2016

Campusbookshare, Aditya Varkhedi

Computer Science and Software Engineering

Every few months, students in the US and abroad face the expensive and time consuming task of buying textbooks for the classes they are enrolled in. Despite the advent of the internet and social networking websites the ability for peer to peer textbook exchange is still limited. There are few if any dedicated websites for general purpose peer to peer textbook transfer for every university and college.

The project I have created for my Senior Project is a peer to peer solution for buying and selling textbooks on US college campuses. The underlying idea is to create an authentication system …


Pre-R, Brian Carreon, Mariel Sanchez Mar 2016

Pre-R, Brian Carreon, Mariel Sanchez

Computer Science and Software Engineering

The project that PomTech worked on for Capstone is the Pre­R iOS Application for Dr. Sam Slishman. The main objective for this project was to create a functional prototype of the iOS application and deliver it to Dr. Slishman by the end of the 2016 Winter quarter. The prototype features the ability for patients to contact Dr. Slishman for consultation through a phone call, a Facetime video call, email, or a house call. In addition, the user of the prototype is able to see the proximity and availability of Dr. Slishman. Other features include a profile page of Dr. Slishman, …


Jsish, Ryan Grasell Jul 2015

Jsish, Ryan Grasell

Computer Science and Software Engineering

For my senior project, I implemented Professor Keen’s JSish spec in C++. JSish is a subset of Javascript with support for execution from the command line and files.

I chose this project because I wanted to reinforce my programing language skills, learn C++, and gain a deeper understanding of garbage collection.

I quickly grew familiar with C++. My prior experience with both C and Java was a good enough introduction to let me hit the ground running. The biggest hurdle for me was the lack of garbage collection built into C++. I understood the principles of manual memory management, but …


Greenplace: A User Driven Marketplace For Perishable Goods, Nicolas Higuera Jun 2015

Greenplace: A User Driven Marketplace For Perishable Goods, Nicolas Higuera

Computer Science and Software Engineering

As the world population grows, food vendors need to be increasingly efficient in the distribution of their products. Products with short shelf-lives need to be distributed as quickly as possible in order to maximize potency. Existing technologies allowing the sale of goods from peer to peer lack key features to optimize usage for perishable goods. GreenPlace provides some of the essential features necessary to distributing perishable goods and managing those orders in an effective manner.


X264 Video Encoding Frontend, Alvin Lam Jun 2015

X264 Video Encoding Frontend, Alvin Lam

Computer Science and Software Engineering

x264 is a free video codec for encoding video streams into the H.264/MPEG-4 AVC format. It has become the new standard for video encoding, providing higher quality with a higher compression than that of XviD. x264 provides a command line interface as well as an API and is used in popular applications such as HandBrake and FFmpeg. Advanced Audio Coding (AAC) is a very popular audio coding standard for lossy digital audio compression. AAC provides a higher sound quality than MP3 at similar bitrates. This senior project describes the design and implementation of a x264 video encoding frontend that uses …


Ascendance: A Platformer For Computers, Philip Scott Beauchamp, Joseph Grant Plaster Jun 2015

Ascendance: A Platformer For Computers, Philip Scott Beauchamp, Joseph Grant Plaster

Computer Science and Software Engineering

Ascendance is a 2.5D platformer adventure game for computers, developed in the Unity development environment over two quarters to apply computer graphics and software engineering principles to the programming and iterative development of a game. Players encounter enemies which they must defeat or avoid while they explore the level for the required objects that lead them to victory. Testing of Ascendance required several iterations of play testing and surveys by various testers with and without gaming backgrounds, and was followed by rapid refinement of game mechanics and aesthetics. The result is a fully functional demo that features a sophisticated start …


The Struggle Of The Rubiniumite Wars, Timothy Mendez, Evan Peterson, Darren Huang, Kyle Lozier Jun 2015

The Struggle Of The Rubiniumite Wars, Timothy Mendez, Evan Peterson, Darren Huang, Kyle Lozier

Computer Science and Software Engineering

The Struggle of the Rubiniumite Warsis a browser-based, one- to two-player, simultaneous turn-based strategy game set amongst the stars. It uses WebGL and Three.js for 3D graphics in the browser, Node.js for game engine and artificial intelligence design on the backend, and Socket.io for networking using websockets. The development group’s inspiration, motivation, and reflections are discussed. Additionally, details on the development of the game engine, database integration with Parse, user registration with Nodemailer, graphics with Three.js and HTML/CSS, and audio with HTML5.


Customer Tracking Through An Affordable Consumer Device Array, Daniel Nishi Jun 2015

Customer Tracking Through An Affordable Consumer Device Array, Daniel Nishi

Computer Science and Software Engineering

Commercial person tracking systems that use wifi packet analysis is currently very costly. In order to reduce the barrier of entry and allow small businesses to reap the benefits of indoor trilateration systems and monitor consumer traffic patterns, I am building out a system that will run on low-cost hardware and be deployable without a monthly service fee. By using consumer hardware, we are able to collect and analyze wifi management packets from smartphone sources and use it to extract actionable business information.


Custom Keys: Numeric Keypad Server-Client Android App, Cameron Hom Jun 2015

Custom Keys: Numeric Keypad Server-Client Android App, Cameron Hom

Computer Science and Software Engineering

Custom Keys is an app that consists of a server and an app which communicate through the network. This project explored a way to improve numeric keystroke input for users who do not have numeric keypads on their laptops or computers. I discuss many features and designs I used in Custom Keys to create the app and server. I also discuss some of the drawbacks to the design. Custom Keys was successfully created but more testing and research is needed to determine if it improves individual numeric keystroke's per minute.


The Ground Is Lava!, Aaron Jacobs Jun 2015

The Ground Is Lava!, Aaron Jacobs

Computer Science and Software Engineering

The Ground Is Lava! is a three dimensional video game written in C++ that uses OpenGL as its graphics API. The game is competitive, with two to four players controlling characters from a first-person perspective. The project implements multiple graphics technologies in order to achieve a consistent, pleasing visual style, including shadow mapping, sky rendering, and procedural animation. The engine built to power the game was developed in a flexible manner, allowing the code to be reused for future projects.


The Lecturescribe Platform, Kevin Backers, Kevin Feutz, Erik Owen Jun 2015

The Lecturescribe Platform, Kevin Backers, Kevin Feutz, Erik Owen

Computer Science and Software Engineering

The LectureScribe platform is a free classroom transcription service that is deployed as a website. The platform allows professors to talk into a microphone, and deaf or hard of hearing students have the ability to see what the professor is saying in real time on their personal device. LectureScribe was created by three Cal Poly Software Engineering students. This document details the platform itself, as well as the developers’ process of creating this software system over the span of two academic quarters.