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

Physical Sciences and Mathematics Commons

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

Articles 31 - 60 of 332

Full-Text Articles in Physical Sciences and Mathematics

Music Times: A Music Learning Game, Emily Woo Mar 2017

Music Times: A Music Learning Game, Emily Woo

Computer Science and Software Engineering

Music Times is a two dimensional educational video game with the purpose of gamifying learning of musical concepts. It has elements of adventure and visual novel games, and incentivizes the player to learn music to explore new levels. It is developed in the Unity game engine, scripted in C#, and targeted for mobile devices. It has six working levels: three lesson levels and three corresponding challenge levels. Each level contains slight differences in visual and aural feel.


Hitchride Ios App, Petar Georgiev Mar 2017

Hitchride Ios App, Petar Georgiev

Computer Science and Software Engineering

HitchRide is a ride-sharing marketplace connecting regular people making similar trips so everyone benefits: the driver, the passenger, society and the environment. HitchRide allows participants to reduce their travel costs, meet new friends and conveniently reach their destination, all in a simple, satisfactory, and environmentally friendly way. We believe that we can make traveling truly enjoyable, one shared car ride at a time and help save the planet while we’re at it!


Implementing Semantic Document Search Using A Bounded Random Walk In A Probabilistic Graph, Lubomir Stanchev Jan 2017

Implementing Semantic Document Search Using A Bounded Random Walk In A Probabilistic Graph, Lubomir Stanchev

Computer Science and Software Engineering

Given a set of documents and an input query that is expressed using natural language, the problem of document search is retrieving all relevant documents ordered by the degree of relevance. Semantic document search fetches not only documents that contain words from the input query, but also documents that are semantically relevant. For example, the query "friendly pets" will consider documents that contain the words "dog" and "cat", among others. One way to implement semantic search is to use a probabilistic graph in which the input query is connected to the documents through paths that contain semantically similar words and …


Implementation And Testing Of A Book Lookup System For The Robert E. Kennedy Library, Casey C. Sheehan Dec 2016

Implementation And Testing Of A Book Lookup System For The Robert E. Kennedy Library, Casey C. Sheehan

Computer Science and Software Engineering

The goal of this senior project centered around improving the quality of student and teacher experiences when visiting the library. The task of finding a book amongst the shelves is an arduous one, which I felt could be improved upon through implementation and testing of a Book Lookup system for the Cal Poly Robert E. Kennedy Library. Development for this project was done using a Python framework. Testing and earlier designs were also created using JavaScript and PHP. Repeated tests were conducted on the accuracy of the software and its ability to decrease user search-time when compared to conventional methods.


Review Classification, Balraj Aujla Dec 2016

Review Classification, Balraj Aujla

Computer Science and Software Engineering

The goal of this project is to find a way to analyze reviews and determine the sentiment of a review. It uses various machine learning techniques in order to achieve its goals such as SVMs and Naive Bayes. Overall the purpose is to learn many different machine learning techniques, determine which ones would be useful for the project, then compare the results. Research is the foremost goal of the project, and it is able to determine the better algorithm for review classification, naive bayes or an SVM. In addition, an SVM which actually gave review’s scores rather than just classifying …


Ios Application For Inventory In Small Retail Stores, Andrea Savage Dec 2016

Ios Application For Inventory In Small Retail Stores, Andrea Savage

Computer Science and Software Engineering

Currently, small retail stores with low technology budgets such as those right here in San Luis Obispo are struggling to integrate new technologies into their companies. This mobile application built for iOS with a Firebase backend is seeking to remove their barriers to entry. I built this application to give small retail stores a customizable application that allows them to display products electronically to customers and maintain accurate inventory both in one place. The construction of this application hinged around three major design decisions: UI design of the color management views, organization of the database, and accessing the database with …


Fine-Tuning An Algorithm For Semantic Document Clustering Using A Similarity Graph, Lubomir Stanchev Dec 2016

