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

Computer Engineering Commons

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

Articles 1 - 13 of 13

Full-Text Articles in Computer Engineering

Developing A Miniature Smart Boat For Marine Research, Michael Isaac Eirinberg Jun 2022

Developing A Miniature Smart Boat For Marine Research, Michael Isaac Eirinberg

Computer Engineering

This project examines the development of a smart boat which could serve as a possible marine research apparatus. The smart boat consists of a miniature vessel containing a low-cost microcontroller to live stream a camera feed, GPS telemetry, and compass data through its own WiFi access point. The smart boat also has the potential for autonomous navigation. My project captivated the interest of several members of California Polytechnic State University, San Luis Obispo’s (Cal Poly SLO) Marine Science Department faculty, who proposed a variety of fascinating and valuable smart boat applications.


Reach - A Community Service Application, Samuel Noel Magana Jun 2019

Reach - A Community Service Application, Samuel Noel Magana

Computer Engineering

Communities are familiar threads that unite people through several shared attributes and interests. These commonalities are the core elements that link and bond us together. Many of us are part of multiple communities, moving in and out of them depending on our needs. These common threads allow us to support and advocate for each other when facing a common threat or difficult situation. Healthy and vibrant communities are fundamental to the operation of our society. These interactions within our communities define the way we as individuals interact with each other, and society at large. Being part of a community helps …


Funqual: User-Defined, Statically-Checked Call Graph Constraints In C++, Andrew P. Nelson Jun 2018

Funqual: User-Defined, Statically-Checked Call Graph Constraints In C++, Andrew P. Nelson

Master's Theses

Static analysis tools can aid programmers by reporting potential programming mistakes prior to the execution of a program. Funqual is a static analysis tool that reads C++17 code ``in the wild'' and checks that the function call graph follows a set of rules which can be defined by the user. This sort of analysis can help the programmer to avoid errors such as accidentally calling blocking functions in time-sensitive contexts or accidentally allocating memory in heap-sensitive environments. To accomplish this, we create a type system whereby functions can be given user-defined type qualifiers and where users can define their own …


Using Intel Realsense Depth Data For Hand Tracking In Unreal Engine 4, Granger Lang Mar 2017

Using Intel Realsense Depth Data For Hand Tracking In Unreal Engine 4, Granger Lang

Liberal Arts and Engineering Studies

This project describes how to build a hand tracking method for VR/AR using the raw data from a depth sensing camera.


Android Drone: Remote Quadcopter Control With A Phone, Aubrey John Russell Dec 2016

Android Drone: Remote Quadcopter Control With A Phone, Aubrey John Russell

Computer Engineering

The purpose of the “Android Drone” project was to create a quadcopter that can be controlled by user input sent over the phone’s Wi-Fi connection or 4G internet connection. Furthermore, the purpose was also to be able to receive live video feedback over the internet connection, thus making the drone an inexpensive option compared to other, equivalent drones that might cost thousands of dollars. Not only that, but the Android phone also has a host of other useful features that could be utilized by the drone: this includes GPS, pathing, picture taking, data storage, networking and TCP/IP, a Java software …


Rfid Microscope Lab, Patricia Carranza Sep 2015

Rfid Microscope Lab, Patricia Carranza

Computer Engineering

The RFID Microscope Lab is a new exhibit created for the San Luis Obispo Children's Museum. The goal of the project is to create a modern, interactive exhibit that will teach children about different natural specimens through the use of technology. A computer, custom software, and RFID technology, will be used to display facts, microscopic images, and short videos of ten different specimens.


'Fo Fighter: 2d Real-Time Game, Cary Dobeck Jun 2015

'Fo Fighter: 2d Real-Time Game, Cary Dobeck

Computer Engineering