Fine-Tuning An Algorithm For Semantic Document Clustering Using A Similarity Graph, Lubomir Stanchev

Computer Science and Software Engineering

In this article, we examine an algorithm for document clustering using a similarity graph. The graph stores words and common phrases from the English language as nodes and it can be used to compute the degree of semantic similarity between any two phrases. One application of the similarity graph is semantic document clustering, that is, grouping documents based on the meaning of the words in them. Since our algorithm for semantic document clustering relies on multiple parameters, we examine how fine-tuning these values affects the quality of the result. Specifically, we use the Reuters-21578 benchmark, which contains 11,362 newswire stories …


Leveraging The Final Project To Improve Student Motivation In Introductory Digital Design Courses, Andrew Danowitz Oct 2016

Leveraging The Final Project To Improve Student Motivation In Introductory Digital Design Courses, Andrew Danowitz

Computer Science and Software Engineering

Student retention rates in engineering, especially among traditionally underrepresented groups, remain an obstacle to training a large, diverse engineering workforce. The NSF's Science and Engineering Indicators 2016 indicate that of students entering college with an intent to major in engineering, only 63% graduate with an engineering degree [1]. With research suggesting that misperceptions or a lack of knowledge about what work in a certain field is like can deter students from studying that discipline [2], [3], it is possible that providing a meaningful project experience at the introductory level could provide a strong positive impact on retention rates. This could …


Creating A Probabilistic Model For Wordnet, Lubomir Stanchev Sep 2016

Creating A Probabilistic Model For Wordnet, Lubomir Stanchev

Computer Science and Software Engineering

We present a probabilistic model for extracting and storing information from WordNet and the British National Corpus. We map the data into a directed probabilistic graph that can be used to compute the conditional probability between a pair of words from the English language. For example, the graph can be used to deduce that there is a 10% probability that someone who is interested in dogs is also interested in the word “canine”. We propose three ways for computing this probability, where the best results are achieved when performing multiple random walks in the graph. Unlike existing approaches that only …


Leveraging New Platforms To Provide Students With A Realistic Soc Design Experience, Andrew Danowitz, Antonio M. Leija Jun 2016

Leveraging New Platforms To Provide Students With A Realistic Soc Design Experience, Andrew Danowitz, Antonio M. Leija

Computer Science and Software Engineering

Recently there have been a slew of digital design products released that promise to simplify the task of giving students a real-world System-on-Chip (SoC) design experience. These “programmable SoCs” from companies such as Xilinx, Cypress, and Altera combine modern multi-core ARM processors connected to an FPGA through a widely used SoC interconnect standard. This paper discusses a Real Time Embedded System Course I designed that uses the Xilinx Zynq platform to give students first-hand experience with modern System-on-Chip design methodologies and the challenges that designers face in both hardware and software bring-up for a modern IP-based design.

The first portion …


Raspberry Pi Radio Scanner Control Web Application, Jackson Marshall Strand Jun 2016

Raspberry Pi Radio Scanner Control Web Application, Jackson Marshall Strand

Computer Science and Software Engineering

In this senior project I design and develop software for the Raspberry Pi which allows the user to listen to and control a scanner radio anywhere in their home. The solution involves utilizing a Raspberry Pi 2 interfaced with the radio, a software package to communicate directly with the radio, and a web app hosting a web client providing the interface for user control. Audio streaming is achieved through the use of FFmpeg. Listening on the client is achieved by using an external software such as Video Lan (VLC) to open the audio stream. We provide an operable proof-of-concept with …


Raspberry Pi Vpn Travel Router, Daniel S. Pierson Jun 2016

Raspberry Pi Vpn Travel Router, Daniel S. Pierson

Computer Science and Software Engineering

Consumers are increasingly relying on public wireless hotspots to access the internet from a growing number of devices. Usage of these hotspots has expanded from just laptops to everything from iPhones to tablets, which are expected to be internet-connected for full functionality. It has become common for one to check if there’s an open wireless hotspot connection available at places like coffee shops, hotels, restaurants, or even a doctor’s waiting room. The issue that arises is that these public connections present an inherent security risk, as anyone can connect and gain access to the network. For increased security, the use …


Creating A Probabilistic Graph For Wordnet Using Markov Logic Network, Lubomir Stanchev Jun 2016

Creating A Probabilistic Graph For Wordnet Using Markov Logic Network, Lubomir Stanchev

Computer Science and Software Engineering

The paper shows how to create a probabilistic graph for WordNet. A node is created for every word and phrase in WordNet. An edge between two nodes is labeled with the probability that a user that is interested in the source concept will also be interested in the destination concept. For example, an edge with weight 0.3 between “canine” and “dog” indicates that there is a 30% probability that a user who searches for “canine” will be interested in results that contain the word “dog”. We refer to the graph as probabilistic because we enforce the constraint that the sum …


Accelerating Hash Grid And Screen-Space Photon Mapping In 3d Interactive Applications With Opencl, Nikolai Shkurkin Jun 2016

Accelerating Hash Grid And Screen-Space Photon Mapping In 3d Interactive Applications With Opencl, Nikolai Shkurkin

Computer Science and Software Engineering

Achieving interactive and realistic rendering is only possible with a combination of rendering algorithms, rendering pipelines, multi-core hardware, and parallelization APIs. This project explores and implements two photon mapping pipelines based on the work of Mara et. al [5] and Singh et. al [7] to achieve interactive rendering performance for a set of simple scenes using OpenCL and C++ to work with a GPU. In particular, both a 3D hash grid and a screen-space tiling algorithm are parallelized to accelerate photon lookup in order to compute direct and indirect lighting on visible surfaces in a scene. By using OpenCL with …


Improvements To Digital Democracy's Transcription Tool, Andrew Reinman Jun 2016

Improvements To Digital Democracy's Transcription Tool, Andrew Reinman

Computer Science and Software Engineering

Digital Democracy is a website that hosts legislative court hearings along with their transcripts and other information. The current process for getting these videos onto the website is quite tedious. By improving the tool currently used, I will automate a lot of the current work in order to greatly reduce the time spent getting videos on our website.


Venncafe, Daniel Johnson, Christopher Clark, Jonathan Amireh Mar 2016

Venncafe, Daniel Johnson, Christopher Clark, Jonathan Amireh

Computer Science and Software Engineering

Our senior project involved creating a simple dating application and service. From other dating applications, we observed that the logistics of scheduling a first date are a tedious way to start a conversation with someone you've never met. The main concept of our application was that it would use user schedule availability and their favorite cafes to automatically plan optimal dates.

We started the project with the intent of...

  • Working through the entire development cycle of a large project as a team

  • Devising techniques for determining overlapping preferences, especially when handling large amounts of location and time data

  • Exploring different …


Semantic Document Clustering Using A Similarity Graph, Lubomir Stanchev Feb 2016

Semantic Document Clustering Using A Similarity Graph, Lubomir Stanchev

Computer Science and Software Engineering