‘FO Fighter is a 2D real-time game for Android and iOS mobile devices. The game utilizes the motion sensors and touch screens built within these devices to give the player a great amount of control over their character’s position and firing direction. This control allows for a reactive environment set in outer space, where gravity is determined by the device’s orientation, while the player must dodge, fight and destroy multiple enemy fighters on each planet in the solar system. ‘FO Fighter has been tested throughout its development cycle on numerous devices on both the Android and iOS platforms, with testers …


Design Of Cpu Simulation Software For Armv7 Instruction Set Architecture, Dillon Tellier Jun 2014

Design Of Cpu Simulation Software For Armv7 Instruction Set Architecture, Dillon Tellier

Computer Engineering

Simulations have long been a part of the engineering process in both the professional and academic domain. From a pedagogic standpoint, simulations allow students to explore the dynamics of engineering scenarios by controlling variables, taking measurements, and observing behavior which would be difficult or impossible without simulation. One such tool is a CPU simulator used in Cal Poly’s Computer Architecture classes; this software simulates an instruction accurate operation of a computer processor and reports statistics regarding the execution of the supplied compiled machine code. For the last several years Cal Poly’s computer architecture classes have used a previous version of …


Autotab - Automatic Guitar Tablature Generation, Shaun Boley, Anthony Cisneros, Eric Kauzlarich Jun 2014

Autotab - Automatic Guitar Tablature Generation, Shaun Boley, Anthony Cisneros, Eric Kauzlarich

Computer Engineering

Our project consists of two different parts:

The first part contains an analysis of various pitch estimation algorithms. A number of different open-source pitch estimation libraries were tested using guitar recordings in order to gauge how accurately and consistently they outputted the correct frequencies. The results showed that the algorithms did not perform up to expectations, especially when testing with guitars with wound strings and within certain frequency ranges.

The second part details the creation of a tablature generator. It reads in a note sequence as an input, then generates tablature in the form of ASCII text. A modified greedy …


Channels: Easy Video Content Consumption, Alexander R. Ledwith Jun 2013

Channels: Easy Video Content Consumption, Alexander R. Ledwith

Computer Engineering

The idea for this project is to take a user’s digital movie and television show library, and organize the individual videos into lists that will continuously and concurrently play like cable TV channels. This means that when a list of channels is switched to, video content will automatically start playing, possibly in the middle, based on a schedule. It should serve the needs of the user by allowing the user to quickly watch any of their existing channels, easily add a new channel based on chosen criteria or manual selection, and easily add new video content. In addition, the product …


Protocases, Christopher M. Polis Jun 2013

Protocases, Christopher M. Polis

Computer Engineering

Design and implementation of a 3D printing web application.


Cuda Web Api Remote Execution Of Cuda Kernels Using Web Services, Massimo J. Becker Jun 2012

Cuda Web Api Remote Execution Of Cuda Kernels Using Web Services, Massimo J. Becker

Master's Theses

Massively parallel programming is an increasingly growing field with the recent introduction of general purpose GPU computing. Modern graphics processors from NVIDIA and AMD have massively parallel architectures that can be used for such applications as 3D rendering, financial analysis, physics simulations, and biomedical analysis. These massively parallel systems are exposed to programmers through in- terfaces such as NVIDIAs CUDA, OpenCL, and Microsofts C++ AMP. These frame- works expose functionality using primarily either C or C++. In order to use these massively parallel frameworks, programs being implemented must be run on machines equipped with massively parallel hardware. These requirements limit …


Pretty Lights, Nicholas (Nick) Delmas, Matthew (Matt) Maniaci Apr 2010

Pretty Lights, Nicholas (Nick) Delmas, Matthew (Matt) Maniaci

Computer Engineering

Digital media players often include a visualization component that allows a user to watch a visualization synchronized to their music or videos. This project uses the visualization plugin API of an existing media playback program (WinAmp) but it displays its visuals using physical LED lights. Instead of outputting visuals to the computer screen, data is sent over USB to a micro controller that runs the LED lights. This project aims to give users a more visceral visual experience than traditional visualizations on the computer screen.