Document clustering addresses the problem of identifying groups of similar documents without human supervision. Unlike most existing solutions that perform document clustering based on keywords matching, we propose an algorithm that considers the meaning of the terms in the documents. For example, a document that contains the words "dog" and "cat" multiple times may be placed in the same category as a document that contains the word "pet" even if the two documents share only noise words in common. Our semantic clustering algorithm is based on a similarity graph that stores the degree of semantic relationship between terms (extracted from …


Pthreads Profiler, Ryan Van Quinlan Dec 2015

Pthreads Profiler, Ryan Van Quinlan

Computer Science and Software Engineering

The goal of this senior project was to design and implement a program which would allow users to profile programs that utilize the Pthreads library. This profiler allows users to measure load balance and lock contention between threads as well as discover deadlocks. These tools can be essential to developers of multi-threaded applications, which are notoriously difficult to debug. Additionally, this tool can help find vital performance benefits by providing relative execution measurements. The profiler is written in C++ and utilizes the standard template library as well as glibc extensions.


Co-Rotational Finite Element Solid Simulation With Collisions, Patrick Riordan Dec 2015

Co-Rotational Finite Element Solid Simulation With Collisions, Patrick Riordan

Computer Science and Software Engineering

This paper is a tutorial on how to implement a deformable solid simulation with collisions based off of Matthias Mueller's Real Time Physics Course Notes. It covers the topics continuum mechanics, finite element analysis, implicit Euler integration, and handling collision.


Real Time Analytics On Digital Distraction, Kristian Welch Dec 2015

Real Time Analytics On Digital Distraction, Kristian Welch

Computer Science and Software Engineering

Hypothesis: empirically measuring the users productivity has the potential to significantly increase their productivity. This paper is the documentation of the process of building software capable of verifying this hypothesis. Starting with the research which gives enough evidence to warrant the hypothesis, also included is commentary on the prototyping, design decisions, and iteration based on user feedback of the software.


Dynamic Voxel Based Terrain Generation, Thomas Sanford Jun 2015

Dynamic Voxel Based Terrain Generation, Thomas Sanford

Computer Science and Software Engineering

This project is an implementation of an editable terrain system. By maintaining an octree of volumetric data and performing the mesh creation on the GPU, the program can allow for free editing of the surroundings which is then reflected in real time. This allows for real time applications to have terrain that can change depending on how the user interacts with it.


Drill Design Suite, Neil Nordhof Jun 2015

Drill Design Suite, Neil Nordhof

Computer Science and Software Engineering

Drill Design Suite is a lightweight tool for creating drill for marching band programs.


Multiplayer Browser-Based Game Utilizing Javascript And Webgl Frameworks, Cy Tan, Benjamin Naftali, Matthew Tong, Vincent Chan Jun 2015

Multiplayer Browser-Based Game Utilizing Javascript And Webgl Frameworks, Cy Tan, Benjamin Naftali, Matthew Tong, Vincent Chan

Computer Science and Software Engineering

The goal of our project is to make an online large-scale multiplayer game with persistent user data. This will involve real-time player interaction and many customization options. This game will be a massively-multiplayer online tactics role-playing game (MMOTRPG), a genre that has been insufficiently explored. This area of browser-based massive multiplayer games is also a platform of gaming that has yet to realize the capabilities of modern browsers and the level of interaction and graphics they now support.

The scope of our project does not encompass the complete feature set we have intended for the game, but rather a technical …


Resound.Fm, Matthew Bleifer Jun 2015

Resound.Fm, Matthew Bleifer

Computer Science and Software Engineering

The goal of this senior project was to create a social platform for people to share and discover the music they love. Current music streaming technologies lack an effective tool for helping users find new music. The personal element of music that used to exist in the days that people gathered around record players or shared mixtapes has been lost online and Resound.fm seeks to bring it back. Resound.fm is a Ruby on Rails web application, which uses some of the latest web technologies and design patterns to create a powerful new music discovery experience online. The project was completed …


Development Of A Tridimensional Measuring Application For Ipads, Michael Casebolt, Nicolas Kouatli, Jack Mullen May 2015

Development Of A Tridimensional Measuring Application For Ipads, Michael Casebolt, Nicolas Kouatli, Jack Mullen

Computer Science and Software Engineering

In today’s fast-paced distribution centers workers and management alike are constantly searching for the quickest and most efficient way to package items for distribution. Even with the advancement of app-oriented solutions to a variety of problems across many industries there is a distinct unmet need in distribution environments for an application capable of increasing the efficiency and accuracy of packaging items. This senior project focused on the development and testing of an application utilizing the Structure Three Dimensional Sensor and a 4th generation iPad to scan an object or group of objects to be packaged and determine the overall dimensions …


Building Conflict-Free Fft Schedules, Stephen Richardson, Dejan Markovic, Andrew Danowitz, John Brunhaver, Mark Horowitz Apr 2015

Building Conflict-Free Fft Schedules, Stephen Richardson, Dejan Markovic, Andrew Danowitz, John Brunhaver, Mark Horowitz

Computer Science and Software Engineering

A conflict-free schedule lets an FFT run to completion without ever having to pause for memory-conflict resolution. We show how to build such schedules for FFTs having any number of butterfly units B operating at any radix R, transforming any number of datapoints D. Our algorithm works for FFT datapaths with or without pipeline overlap, and for memory banks having any number of access ports. Specifically, it enables construction of conflict-free schedules using single-ported memory banks, which require less area than more traditional multi-ported designs.


Measuring The Strength Of The Semantic Relationship Between Words, Lubomir Stanchev Apr 2015

Measuring The Strength Of The Semantic Relationship Between Words, Lubomir Stanchev

Computer Science and Software Engineering

We propose a novel way for extracting the strength of the semantic relationship between words from semi-structured sources, such as WordNet. Unlike existing approaches that only explore the structured information (e.g., the hypernym relationship in WordNet), we present a framework that allows us to utilize all available information, including natural text descriptions. Our approach constructs a similarity graph that stores the strength of the semantic relationship between words. Specifically, an edge between two words describes the probability that someone who is interested in resources about the first word will be also interested in resources about the second word. Note that …


Semantic Search Using A Similarity Graph, Lubomir Stanchev Feb 2015

Semantic Search Using A Similarity Graph, Lubomir Stanchev

Computer Science and Software Engineering

Given a set of documents and an input query that is expressed in a natural language, the problem of document search is retrieving the most relevant documents. Unlike most existing systems that perform document search based on keywords matching, we propose a search method that considers the meaning of the words in the query and the document. As a result, our algorithm can return documents that have no words in common with the input query as long as the documents are relevant. For example, a document that contains the words “Ford”, “Chrysler” and “General Motors” multiple times is surely relevant …


A Heterogeneous Compute Solution For Optimized Genomic Selection Analysis, Trevor Devore, Scott Kenneth Winkleblack, Bruce Golden, Chris Lupo Nov 2014

A Heterogeneous Compute Solution For Optimized Genomic Selection Analysis, Trevor Devore, Scott Kenneth Winkleblack, Bruce Golden, Chris Lupo

Computer Science and Software Engineering

This paper presents a heterogeneous computing solution for an optimized genetic selection analysis tool, GenSel. GenSel can be used to efficiently infer the effects of genetic markers on a desired trait or to determine the genomic estimated breeding values (GEBV) of genotyped individuals. To predict which genetic markers are informational, GenSel performs Bayesian inference using Gibbs sampling, a Markov Chain Monte Carlo (MCMC) algorithm. Parallelizing this algorithm proves to be a technically challenging problem because there exists a loop carried dependence between each iteration of the Markov chain. The approach presented in this paper exploits both task-level parallelism (TLP) and …


Exploring Abstract Interfaces In System-On-Chip Integration, Andrew Danowitz Jul 2014

Exploring Abstract Interfaces In System-On-Chip Integration, Andrew Danowitz

Computer Science and Software Engineering

Modern mobile devices are marvels of computation. They can encode high defnition video, processing and compressing over 350MB/s of image data in real time. They have no trouble driving displays with as much resolution as a full laptop, and smartphone manufacturers boast of running games with "console quality" graphics. Mobile devices pack all of this computational power into a 12\ handheld package by integrating a number of specialized hardware accelerators (IP) along with conventional CPU and GPUs in a system on chip (SoC). Unfortunately, creating these specialized systems is becoming increasingly expensive. Since hardware accelerators come from a number of …