2024-03-28T13:30:32Z
http://digitalcommons.calpoly.edu/do/oai/
oai:digitalcommons.calpoly.edu:cscsp-1000
2009-12-04T22:09:03Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Session Initiation Protocol Server Implementation for Linksys Routers
Duder, Matthew
Computer Science Department
BS in Computer Science
2009-12-01T08:00:00Z
Hugh Smith
Digital Communications and Networking
Session Initiation Protocol
SIP
Session Initiation Protocol (SIP) is a signaling protocol used for network-based media interaction. SIP Servers are required to process and forward requests and responses between end clients. Once connection setup is complete, the end clients utilize some other protocol (such as Real-Time Transport Protocol) to complete their task.
Such a server may be implemented and installed on routers. Unlike the SIP protocol, however, router development currently remains without standards. For this project, Linux-based residential-grade routers had their kernels replaced with an open source version. This allowed for installation of open-source development, such as a SIP server implementation.
This project led to the development and installation of such a server application on two separate Linksys WRT54GL routers. After proper network configuration, these servers communicated with both local clients and each other. These servers forwarded SIP traffic and enabled voice communication over separate networks.
2009-12-04T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/1
oai:digitalcommons.calpoly.edu:cscsp-1001
2009-12-15T23:55:41Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
An Evaluation of Potential Technologies for a Web Based Development Environment for CS1 Students
Garcia, Manuel
Computer Science Department
BS in Computer Science
2009-12-01T08:00:00Z
David Janzen
Other Computer Sciences
Web programming
adobe flex
web development environment
web technologies
Web-CAT
The goal of this senior project was to design a web-based integrated development environment that would incorporate Web-CAT. Web-CAT is an automated testing tool designed by Stephen Edwards at Virginia Tech University, to help beginning students learn test-driven development. This tool runs on a server where a professor assigns usernames and passwords to students so they can submit code. This program can assist
professors in grading, and students in showing errors in code. The development environment design waskept simple to create less confusion for beginning programming students. This development environment
will be online to give all students universal access and remove any operating system dependencies. The development environment will be developed using Adobe Flex and run on Adobe Flash through any browser that supports Flash.
2009-12-11T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/2
oai:digitalcommons.calpoly.edu:cscsp-1002
2010-01-07T20:26:21Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Redesigning src2pkg, a Linux package creation toolkit
Goya, Timothy
Computer Science Department
BS in Computer Science
2009-12-01T08:00:00Z
Phillip L. Nico
Other Computer Engineering
Linux
Slackware
Debian
Bash
package management
sandbox
Package managers ease installation and removal of applications. However, as the name indicates, in order for a package manager to be useful, they need packages created from upstream sources to manage. This is the purpose of src2pkg, a toolkit written in Bash shell script which automates many package creation tasks. src2pkg, however, suffers from major design flaws that cripple its ability to package some exotic upstream sources. src2pkg-ng is a prototype redesign of src2pkg that eliminates these flaws. src2pkg-ng fully supports creating packages for Slackware and Slackware-compatible variants for at least 21 upstream sources with various levels of complexity. Debian package support is incomplete. src2pkg-ng cannot create RPM packages, but can extract the metadata and files.
2009-12-11T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/3
oai:digitalcommons.calpoly.edu:cscsp-1004
2010-01-25T18:29:11Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Tsukahara: A comprehensive web solution designed to simplify the process of hosting a gymnastics meet.
Thomassian, Jonathan
Computer Science Department
BS in Computer Science
2009-12-01T08:00:00Z
Dr. David Janzen
Computer Engineering
Other Computer Engineering
Adobe Flex
Tsukahara
Gymnastics
Meet
The process of setting up a gymnastics meet is long and complicated. Most meets organized today involve large amounts of paperwork by both organizing gyms and attending gyms. Tsukahara seeks to address this issue by providing a comprehensive web based solution, to make it easy for gyms to both host and attend meets.
2010-01-24T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/4
oai:digitalcommons.calpoly.edu:cscsp-1006
2010-04-07T00:22:17Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Bay Audio Repair Website & Data Management Application
Shelley, Michael
Computer Science Department
BS in Computer Science
2010-03-01T08:00:00Z
Franz Kurfess
Databases and Information Systems
Graphics and Human Computer Interfaces
Software Engineering
web application
website
data management
xml database
visual studio
The goal of this senior project was to build a website and software application to receive and manage audio equipment repair requests for a small startup company called Bay Audio Repair (BAR). Furthermore, it allowed me to gain experience in web development and software engineering practices, specifically requirements gathering, design and implementation. The website provides an online interface for BAR’s customers to request repairs and the application allows BAR employees to update the progress of a repair. Several technologies were used in the system’s construction: HTML, XML, PHP, and C#.
2010-03-22T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/5
oai:digitalcommons.calpoly.edu:cscsp-1007
2010-06-09T23:20:01Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Graduation Outliner
Boyle, Jason
Computer Science Department
BS in Computer Science
2010-06-01T07:00:00Z
John Dalbey
Curriculum and Instruction
Software Engineering
graduation flowchart advising schedule
Planning a quarterly course schedule is a difficult and laborious process for university students which must be repeated every quarter. Students are expected to determine which courses to take based on a large and complex set of requirement criteria. Most academic scheduling research has focused on faculty availability and desires. This project attempts to address the needs of students for whom no quarterly course schedule planning tool is widely available. A Java Swing-based application is described that allows students to create a graphical quarter-by-quarter visualization of the courses they plan to take. The application also accepts a list of graduation requirements which may be validated against the planned course schedule in order to report potential errors. The final product is a working application which may help relieve students of some of the difficulties relating to planning and verifying a quarterly course schedule.
2010-06-09T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/6
oai:digitalcommons.calpoly.edu:cscsp-1008
2011-01-26T01:20:53Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Automatic JUnit Creation Tool: an Exploration in High Level Process Driven Automatic Test Case Creation
Whitney, William
Computer Science Department
BS in Software Engineering
2010-06-01T07:00:00Z
John Dalbey
Software Engineering
JUnit
Software Testing
Software Tool
Many software developers do not enjoy writing unit test code. Often their excuses range from
testing is slow to testing is hard. Yet perhaps test derivation has to be neither. The aim of this senior project is to examine the current state of unit test creation for the Java programming language. In particular, inefficiencies with the JUnit test framework regarding test derivation are analyzed. Ultimately, a JUnit test creation tool is created that provides a high-level process for test derivation.
2010-06-10T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/10
oai:digitalcommons.calpoly.edu:cscsp-1009
2010-06-21T18:44:06Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Employee Time Scheduling
Smith, Mark Peter
Computer Science Department
BS in Computer Science
2010-06-01T07:00:00Z
John Dalbey
Databases and Information Systems
Scheduler
Database
Time Scheduling
Small business managers face the common problem of employee time scheduling. There is a solution to this problem in the form of an application called Lemming Scheduler. Lemming Scheduler is a Java based employee time scheduling program. Its features include a desktop based application that stores employee and business information as well as a web interface for employees to view schedules and update availability. The desktop application uses employee and shift information to automatically generate schedules. The generated schedules are
viewable by employees outside of work by way of the web interface. Lemming Scheduler
provides a light weight interface for small business owners to manage scheduling problems without the need for a great deal of technical knowledge.
2010-06-11T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/8
oai:digitalcommons.calpoly.edu:cscsp-1010
2010-06-16T21:44:51Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Customer Communicator
Tavarez, Eddie
Computer Science Department
BS in Computer Science
2010-06-01T07:00:00Z
Gene Fisher
Databases and Information Systems
Software Engineering
2010-06-14T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/7
oai:digitalcommons.calpoly.edu:cscsp-1011
2010-06-21T18:47:28Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Efficient Low-Power Computing Cluster
Wongvibulsin, Prentice
Computer Science Department
BS in Computer Science
2010-06-01T07:00:00Z
Phillip Nico
Other Electrical and Computer Engineering
hadoop
atom
cluster
power management
python
linux
The purpose of this project is to demonstrate the idea that clustering together less powerful but energy efficient machines that are commercially available can provide more efficient computing. With a third of energy consumption in the United States attributed to data centers, power efficiency has become an increasingly important topic in computing. Companies like Google have exceeded their grid’s capacities and built datacenters next to hydroelectric dams to reduce power loss from transmission and to increase their data center’s capacity. These experiments aspire to demonstrate a model for achieving a higher performance-per-watt in a larger scale using commercially available low-power hardware.
2010-06-16T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/9
oai:digitalcommons.calpoly.edu:cscsp-1012
2011-05-16T23:58:11Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Sports-Tool
Ung, Bryant
Computer Science Department
BS in Computer Science
2010-12-01T08:00:00Z
Gene Fisher
Civic and Community Engagement
Digital Communications and Networking
Other Communication
Sports
Networking
Team Building
SportsTool
<p>Creating events and finding people to play sports is a hard thing to do. The solution to this problem is to provide a web based interactive site that allows people to create and join different type of events and interact with each other by creating teams.</p>
2011-01-01T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/12
oai:digitalcommons.calpoly.edu:cscsp-1013
2011-10-27T18:28:34Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Amid the VIPERS: Establishing Malware's Position within the Information Ecosystem
Robertson, Shawn Louis Everett
Computer Science Department
BS in Computer Science
2011-03-01T08:00:00Z
Phillip L. Nico
Biology
International Relations
Internet Law
Legal Ethics and Professional Responsibility
OS and Networks
Other Computer Sciences
Malware
Virus
Worm
Cyber Attacks
Military
<p>The paper consists of a detailed examination of malware broken down into three main sections.</p>
<ol>
<li>Introduction: Malware in the World Today. Begins with a definition of terms, examination of the types of malware, research into historical pieces of malicious code, a detailed analysis of the attackers, why malware is so prevalent, and why it is so hard to defend against. This section finishes with a comparison of reasons to create and not to create malware.</li>
<li>Background: "Good" Pieces of Malware. Examination of what makes malware effective. Analysis of the existing CVSS standard and proposal of the alternative VIPERS classification system. This is followed by a justification of the VIPERS system utilizing a comparison between the digital and information ecosystems. The justification for the alternative classification system is strengthened by the need to recognize stealth and subtlety within malware. This section finishes with an examination of the proposed Plaguebringer worm, as well as an ethical justification of why it was not created.</li>
<li>Implementation: A VIPER Examined. A small sample exploit, analyzed according to the VIPERS system.</li>
</ol>
2011-03-17T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/11
oai:digitalcommons.calpoly.edu:cscsp-1015
2011-06-16T19:35:33Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
coffee_shop: Investigations into modern word processors.
Welch, Nathaniel
Computer Science Department
BS in Computer Science
2011-06-01T07:00:00Z
Clark S. Turner
Software Engineering
<p>My senior project was spent building a desktop application similar to WriteRoom and OmmWriter. These two applications are both word processors for the Macintosh OS X operating system. Both of these applications are designed to be a reset on word processing software, bringing their interfaces back to the days of Microsoft Word 3.0 and Word Perfect. They do this by spending more time on focusing on the design of the software interface, and focusing on keeping it minimalistic, instead of filling the product with new obscure features, which is a common complaint against the current iterations of Microsoft Word.</p>
<p>The final application, named coffee_shop, ended up not meeting my expectations. Having spent most of my education developing applications for the internet, instead of the desktop, I ran into pitfalls which, if this had been an internet application, wouldn't have been as problematic.</p>
2011-06-13T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/13
oai:digitalcommons.calpoly.edu:cscsp-1016
2012-01-10T17:29:41Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Requirements Specification for DSIC: Distribution System for Information and Collaboration
Abrahamian, Alex
Computer Science Department
BS in Computer Science
2011-12-01T08:00:00Z
Franz Kurfess
Business and Corporate Communications
Communication Technology and New Media
Data Storage Systems
Human Resources Management
Mass Communication
Other Communication
Other Engineering
Technology and Innovation
<p>There seems to exist an invisible barrier between people that should be connected but for whatever reasons (don't hang out in the same circles, don't go to the same meetings, or are geographically separated) haven't met each other yet.</p>
<p>Normally these people will only meet when others bring them together or they are thrown together on a project. DSIC aims to preempt the person discovery process by allowing a way for people to post ideas, events, and other collaborations in a single place that can then be searched by other users.</p>
<p>The system utilizes postings, user profiles, and a tagging system to connect users together. The purpose of the system is not to replace other collaboration and information systems completely, but to help reduce the noise that they create and give users more control over their content consumption.</p>
<p>The scope of this project seems wide and the number of users is vast. The system is purposefully generalized in order to try and better connect people and solve several problems at once; DSIC is believed to be able to address several issues the users have with current systems.</p>
2011-12-07T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/14
oai:digitalcommons.calpoly.edu:cscsp-1017
2012-03-19T22:27:16Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Zen Cart Shopper
McMahon, Michael
Computer Science Department
BS in Computer Science
2012-03-01T08:00:00Z
Franz Kurfess
Graphics and Human Computer Interfaces
Systems Architecture
Android
Web Scraper
HTTP Client
Zen Cart
E-Commerce
HTML Parser
<p><strong id="x-x-internal-source-marker_0.7786945926491171">Zen Cart is a popular e-commerce tool for building a shopping cart web site. A typical Zen Cart store is not well suited for the small touch screens commonly found on today’s smart phones. Zen Cart Shopper is a solution for Android systems which employs web scraping techniques to display a store’s content in a smart phone friendly interface. This report describes the design and implementation of the Zen Cart Shopper app for Android.</strong></p>
2012-03-11T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/15
oai:digitalcommons.calpoly.edu:cscsp-1018
2012-03-19T22:29:18Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
An Algorithm For Quantum Circuit Optimization
Wong, Raymond Garwei
Computer Science Department
BS in Computer Science
2012-03-01T08:00:00Z
Franz Kurfess
Theory and Algorithms
quantum computing
quantum circuit
circuit optimization
genetic algorithms
<p>In the past 20 years, many researchers shifted their focus to developing computers based on quantum mechanical phenomenon as current computers started to plateau in performance. Some problems such as integer factorization have been shown to perform much more efficiently on a quantum computer than on its classical counterpart. However, quantum computers will continue to remain the object of theoretical research unless it can be physically manifested, and quantum circuit optimization hopes to be a useful aid in turning the theory into a reality. My project looks at a possible approach to solving the issue of circuit optimization by incorporating classical algorithms as well as touching on another possible application of machine learning. The research and implementation is incomplete, but a glance at the material shows it has potential to be fairly effective.</p>
2012-03-14T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/16
oai:digitalcommons.calpoly.edu:cscsp-1020
2012-06-19T21:38:23Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
BlueBeats
Martinez, Aaron
Muir, Jake
Shah, Mishal
Wissemann, Richard
Computer Science Department
BS in Computer Science
2012-05-01T07:00:00Z
Hugh Smith
Digital Communications and Networking
Other Computer Engineering
Other Electrical and Computer Engineering
Bluetooth
Wireless Communication
BlueBeats
SPP
A2DP
Audio
<p>Our group’s senior project is called BlueBeats. The BlueBeats product was created in order to provide a wireless audio gateway between Bluetooth enabled devices. Users of BlueBeats can use an Android or computer application to interface with the BlueBeats device. The Android and computer applications allow the user to easily scan for devices, add/remove devices from their personal list, and pair/connect with a selected Bluetooth enabled device. Once the user is connected to the BlueBeats device, he/she has two options. The first option occurs when the user connects the BlueBeats device to a device with speakers (using 3.5mm audio jack or RCA cable) which will allow the user to wirelessly transmit audio to the BlueBeats device so it can be played through the device’s speakers. The second option occurs when the user connects a TV to the BlueBeats device (using 3.5mm audio jack or RCA cable) and chooses to wirelessly (using Bluetooth) connect the BlueBeats device to a headphones Bluetooth device. This allows the user to wirelessly transmit the audio from the TV to the user’s Bluetooth enabled headphones. As a result, BlueBeats gives users more flexibility with audio applications by allowing users to wirelessly transmit audio from their phone to a device with speakers or from a device with speakers to a pair of Bluetooth enabled headphones.</p>
<p>The software for both the Android and computer applications were written in Java. The Android application uses the public Bluetooth APIs in order to make the connection between the phones and BlueBeats. The computer application uses the Bluecove Bluetooth APIs in order to make the connection between the computer and BlueBeats. Both applications contain the same options for the user and follow the same layout in order to increase the usability of both applications for the user. Additionally, both applications hide a lot of the complex Bluetooth functionality from users so that they just have to select devices they want to add to their personal list and then select a device from their list that they want to connect to.</p>
<p>The hardware consists of a WT-32 BlueGiga chip that is used to communicate with the microcontroller board in order to play and receive audio. The design for the microcontroller board was created using the Eagle software. The microcontroller board and the WT-32 chip is placed inside an enclosure that keeps all of the hardware out of sight and keeps all of the delicate parts of the circuit board properly contained. The enclosure for the hardware is 2.6 inches by 2.5 inches and it has holes for the buttons, LED lights, and the audio jack. There are 3 LED lights that include one for power, one for bluetooth connection, and one if the battery needs charging. The four buttons consists of play/pause, next song, volume up, and volume down.</p>
<p>Our team decided to further develop our project into a company after graduating. Since the team consists of only technical students, we had to learn the business side of our project on our own. We were able to see a glimpse of the business aspect through the resources that Cal Poly provides. The resources that were the most useful were the Center for Innovation and Entrepreneurship (CIE) and the Student Startup Assistance Team (SSAT). We were given useful information about the basic process of starting a company, and how to setup a vision that the company could follow. We were also able to draft a provisional patent application from the resources that we received through the CIE.</p>
<p>The original estimated cost for the BlueBeats was based on two main items for development, the Arduino Uno ($30) and Bluetooth chip WT-32 ($60), which is turns out to be around $90. The final cost for our senior project was $732.74 with the hardware development cost being $252.44. The most expensive part of our senior project was creating five BlueBeats devices using the 3D prototype printer and our own circuit board. At the end of our project, each BlueBeats device cost was cut down to a cost of $96.06.</p>
2013-06-07T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/18
oai:digitalcommons.calpoly.edu:cscsp-1021
2012-06-12T16:48:10Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
The Android Powwow Invitation Application
Stewart, Jason
Computer Science Department
BS in Computer Science
2012-03-01T08:00:00Z
Michael Huangs
Computer Engineering
Other Engineering
Android
Application
Mobile
Computer Science
2012-06-07T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/17
oai:digitalcommons.calpoly.edu:cscsp-1022
2012-06-19T21:42:04Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Tacky Golf
Crosby, Robert
Computer Science Department
BS in Computer Science
2012-06-01T07:00:00Z
Zoe Wood
Graphics and Human Computer Interfaces
Other Computer Sciences
ios
app
game
golf
<p>This project implements a simple miniature golf game in 3d for the iPhone. Using a modular approach the game engine was written in several modules to handle its various functions and for cross platform potability. Four major modules are described in detail about their design choices and how they work. Ultimately the game and its engine are intended to be sold on the Apple App store and to be used for future games and applications on the iPhone.</p>
2012-06-12T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/19
oai:digitalcommons.calpoly.edu:cscsp-1023
2013-04-16T18:33:19Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
CSC Senior Project: NLPStats
Mease, Michael
Computer Science Department
BS in Computer Science
2013-03-01T08:00:00Z
Foaad Khosmood
Artificial Intelligence and Robotics
Computational Linguistics
Numerical Analysis and Scientific Computing
Other Computer Sciences
Natural Language Processing
Statistics
Authorship Analysis
Style
<p>Natural Language Processing has recently increased in popularity. The field of authorship analysis, specifically, uses various characteristics of text quantified by markers. NLPStats serves as a tool designed to streamline marker extraction based on user needs. A flexible query system allows for custom marker requests, adjustment of result formatting, and preprocessing options. Furthermore, an efficiently designed structure ensures that users retrieve information quickly. As a whole, NLPStats enables anyone, regardless of NLP experience, to extract important information about the text of a document.</p>
2013-03-18T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/20
oai:digitalcommons.calpoly.edu:cscsp-1024
2013-04-16T18:36:03Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Amethyst: A 3D Adventure Game for Tablets
Light, Ross
Computer Science Department
BS in Computer Science
2013-03-01T08:00:00Z
Zoë Wood
Computer Sciences
Graphics and Human Computer Interfaces
unity
game
mobile
graphics
<p>Amethyst is a point-and-click science fiction adventure game for tablets, developed over two quarters to demonstrate applied principles of computer graphics and software engineering discipline. Using a novel interaction system, players can engage in environmental puzzles. Development of Amethyst required non-trivial quality assurance measures and workflow enhancements. The end result is a functional technical demo showcasing a single level, with the ability to rapidly produce more content.</p>
2013-03-25T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/21
oai:digitalcommons.calpoly.edu:cscsp-1025
2013-06-25T16:49:57Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Project Writeup on Amethyst: A 3D Adventure Game for Tablets
Hintz, Adam
Computer Science Department
BS in Computer Science
2013-04-01T07:00:00Z
Zoë Wood
Graphics and Human Computer Interfaces
Other Computer Sciences
Systems Architecture
<p>Amethyst is a point-and-click science fiction adventure game for tablets, developed over two quarters to demonstrate applied principles of computer graphics and software engineering discipline. Using a novel interaction system, players can engage in environmental puzzles. Development of Amethyst required non-trivial quality assurance measures and workflow enhancements. The end result is a functional technical demo showcasing a single level, with the ability to rapidly produce more content.</p>
2013-05-13T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/25
oai:digitalcommons.calpoly.edu:cpesp-1085
2013-06-24T17:50:58Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
publication:cpesp
Inform 7 Usability Precompiler
Brantley, Chad Robert
Phan, Timothy
Computer Engineering Department
BS in Computer Engineering
2013-06-01T07:00:00Z
Foaad Khosmood
Computer Engineering
Computer Sciences
<p>Inform 7 Usability Precompiler or I7UP is a project which helps Inform 7 authors with their stories by diversifying the possibilities in the author’s interactive fiction. I7UP reads and analyzes the Inform story that is passed in through python and natural language processing then provides the user with a selection of choices to add to his story and lastly automatically generates the corresponding Inform 7 code. By utilizing the combination of Python, Django, and HTML/CSS, I7UP is able to provide an easytouse interface which helps generate additional "Understand" statements and "Conjugated Verb" statements. I7UP is an authoring aid for Inform 7 operators. I7UP will simply add on to the story and allow the author the choice of statements to add on. This project is extensible since it allows support for more features and can further aid Inform authors with their interactive fiction.</p>
2013-06-11T07:00:00Z
https://digitalcommons.calpoly.edu/cpesp/81
oai:digitalcommons.calpoly.edu:cscsp-1026
2013-06-17T16:51:17Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Dynamic Paint for Maya: Creation and Use in the Animation Short "Color Clash"
Wallis, Christopher
Computer Science Department
BS in Computer Science
2013-06-01T07:00:00Z
Zoë Wood
Other Computer Engineering
Animation short
Dynamic paint
Maya
MEL
Maya plugin
fluid simulation
<p>This write-up describes the creation and utilization of a paint effect from both the perspective of the programmer and the animator. The paint effect simulates a 2D fluid using the algorithm described in Jos Stam's ``Real-time Fluid Dynamics for Games'' \cite{stam}, bakes the results into an image sequence, and then wraps the sequence around a 3D mesh. The second half of this paper describes how the effect was integrated into the animation short, ``Color Clash'' and the animation pipeline that was used.</p>
2013-06-12T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/22
oai:digitalcommons.calpoly.edu:cscsp-1027
2013-06-19T15:36:16Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Gravity Evolved
DuVall, Clark
Computer Science Department
BS in Software Engineering
2013-06-01T07:00:00Z
Zoë Wood
Graphics and Human Computer Interfaces
Software Engineering
iOS
C++
game
physics
mobile
graphics
<p><strong>Gravity Evolved</strong> is a galactic physics game, created for mobile devices. In the game, you make your own solar system by creating planets, and then placing weapons on the planets. The physics of these planets and projectiles shot by the weapons are then simulated. <strong>Gravity Evolved </strong>has a Battle mode, where your solar system is pitted against an opposing solar system. In Battle mode, you earn money to unlock, create, and upgrade items in your solar system. <strong>Gravity Evolved</strong> will be on the Apple App Store and Google Play Store in the summer of 2013.</p>
2013-06-13T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/24
oai:digitalcommons.calpoly.edu:cscsp-1028
2013-06-17T16:52:26Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
0TTER - 0g Tracking and Targeting Experiment in Real-Time
Bussjaeger, Brandon
Computer Science Department
BS in Computer Science
2013-06-01T07:00:00Z
Foaad Khosmood
Computational Engineering
OpenCV
Visual Studio
NASA
microgravity
object tracking
color detection
2013-06-14T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/23
oai:digitalcommons.calpoly.edu:cscsp-1029
2013-06-28T16:14:17Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
More Like This
Lawson, Geoffrey
Computer Science Department
BS in Computer Science
2013-06-01T07:00:00Z
Alexander Dekhtyar
Data Storage Systems
Other Computer Engineering
Automated Recomendations
2013-06-14T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/26
oai:digitalcommons.calpoly.edu:eesp-1223
2013-06-19T16:05:50Z
publication:research
publication:students
publication:cscsp
publication:eesp
publication:seniorprojects
Poly_Sense: Modular Wireless Sensor Network
Andal, Ian
Shirley, James
Vierra, Haleigh
Electrical Engineering Department
BS in Electrical Engineering
2013-06-01T07:00:00Z
Bridget Benson
VLSI and Circuits, Embedded and Hardware Systems
wireless sensor network
modular
bitcloud
mems
rtos
<p>Poly_Sense provides a platform for developers to use for a wide range of Wireless Sensor Network (WSN) applications. This modular system supports different sensing applications by allowing the developer to easily change between supported sensors through the graphical user interface (GUI). The platform also allows developers to integrate new sensors by writing device drivers which follow the platform’s guidelines and utilize the application programming interface (API). This low-power and cost-effective wireless solution not only provides a basic platform for entry-level developers, but also accommodates larger-scale applications.</p>
2013-06-16T07:00:00Z
https://digitalcommons.calpoly.edu/eesp/208
oai:digitalcommons.calpoly.edu:cscsp-1030
2013-06-28T16:30:06Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
HID RW300/RW400 hardware implementation vulnerabilities and mitigation strategies
Nelson, Taylor
Computer Science Department
BS in Computer Science
2013-06-01T07:00:00Z
Bryan Mealy
Other Computer Engineering
RFID HID iClass Memory Bug Exploit Security
<p>The HID RW300/RW400 readers are in use and deployed in buildings around the world. Designed for industrial/commercial facilities security requirements you can find them outside biotech companies (AMGEN), educational institutions (Cal Poly San Luis Obispo), and doctors offices. In a 2010 paper entitled “Heart of Darkness - exploring the uncharted backwaters of HID iCLASSTM security” by Milosch Meriac numerous vulnerabilities were outlined. Despite this research HID continues to sell these readers to consumers.</p>
<p>To properly protect the safety of individuals and assets these HID devices are no longer adequate. I have verified that these attacks are feasible by a moderately skilled adversary (myself) with limited resources, less than 60$ and a laptop. These attacks would enable an individual to quickly subvert the security afforded by these devices and immediately gain access to protected areas. In this paper I will present my findings as well as mitigations that institutions currently utilizing these devices may adopt to better improve their facilities security.</p>
2013-06-20T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/27
oai:digitalcommons.calpoly.edu:cscsp-1031
2013-07-31T17:30:30Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Motion Controlled Graphics Applications
Burton, Robert, Jr.
Computer Science Department
BS in Computer Science
2013-06-01T07:00:00Z
Zoe Wood
Computer Sciences
<p>This project implements a new control scheme for the OpenGL racing game Crusin Pangea[3] using the motion tracking Leap Motion device[1]. It attempts to increase the engagement with the user by interacting on a more fundamental basis of control. The advantages and drawbacks of this new control scheme are then analyzed based on feedback from a user test group.</p>
2013-07-25T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/28
oai:digitalcommons.calpoly.edu:cscsp-1032
2013-08-23T20:54:13Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Brovine: Mammary Gland Gene Database
Irwin, Therin C
Computer Science Department
BS in Computer Science
2013-06-01T07:00:00Z
Alexander Dekhtyar
Databases and Information Systems
Numerical Analysis and Scientific Computing
genetic
apriori
TESS
transcription factor
transcription element search system
<p>Brovine is used by the Animal Science department at Cal Poly to catalog and analyze genetic information. Brovine, or the Mammary Gland Gene Database, is a system used to store and categorize genetic information which is gathered through experimentation and through TESS, a web application that lets users search through catalogs of similar genetic information. This document describes the purpose, use, and maintenance of Brovine.</p>
2013-08-21T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/29
oai:digitalcommons.calpoly.edu:cscsp-1033
2013-10-14T16:12:21Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
TicketCloud
McKelvie, Ross
Computer Science Department
BS in Computer Science
2013-06-01T07:00:00Z
Gene Fisher
Other Computer Engineering
webapp
ios
mobile
api
qr
<p>TicketCloud is a digital ticket service that offers advantages to both event hosts/vendors and consumers. Using QR Codes, RESTful cloud APIs, and mobile devices TicketCloud takes an outdated market digital and opens up new methods of transacting, allowing customers to resell tickets from their couch and for vendors to reap the benefits of these transactions.</p>
2013-09-16T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/30
oai:digitalcommons.calpoly.edu:cscsp-1034
2013-12-12T23:22:27Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Astrophobia: A 3D Multiplayer Space Combat Game with Linear Entity Interpolation
Larson, Luke
Computer Science Department
BS in Computer Science
2013-12-01T08:00:00Z
Zoë Wood
Graphics and Human Computer Interfaces
OS and Networks
linear
entity
interpolation
networked
game
space
<p>Astrophobia is a Descent-like 3D networked multiplayer space combat game with linear entity interpolation (client-side animation between game-state packets to give the illusion of continuous game updates) similar to entity interpolation implemented in Valve Software’s Source engine. Additionally, Astrophobia procedurally generates unique levels, has zero-gravity physics, ship and projectile wall bouncing, hit detection, OpenGL 3D graphics, Phong lighting, ship model and texture, and a simple HUD that provides visualization of health points, aiming crosshair, and player scoreboard.</p>
2013-12-12T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/31
oai:digitalcommons.calpoly.edu:cscsp-1035
2013-12-16T18:39:31Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Tascked: The Sanity Promoting Task Manager
Tobin, Jake
Computer Science Department
BS in Computer Science
2013-12-01T08:00:00Z
Phillip Nico
Computer and Systems Architecture
Data Storage Systems
Digital Communications and Networking
Other Computer Engineering
task management
productivity
recommendation
todo
to do list
<p>Personal task managers or various forms of to-do lists are abundant in our modern computing age. With the explosion of mobile computing technology, it is easier than ever to take notes digitally and make the data seemingly instantly available anywhere on the Internet. There is a fairly well defined core set of features in personal task managers available for public consumption, but it seems nothing that is publicly available provides feedback to the user or suggestions based on user history. Tascked is a task management solution, which records user history and solicits user feedback on progress. This allows the system to generate trend reports for the users consideration and provide "what's next" suggestions to giving users rapid access to productive tasks they can take on at any given time. Tascked.com is the work in progress implementation of the design outlined in this document.</p>
2013-12-16T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/32
oai:digitalcommons.calpoly.edu:cscsp-1036
2013-12-17T18:45:49Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Reconstructing Point Clouds of Mid-size Objects
Woodworth, Spencer
Computer Science Department
BS in Computer Science
2013-12-01T08:00:00Z
Zoe Wood
Graphics and Human Computer Interfaces
Numerical Analysis and Scientific Computing
Other Computer Sciences
Software Engineering
point clouds
stereo vision
three dimensional
reconstruction
depth map
disparity
<p>This project explores the use of an inexpensive 3D camera for the acquisition and reconstruction of mid-size objects. The disparity of objects between stereo image pairs are used to calculate depth and generate a depth map. The depth map is used to generate a point cloud representation of the object from a single view. Finally, point clouds are generated from several views of an object and then aligned and merged into a seamless 360-degree point cloud.</p>
2013-12-17T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/33
oai:digitalcommons.calpoly.edu:eesp-1243
2013-12-20T17:39:20Z
publication:research
publication:students
publication:cscsp
publication:eesp
publication:seniorprojects
Remote/Autonomous Sentry Gun Platform
Gagliardi, Angelo
Gagliardi, Dante
Electrical Engineering Department
BS in Electrical Engineering
2013-12-01T08:00:00Z
John Seng
Hardware Systems
Robotics
Systems Engineering and Multidisciplinary Design Optimization
multidisciplinary computer mechanical electrical autonomous robotics
<p>This senior project involves the complete system design and construction of a "Nerf" sentry gun to replace an armed guard. We aimed to develop a compact and highly mobile defense system that allows operational flexibility. The sentry gun can autonomously track and shoot at moving targets, while also allowing a user to remotely access and control the gun via computer. The mobility, hardiness, and functionality of this system allows a reliable replacement for human beings in harsh and hostile environments; ultimately sparing a life.</p>
2013-12-18T08:00:00Z
https://digitalcommons.calpoly.edu/eesp/230
oai:digitalcommons.calpoly.edu:cscsp-1037
2013-12-18T22:38:38Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Testing Virtual Machines for CADRC Server Hosting
Verweij, Robin
Computer Science Department
BS in Computer Science
2013-12-01T08:00:00Z
Foaad Khosmood
Digital Communications and Networking
Hardware Systems
Operational Research
Systems Engineering
Virtual Machine
CADRC
Server Hosting
2013-12-18T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/34
oai:digitalcommons.calpoly.edu:cscsp-1038
2014-03-25T00:48:33Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Cal Poly Library of Pyroprints: Quality Control Analysis and Web Development
Ricketts, Chase
Computer Science Department
BS in Computer Science
2014-03-01T08:00:00Z
Alexander Dekhtyar
Biology
Computational Engineering
Data Storage Systems
CPLOP
Pyroprints
E. coli
Microbial Source Tracking
Strain
2014-03-24T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/36
oai:digitalcommons.calpoly.edu:cscsp-1039
2014-04-07T18:42:16Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Modeler: Web API Modeling Tool
Pomortsev, Yegor
Computer Science Department
BS in Computer Science
2014-03-01T08:00:00Z
Clark Turner, Gene Fisher
OS and Networks
web
API
REST
modeling
<p>This report presents the API Modeler system, a tool for creating and modifying web APIs models, within the context of the API modeling problem, and how it serves to solve several common use-cases and scenarios for interacting with web API models. The report describes the motivation for Modeler, its design and implementation, related tools, and possible future improvements to the system.</p>
2014-04-07T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/35
oai:digitalcommons.calpoly.edu:mathsp-1008
2019-06-03T16:49:30Z
publication:mathsp
publication:research
publication:students
publication:cscsp
publication:seniorprojects
A PLI Computer Program for Hidden Line Elimination
Pfister, Dennis M.
Mathematics Department
BS in Mathematics
1971-01-01T08:00:00Z
Neil Webre, Joseph Borzellino
<p>The elimination of lines not normally viewed during a visual perception of a three-dimensional object that is being simulated on a computer graphics display is called hidden line elimination (Fig. 1). My project consists of a PL-1 computer program which implements an algorithm for hidden line elimination written by A. Montanari and R. Galemberti published in the April 1969 issue of the Communications of the ACM.</p>
2014-05-13T07:00:00Z
https://digitalcommons.calpoly.edu/mathsp/6
oai:digitalcommons.calpoly.edu:cscsp-1040
2014-06-12T17:41:05Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Central Pacific Ski Club iOS Application
Thrailkill, Kevin
Computer Science Department
BS in Computer Science
2014-06-01T07:00:00Z
Gene Fisher
iOS
2014-06-09T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/37
oai:digitalcommons.calpoly.edu:cscsp-1041
2014-06-18T16:35:30Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Frameworks for a General-Purpose Smart Home Operating System
Hoelle, Donald
Computer Science Department
BS in Computer Science
2014-06-01T07:00:00Z
John Seng
Other Computer Engineering
home automation
IoT
Internet of Things
Smart Home
<p>Smart home technologies are rapidly growing in prevalence. For my senior project, I designed and implemented the beginnings of a general-purpose framework for a unified Smart Home Operating System, capable of controlling all of the diverse aspects of automated homes. This paper outlines the design challenges involved in building generic smart home systems, as well as the project architecture I designed and implemented to attempt to solve this problem.</p>
2015-06-13T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/38
oai:digitalcommons.calpoly.edu:cscsp-1042
2014-06-13T21:59:19Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Web Based Tactical Role Playing Game in JavaScript
Cilva, David
Doyle, Paul
Hill, Stephen
Judish, Rachel
Computer Science Department
BS in Computer Science
2014-06-01T07:00:00Z
Michael Haungs
Other Computer Engineering
javascript
game
rpg
enchant
<p>The goal of this senior project was to develop a webbased game that emphasized narrative through gameplay within the context of a tactical RPG gameplay style. As the project developed, emphasis shifted from narrative to refining gameplay and making decisions within gameplay meaningful and satisfying. The project elaborates on the standard tactical RPG combat system, incorporating mechanics and ideas from various other games. This was done in order to make the play feel challenging and rewarding as well as to avoid some of the pitfalls that bog down existing games in this genre. Since work was concentrated on building the core gameplay, the final product was a functional game with a focus on a strong strategic core instead of progression and narrative content.</p>
2014-06-13T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/39
oai:digitalcommons.calpoly.edu:cscsp-1043
2014-06-18T16:38:18Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
T.O.A.D: Tower Offense Android Development
Bryan, Jeffrey
Computer Science Department
BS in Computer Science
2014-06-01T07:00:00Z
Aaron Keen
Other Computer Sciences
Software Engineering
Android
Gaming
<p>TOAD is a tower offense game developed for Android smart phones and tablets. TOAD was developed to demonstrate applied principles of computer science and the software design process. The game engine was written as several components to handle various functions and allow for portability to other platforms. The end result is a fully functional game that can be used as a base to further expand on the idea and be showcased on Google Play.</p>
2014-06-13T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/40
oai:digitalcommons.calpoly.edu:cscsp-1044
2014-07-09T05:02:41Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
MIDIFlapper: A Leap Motion MIDI Controller
Henry, Mark M
Computer Science Department
BS in Software Engineering
2014-03-01T08:00:00Z
Franz J. Kurfess
Graphics and Human Computer Interfaces
Software Engineering
music
human-computer interface
natural user interface
<p>An application called MIDIFlapper was developed that translates data from the Leap Motion, an NUI device, into MIDI data suitable for use by a contemporary digital audio workstation. This allows electronic musicians to use the Leap Motion for musical creation and live performance.</p>
2014-07-08T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/41
oai:digitalcommons.calpoly.edu:cscsp-1045
2014-12-17T20:06:27Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
QuickBooks Self-Employed iOS Application
Young, Braden
Computer Science Department
BS in Computer Science
2014-12-01T08:00:00Z
David Janzen
Computer and Systems Architecture
Industrial and Product Design
2014-12-11T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/42
oai:digitalcommons.calpoly.edu:cscsp-1046
2014-12-17T20:08:10Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
RAPDB: The Rapid Social Application Deployment Service
Tyler, Lance
Morris, Matthew
Computer Science Department
BS in Computer Science
2014-12-01T08:00:00Z
Gene Fisher
Other Computer Engineering
RESTful
Jersey
jQuery
slimPHP
Java
node.js
2014-12-14T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/43
oai:digitalcommons.calpoly.edu:cscsp-1047
2015-03-17T16:31:42Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
TMC Simulator
Heater, Stuart
Computer Science Department
BS in Computer Science
2013-06-01T07:00:00Z
Clark Turner
Data Storage Systems
Digital Communications and Networking
CalTrans
California Highway Patrol
Computer-Aided Dispatch
Training Simulator
<p>The goal of this project was to design and implement a graphical user interface which simulates TriTech's VisiCad Inform computer- aided dispatch well enough for trainees to learn how to efficiently and accurately use the software in a risk-free environment. The simulator should also allow the training proctor to actively create new incidents during training in order to ensure that the trainees are able to respond properly. The structure of this project allowed me to work with both more- and less-experienced programmers, particularly those who are far more experienced with networking and hardware than myself. It was my first time taking a lead role in development, as well as my first time developing a large-scale GUI. The interface involve fifteen panels that can be accessed using hotkeys or a Photoshop-like toolbar and contain a variety of different information - traffic collision reports, physical descriptions for persons of interest, emergency vehicle maintenance reports and data, and more.</p>
2015-02-22T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/44
oai:digitalcommons.calpoly.edu:cscsp-1048
2015-04-15T20:50:20Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Grit Mobile: Data Collection App for the Grit Research Project
Chang, Ryan
Computer Science Department
BS in Software Engineering
2015-03-01T08:00:00Z
David Janzen
Computer and Systems Architecture
android
grit research
parse.com
android studio
mechanical engineering
mobile
<p>This project consists of one part of a larger University research project aimed at determining if active learning builds the character trait of grit in students while they learn in the domain of mechanical engineering. The research project has three goals: the development of a mobile app to measure the quantity and quality of active learning, a model of student success using the quantity and quality of active learning, and a characterization of the relationship between active learning and grit growth. This senior project focuses on the mobile app as part of the larger research project. The mobile app will provide users with the means to submit research data via their mobile phones. The mobile app, named \Grit Mobile", is developed for the Android platform. The mobile app is written in Java, using the Android SDKs. Additionally, the Parse platform is used for backend data collection and user management.</p>
2015-03-30T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/45
oai:digitalcommons.calpoly.edu:cpesp-1152
2015-09-02T20:18:26Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
publication:cpesp
Pre-R: Making healthcare healthier
Acorda, Timothy
Foletta, Ryan
Lee, Winifred
Nguyen, Thomas
Sarmiento, Isabella
Truong, Brian
Zhang, Marek
Computer Engineering Department
BS in Computer Engineering
2015-06-01T07:00:00Z
Lynne Slivovsky
Computer and Systems Architecture
iOS
Android
2015-06-04T07:00:00Z
https://digitalcommons.calpoly.edu/cpesp/171
oai:digitalcommons.calpoly.edu:cscsp-1049
2015-06-17T15:22:29Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Custom Keys: Numeric Keypad Server-Client Android App
Hom, Cameron
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
Phillip L. Nico
Digital Communications and Networking
Other Computer Engineering
Android Server Client Keystroke
<p>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.</p>
2015-06-08T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/52
oai:digitalcommons.calpoly.edu:cscsp-1050
2021-08-04T17:07:01Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Customer Tracking Through an Affordable Consumer Device Array
Nishi, Daniel
Computer Science Department
BS in Software Engineering
2015-06-01T07:00:00Z
John Seng
Other Computer Engineering
wifi
tracking
raspberry pi
customer tracking
data collection
<p>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.</p>
2015-06-08T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/46
oai:digitalcommons.calpoly.edu:cscsp-1051
2015-06-17T15:18:12Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
CP Maps – An interactive Cal Poly Map iOS Application
Fung, Brian
Lind, Carl, III
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
Aaron Keen
Engineering
Other Engineering
iOS Cal Poly Map App Google Maps CPMaps
<p>According to Forbes magazine, Cal Poly ranks No. 9 among Califor- nia’s public universities and is the top-ranked California State University for this past year[7]. More than 55,000 undergraduates seek admission for Fall 2015[11]. These visiting students and their families and as well as 20,000 cur- rent students, faculty and staff need an convenient way of navigating around campus[8]. Our iOS app—CP Maps—was built from the ground up to address the difficulty of navigating around campus.</p>
2015-06-09T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/49
oai:digitalcommons.calpoly.edu:cscsp-1052
2015-06-17T15:25:19Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
GreenPlace: A User Driven Marketplace for Perishable Goods
Higuera, Nicolas
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
Phillip Nico and Clark Turner
Other Computer Engineering
Marketplace Market Perishable Business Management
<p>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.</p>
2020-06-08T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/54
oai:digitalcommons.calpoly.edu:cpesp-1165
2015-06-30T21:44:29Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
publication:cpesp
Oversubscribing inotify on Embedded Platforms
Percivalle, Donald
Vanderlind, Scott
Computer Engineering Department
BS in Computer Engineering
2015-06-01T07:00:00Z
Zachary Peterson
Computer and Systems Architecture
Data Storage Systems
inotify
embedded
nas
linux
kernel
file system
<p>For most computers running the popular Linux operating system, the inte- grated kernel component inotify provides adequate functionality for monitor- ing changes to files present on the filesystem. However, for certain embedded platforms where resources are very limited and filesystems are very populated (like network attached storage (NAS) devices), inotify may not have enough resources to provide watchers for every file. This results in applications missing change notifications for files they have watched. This paper explores methods for using inotify most effectively on embedded systems by leveraging more la- tent storage. Benefits of this include a reduction in dropped notifications in favor of an introduced delay on notifications for files that are less frequently changed.</p>
2015-06-11T07:00:00Z
https://digitalcommons.calpoly.edu/cpesp/162
oai:digitalcommons.calpoly.edu:cscsp-1053
2015-06-17T15:27:23Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Development of a Tridimensional Measuring Application For iPads
Casebolt, Michael
Kouatli, Nicolas
Mullen, Jack
Industrial Technology
BS in Industrial Technology
2015-05-01T07:00:00Z
John Clements
Geometry and Topology
Graphics and Human Computer Interfaces
Industrial Technology
Software Engineering
3D scanning
Object Reconstruction
Dimensions Measurement
Mobile Application
Computer Vision
Structured Light
<p>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 (length, width, & height) of the minimum sized package necessary to contain the objects. In cooperation with a Computer Science student, two Industrial Technology students developed multiple iterations and alternate methods of testing to determine and optimize the accuracy and functionality of the application. This project has been developed in coordination with the technical advisers Industrial Technology professor Javier de la Fuente (PhD) and Computer Science professor John Clements (PhD).</p>
2015-06-11T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/55
oai:digitalcommons.calpoly.edu:cscsp-1054
2015-06-17T15:24:03Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Enterprise Smart Outlet - iOS Application
McGovern, Riley
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
John Bellardo
Digital Communications and Networking
iOS
outlet
Node.js
IOT
power
<p>The Enterprise Smart Outlet is a system made up of a smart outlet, a Node.js server, and a companion iOS application. It builds on the already existing market of smart power outlets and aims to bring that type of functionality fully scaled up to the enterprise level. The smart outlet connects to the Node.js server and sends its power readings. The iOS application connects to the Node.js server to receive all power readings from all the connected smart outlets and can also toggle the power on and off for each outlet.</p>
2015-06-12T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/53
oai:digitalcommons.calpoly.edu:cscsp-1055
2015-06-17T15:07:17Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Dynamic Voxel Based Terrain Generation
Sanford, Thomas
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
Zoe Wood
Graphics and Human Computer Interfaces
Volume
Marching Cubes
Real Time
Geometry Shader
<p>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.</p>
2015-06-12T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/47
oai:digitalcommons.calpoly.edu:cscsp-1056
2015-06-17T15:10:38Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Ascendance: A Platformer for Computers
Beauchamp, Philip Scott
Plaster, Joseph Grant
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
Zoe Wood
Other Computer Engineering
<p>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 screen, backstory, tutorial, and single level, with the ability to easily expand the game to encapsulate more levels and new features.</p>
2015-06-12T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/48
oai:digitalcommons.calpoly.edu:mesp-1289
2015-06-25T20:11:29Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
publication:mesp
publication:cpesp
Forest Sign Maker
Espinosa, Victor, III
Ly, Kevin
Yip, Lisa
Mechanical Engineering Department
BS in Mechanical Engineering
2015-06-01T07:00:00Z
John Ridgely
Computer-Aided Engineering and Design
Computer and Systems Architecture
Controls and Control Theory
Digital Circuits
Digital Communications and Networking
Electrical and Electronics
Electro-Mechanical Systems
Hardware Systems
Structural Materials
Computer Numerical Control
CNC
routing
Inyo National Forest
automation
Graphical User Interface
<p>Executive Summary:</p>
<p>The Inyo National Forest is arguably one of the most beautiful locations in California, containing natural masterpieces such as Mount Whitney and the Ancient Bristlecone Pine Forest. Despite its magnificence, the Inyo National Forest can be a treacherous region. The Friends of the Inyo take pride in being able to facilitate the viewing experience for all outdoorsmen by maintaining the mountain trails, which includes providing adequate trail signage.</p>
<p>Unfortunately, there is a fundamental issue with the recent state of trail signage in the Inyo National Forest: the rate at which signs are being vandalized or naturally destroyed is greater than the rate at which signs can be produced. More specifically, the problem is that the current sign production process is completely manual; the process of routing the necessary letters and symbols consumes the majority of the production time, since it takes approximately two days to complete. Without adequate signage on the mountain trails, hikers and explorers are at a heightened risk for injury.</p>
<p>We, the Cal Poly Forest Friends, have been commissioned by the Friends of the Inyo to resolve the issue of manufacturing trail signs. We plan on designing, building, and testing a prototype CNC machine for Paul McFarland, an employee of the Friends of the Inyo whom is responsible for replacing signs. This CNC machine can automatically produce a trail sign from a wooden blank so as to expedite the sign replacement process. By comparing different industry methods of etching letters into a wood substrate, researching all applicable signage guidelines for compliance, and optimizing the prototype design for the intended use cases, we have developed a low cost, high capacity CNC router that can be installed directly in Paul McFarland’s workshop.</p>
<p>There has been much work done in the field of CNC machinery, so we believe it is feasible to design a functioning prototype that has been optimized for this purpose. The positional accuracy range of the machine will be broadened from the industry standard of <em>±0.0005 in </em>to our requirement of <em>±0.063 </em>inches. This optimized accuracy will allow for emphasis on increased workpiece capacity at a lower total cost. Additionally, by building the prototype CNC router as part of the Cal Poly Multidisciplinary Senior Project class, we will be able to adhere to the revised <em>$3,500 </em>budget. With a successful prototype in hand by June 2015, the sign production rate for the Friends of the Inyo will potentially increase tenfold, and provide the Friends of the Inyo with the ability to replace illegible trail signs within the Inyo National Forest.</p>
2015-06-12T07:00:00Z
https://digitalcommons.calpoly.edu/mesp/263
oai:digitalcommons.calpoly.edu:cscsp-1059
2015-06-25T18:01:10Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
x264 Video Encoding Frontend
Lam, Alvin
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
Gene Fisher
Other Computer Engineering
x264
Encoding
GUI
Frontend
Application
<p>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 these codecs to encode videos. The frontend provides a simple and easy-to-use graphical user interface. Subtitles are preserved across encodes and the resulting encoded file is stored in a Matroska container format.</p>
2015-06-12T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/67
oai:digitalcommons.calpoly.edu:cscsp-1058
2015-06-25T17:55:50Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
The LectureScribe Platform
Backers, Kevin
Feutz, Kevin
Owen, Erik
Computer Science Department
BS in Software Engineering
2015-06-01T07:00:00Z
Gene Fisher
Other Computer Engineering
LectureScribe
lecture
transcription
voice-to-text
voice
text
real-time
<p>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.</p>
2015-06-12T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/63
oai:digitalcommons.calpoly.edu:cscsp-1060
2015-06-25T17:50:52Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Wilderness Survival: Multiplayer Survival Game Using Unity Game Engine (C#)
Bertorelli, Todd
Thomas, Brady
Fujikawa, Justin
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
Michael Haungs
wilderness
survival
unity
multiplayer
game
<p>The goal of this senior project was to develop a standalone real-time multiplayer survival game based on elements from other similar games and mods from the computer game <em>Warcraft III</em>. The Unity game engine was used because it has a lot of the basic game development frameworks so more time could be done designing the game rather than implementing the frameworks. Even with the Unity game engine, there was still a large amount of implementation required to provide a foundation for designing the game, and thus more emphasis was put into framework implementation. This report discusses the original vision of the game, Wilderness Survival, the incorporated elements from similar games, our design decisions, and implementation overview. The final product is a playable game with core game features.</p>
2015-06-12T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/59
oai:digitalcommons.calpoly.edu:cscsp-1061
2015-06-25T17:57:19Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Enterprise Smart Outlet: Android Development
Koeppel, Aaron
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
Aaron Keen
Computer Engineering
Android
computer science
multidisciplinary
smart
<p>This project consists of one part of a larger multidisciplinary project, Enterprise Smart Outlet. The purpose of the Enterprise Smart Outlet is to create an electrical outlet which would allow enterprise users to monitor and change their power consumption habits on a large scale. The goal of this project is to allow consumers to see their power consumption per outlet in real time, and then use that information to inform their future habits, helping them conserve electrical energy and money. The Enterprise Smart Outlet Android application provides an interface to display the real time data of all smart outlets connected and the ability to enable or disable each outlet individually.</p>
2015-06-12T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/64
oai:digitalcommons.calpoly.edu:cscsp-1062
2015-06-25T17:48:08Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
The Struggle of the Rubiniumite Wars
Mendez, Timothy
Peterson, Evan
Huang, Darren
Lozier, Kyle
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
Zoe Wood
Other Computer Engineering
rubiniumite
struggle
game
javascript
threejs
parse
<p><em>The Struggle of the Rubiniumite Wars</em>is 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.</p>
2015-06-13T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/58
oai:digitalcommons.calpoly.edu:cscsp-1063
2015-06-25T17:43:31Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
The Ground Is Lava!
Jacobs, Aaron
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
Zoë Wood
Other Computer Engineering
game
C++
OpenGL
multiplayer
fps
platformer
<p>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.</p>
2015-06-14T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/57
oai:digitalcommons.calpoly.edu:cscsp-1064
2015-06-25T17:58:32Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
G Boots: A Real-Time 3D Puzzle Video Game Graphics Senior Project
Glazer, Zachary
Computer Science Department
BS in Software Engineering
2015-06-01T07:00:00Z
Zoë Wood
Other Computer Engineering
graphics
OpenGL
video game
<p>G Boots is a real-time 3D puzzle video game. It uses OpenGL, using GLSL for shaders, in order to implement cross platform support of advanced rendering and shading techniques. A level editing system was implemented so that anyone can make or edit levels that can then be played in the game. At the end of two quarters of development by a single developer, one polished proof of concept level was created using the level editing system in order to show the feasibility of the project.</p>
2015-06-14T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/65
oai:digitalcommons.calpoly.edu:cscsp-1065
2015-06-25T18:15:43Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Configuration-driven table library
Smith, Torrin
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
Hasmik Gharibyan
Other Computer Engineering
2020-06-13T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/69
oai:digitalcommons.calpoly.edu:cscsp-1066
2015-06-25T17:52:09Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Ciceroni iOS App
Hansen, Forrest D
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
Zoe Wood
Other Engineering
ios
app
tour
html5
javascript
cordova
<p>The Ciceroni app for iOS is a crowdsourcing tour app that allows users to create and share tours consisting of a collection of locations. Although it can be used for various purposes, it was designed to facilitate the transfer of knowledge from locals to tourists and to provide a free alternative to traditional tours. The app enables Facebook users to create and share lists of locations which other users can then view and get directions to on a map. This project was developed in HTML 5 and JavaScript and demonstrates the use of the Google Maps JavaScript API, Parse Core database, and several Cordova plugins.</p>
2015-06-15T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/60
oai:digitalcommons.calpoly.edu:cscsp-1068
2015-06-25T17:53:23Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Semi-Automated Test Generation With SPEST
Mozek, Adam
Computer Science Department
BS in Software Engineering
2015-06-01T07:00:00Z
Gene Fisher
Computational Engineering
testing
black box
generation
automated
<p>Automated black box test generation is a useful tool for developers that allows them to</p>
<p>quickly generate a large number of tests with a wide range of values tested. The current most</p>
<p>popular tool for black box test generation in Java, JML, is lacking in a number of features.</p>
<p>SPEST aims to improve upon existing tools, and provide a black box test generation tool that</p>
<p>can create human readable tests from simple pre and post conditions added as comments to</p>
<p>the Java source code.</p>
2015-06-15T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/61
oai:digitalcommons.calpoly.edu:cscsp-1069
2015-06-17T15:19:28Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Creating a 3D Racing Game in OpenGL
Harper, Noah
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
Shinjiro Sueda
Computer and Systems Architecture
computer science
computer graphics
opengl
computer games
3d graphics
video games
2015-06-15T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/50
oai:digitalcommons.calpoly.edu:cscsp-1070
2015-06-17T15:21:01Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
JSish
Grasell, Ryan
Computer Science Department
BS in Computer Science
2015-07-01T07:00:00Z
Aaron Keen
Other Computer Engineering
programming language
interpreter
garbage collection
<p>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.</p>
<p>I chose this project because I wanted to reinforce my programing language skills, learn C++, and gain a deeper understanding of garbage collection.</p>
<p>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 I needed to grow accustomed to manually freeing memory in a complex, object oriented environment.</p>
<p>The most educational part of this project was writing the garbage collector. It was both an illuminating experience because I had never written one before, and very practical because it gave me insight to how modern languages run.</p>
2015-06-15T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/51
oai:digitalcommons.calpoly.edu:cscsp-1071
2015-06-25T17:54:12Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Drill Design Suite
Nordhof, Neil
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
Gene Fisher
Graphics and Human Computer Interfaces
Software Engineering
Marching Band
<p>Drill Design Suite is a lightweight tool for creating drill for marching band programs.</p>
2015-06-16T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/62
oai:digitalcommons.calpoly.edu:cscsp-1072
2015-06-25T17:59:55Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
CRASH: A real-time 3D game engine designed to make game development easy
Patton, Christopher
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
Zoe Wood
game engine
game development
<p>Developing games on top of commercial game engines is difficult because the projects are too large to quickly understand. We present Crash: an alternative solution to game development that empowers developers to begin working on a game with very little introduction to the project by building a small, extensible, and modular game engine. Design patterns such as dependency injection and interface-based development encourage simple, understandable code and empower developers to divert their efforts toward the playable components of their games.</p>
2015-06-16T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/66
oai:digitalcommons.calpoly.edu:cscsp-1073
2015-06-19T07:12:49Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Automated Travel Itinerary Generation and Booking
Currie, Adam
Govett, Devon
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
John Clements
travel
booking
<p>Currently, planning travel online is a com- plicated process involving many websites, choices, and annoyances. For our senior project, we built a website where users can enter a list of all destinations they’d like to visit on their trip, and an optimal itinerary is automatically produced for them using the best available flights, rental cars, and hotels.</p>
2020-06-17T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/56
oai:digitalcommons.calpoly.edu:cscsp-1074
2015-06-25T18:03:15Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Multiplayer Browser-Based Game Utilizing JavaScript and WebGL Frameworks
Tan, CY
Naftali, Benjamin
Tong, Matthew
Chan, Vincent
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
Shinjiro Sueda
Graphics and Human Computer Interfaces
AETO
Game
Aether
MMO
online
webgl
<p>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.</p>
<p>The scope of our project does not encompass the complete feature set we have intended for the game, but rather a technical demonstration of its core and the overcoming of any difficulties that may arise in the technical components of this game. As a result, the bulk of this project will be comprised of developing a functional code-base to run a more basic version of the game in our intended environment.</p>
<p>The purpose of this game is to ultimately create a free unrestricted online multiplayer experience where creativity and ingenuity are fostered in the players. While the full set of features intended for the game far exceeds the components covered by the project, we plan to make an independent and functional game that will act as an early iteration for the project’s future development cycle.</p>
2016-06-22T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/68
oai:digitalcommons.calpoly.edu:mesp-1307
2015-09-02T21:48:16Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
publication:mesp
publication:cpesp
Pier2Pier: Final Report
Nelson, Kevin
Miller, Anthony
Maalouf, Paul
Shah, Chahan
Mechanical Engineering Department
BS in Mechanical Engineering
2015-06-01T07:00:00Z
John Ridgely
Computer Engineering
Electrical and Computer Engineering
Electro-Mechanical Systems
Remote underwater viewing
Pier Portal
Live Streaming
2015-06-26T07:00:00Z
https://digitalcommons.calpoly.edu/mesp/286
oai:digitalcommons.calpoly.edu:cscsp-1075
2015-09-02T20:31:34Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Resound.fm
Bleifer, Matthew
Computer Science Department
BS in Computer Science
2015-06-01T07:00:00Z
David Janzen
Software Engineering
music
social
web
app
application
startup
<p>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 over a period of seven months and is currently available for the public to use at www.resound.fm.</p>
2015-07-10T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/70
oai:digitalcommons.calpoly.edu:cscsp-1077
2016-07-14T18:25:54Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Cormant CS-EDIS
Stelfox, Steven Jarred
Computer Science Department
BS in Software Engineering
2015-12-01T08:00:00Z
Gene Fisher
Engineering
2015-12-03T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/86
oai:digitalcommons.calpoly.edu:cscsp-1078
2016-07-14T18:20:54Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Pthreads Profiler
Quinlan, Ryan Van
Computer Science Department
BS in Computer Science
2015-12-01T08:00:00Z
Phillip Nico
Software Engineering
Systems Architecture
pthreads
profiler
thread
parallel
processing
performance
<p>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.</p>
2015-12-08T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/84
oai:digitalcommons.calpoly.edu:cscsp-1079
2016-07-18T17:50:14Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Co-rotational Finite Element Solid Simulation with Collisions
Riordan, Patrick
Computer Science Department
BS in Computer Science
2015-12-01T08:00:00Z
Shinjiro Sueda
Graphics and Human Computer Interfaces
Theory and Algorithms
Graphics
TetGen
PQP
Mueller
<p>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.</p>
2015-12-13T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/99
oai:digitalcommons.calpoly.edu:cscsp-1080
2016-07-14T18:23:25Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Naturey Snake
Xia, Oliver Wei Hao
Computer Science Department
BS in Computer Science
2015-09-01T07:00:00Z
Shinjiro Sueda
game iOS graphics
2016-02-29T08:00:00Z
https://digitalcommons.calpoly.edu/cscsp/85
oai:digitalcommons.calpoly.edu:cscsp-1081
2016-03-23T19:44:15Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Snag Tagged
Cobb, Evan Pate
Computer Science Department
BS in Computer Science
2016-03-01T08:00:00Z
Bruce DeBruhl
<p>Currently, Facebook is the most popular social networking site in the world. In the fourth quarter of 2015 they surpassed 1.5 billion monthly active users. Together, these users have uploaded over 250 billion photos to Facebook, an average of 217 each. Users, however, do not have the ability to back these pictures up. To solve this problem, we created Snag Tagged. Snag Tagged is a website that allows users to download all of their pictures off of Facebook. The website utilizes Facebook’s Graph API to authenticate users and query Facebook for their pictures. The website is hosted through Amazon Web Services and utilizes open source software to run the web server. In this report, we document the website as well as the process of building it.</p>
2016-03-15T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/72
oai:digitalcommons.calpoly.edu:cscsp-1082
2016-03-18T02:12:34Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Digital Democracy Video Manager
Lam, Scott
Computer Science Department
BS in Computer Science
2016-03-01T08:00:00Z
Alex Dekhtyar
<p>The purpose of this senior project was to design and implement a video manager that provides scalability by caching videos. Currently, there are about 3600 videos associated with the Digital Democracy project. These videos are only for the California legislative system and as the project expands to multiple states the amount of videos will rapidly increase. By creating this video manager, disk space on the Digital Democracy server will be saved. All videos can be hosted on the cloud storage service and when operations need to be performed on those videos, they will be downloaded from the cloud.</p>
2016-03-17T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/71
oai:digitalcommons.calpoly.edu:cscsp-1084
2016-03-23T19:48:01Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
publication:cpesp
Pre-R
Carreon, Brian
Sanchez, Mariel
Computer Science Department
BS in Software Engineering
2016-03-01T08:00:00Z
Lynne Slivovsky
Other Computer Engineering
House Calls
Sam Slishman
swift
ios
mobile
application
<p>The project that PomTech worked on for Capstone is the PreR 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, a personal information form for patients to complete, and the ability for Dr. Slishman to update his contact availability.</p>
2021-03-18T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/73
oai:digitalcommons.calpoly.edu:cscsp-1086
2016-04-04T04:34:52Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
VennCafe
Johnson, Daniel
Clark, Christopher
Amireh, Jonathan
Computer Science Department
BS in Computer Science
2016-03-01T08:00:00Z
John Clements
Software Engineering
web
application
mobile
service
social
<p>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.</p>
<p>We started the project with the intent of...</p>
<ul>
<li>
<p>Working through the entire development cycle of a large project as a team</p>
</li>
<li>
<p>Devising techniques for determining overlapping preferences, especially when handling large amounts of location and time data</p>
</li>
<li>
<p>Exploring different languages, tools and frameworks, especially involving web front-ends and native mobile apps</p>
</li>
<li>
<p>Gaining a brief glimpse of what it would be like to be an entrepreneur promoting a new product </p>
</li>
</ul>
2016-04-03T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/74
oai:digitalcommons.calpoly.edu:cscsp-1087
2016-06-08T21:28:42Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Real Time Analytics On Digital Distraction
Welch, Kristian
Computer Science Department
BS in Computer Science
2015-12-01T08:00:00Z
Franz. J. Kurfess
Software Engineering
digital distraction
realtime analytics
web service
productivity
<p>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.</p>
2016-04-28T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/78
oai:digitalcommons.calpoly.edu:cscsp-1088
2017-02-28T22:14:03Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Deontological Ethical System For Google's Self-Driving Car
Arroliga, Edgard Alejandro, Jr.
Computer Science Department
BS in Computer Science
2016-05-01T07:00:00Z
Clark S. Turner
Computer Engineering
Ethics and Political Philosophy
Philosophy of Science
self driving car
ethic
google car
computer science
<p>Google's Self-Driving Car is a revolutionary product that is riddled with ethical conundrums. It is able to accurately scan and drive through densely populated roads without much difficulty. However, there are some situations where the car will likely have to make decisions that affect, maybe even take, the lives of those on the road. Issues such as the Trolley Problem and the Rear-End Dilemma describe situations where there seems to be no single ethical answer as to how the car should act. In order to solve these issues, I propose that a Deontological Ethical System should be implemented because it is predictable, consistent, and easy to implement as an algorithm once the rule set has been decided.</p>
2016-05-31T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/105
oai:digitalcommons.calpoly.edu:cscsp-1089
2016-06-21T17:20:51Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
High-Low
Burwell, Cameron
Cheng-Campbell, Bryce
Computer Science Department
BS in Computer Science
2016-06-01T07:00:00Z
Franz Kurfess
Computational Engineering
Computer and Systems Architecture
card
game
high
low
node
express
<p>The card game High-Low is a cooperative game that provides a unique problem of where all players have partial information and build off other players guesses to win the game. This problem lends itself to creating an AI bot that can play the game with other human players. By making decisions that change as the other players make guesses through the rounds, we have created an AI bot that plays the game with a good degree of accuracy.</p>
2016-06-02T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/82
oai:digitalcommons.calpoly.edu:cscsp-1090
2016-06-08T21:26:23Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Roborodentia Robot (Amazon Prime)
Cheung, Alec
Computer Science Department
BS in Computer Science
2016-06-01T07:00:00Z
John Seng
Computer Engineering
Robotics
Roborodentia
robot
competition
arduino
<p>Roborodentia is an annual autonomous robotics competition sponsored and hosted by Cal Poly. In the 2016 competition, participants are to design a robot that scores the most points by gathering rings from marked supply pegs and placing them onto marked scoring pegs. For Roborodentia I designed, constructed, and programmed a robot, named Amazon Prime, to compete.</p>
2016-06-03T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/77
oai:digitalcommons.calpoly.edu:cscsp-1091
2016-06-08T21:23:59Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
CashTag iOS Application
Tsui, Kevin J
Computer Science Department
BS in Computer Science
2016-06-01T07:00:00Z
Franz Kurzes
Computational Engineering
iOS Application
Cash Tab
Cash Transactions
Management
Money
Cash
<p>An iOS Application meant to help manage cash purchases/transactions.</p>
2016-06-06T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/76
oai:digitalcommons.calpoly.edu:cscsp-1092
2016-06-08T21:06:04Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Legends App
Roopreddy, Varsha
Praturu, Anusha
Computer Science Department
BS in Computer Science
2016-06-01T07:00:00Z
Franz Kurfess
Engineering
app
iOS
location
storytelling
mobile
<p>The purpose of this project is to create a location-based story archiving mobile application for the iOS platform. The application is aimed to be a social network with an emphasis on storytelling and location. It will have functionality similar to most popular social networks, such as following, liking, and commenting capabilities, among others. Stories themselves can be accompanied by photos, and can be discovered by users in a number of different ways. The application has a huge range for potential audiences, as it has no geographical or age-based bound for interest.</p>
2016-06-06T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/75
oai:digitalcommons.calpoly.edu:cscsp-1093
2016-06-14T20:38:12Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Polyratings Website Update
Sears, Cody
Krier, Connor
Thattayathu, Anil
Computer Science Department
BS in Software Engineering
2016-06-01T07:00:00Z
Phillip Nico
Other Computer Engineering
bootstrap
web
php
html
responsive
mobile
<p>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.</p>
<p>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 problems with the website were that the User Interface (UI) was outdated and cumbersome, as well as there being some troubles with the data in the website.</p>
<p>Our team knew that there were problems with the website, but the first problem that needed to be solved was that we needed to get into contact with the person maintaining the site. We had to find the man behind Polyratings. Our senior capstone professor, Dr. Janzen, was able to direct us to the email of one, J. Paul Reed (Paul). From this point forward the project took its roots.</p>
2016-06-07T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/79
oai:digitalcommons.calpoly.edu:cscsp-1094
2016-07-18T17:46:03Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Micronaut: A 2D action side scrolling platformer for the Apple TV
Williams, Christopher Michael
Computer Science Department
BS in Computer Science
2016-06-01T07:00:00Z
Zoe Wood
Computer and Systems Architecture
Hardware Systems
Other Computer Engineering
Apple TV App Video Game Micronaut
<p>Micronaut is a 2D side scrolling platformer video game application developed for the Apple TV with the tvOS SDK version 9.1. It explores humancomputer 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 assets.</p>
2016-06-07T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/98
oai:digitalcommons.calpoly.edu:cscsp-1095
2017-01-05T21:43:26Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Raspberry Pi Radio Scanner Control Web Application
Strand, Jackson Marshall
Computer Science Department
BS in Computer Science
2016-06-01T07:00:00Z
Bruce DeBruhl
Other Computer Sciences
Raspberry pi
Scanner
Radio
<p>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 less than 1-second of latency.</p>
2016-06-07T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/101
oai:digitalcommons.calpoly.edu:cscsp-1096
2016-07-14T18:27:35Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Fulfilling a RESTful Commitment: Test-Suite Generation for Swagger-based REST APIs
Dietz, Noah
Computer Science Department
BS in Computer Science
2016-06-01T07:00:00Z
David Janzen
Other Computer Engineering
JavaScript
REST API
Automated Testing
Software Engineering
<p>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 contract-based development practices. Beyond my internship, I have developed this tool as my senior project with the goal of broadening its use-case beyond unit testing and into integration testing. Thus, swagger-test-templates is a Node.js based tool designed to consume Swagger-described APIs and generate comprehensive unit tests and specified integration test scenarios.</p>
2016-06-07T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/87
oai:digitalcommons.calpoly.edu:cscsp-1097
2016-07-14T19:41:59Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Tournament Wizard: Simple and Lightweight Software for Running Fencing Tournaments
Daley, John Ryan
Computer Science Department
BS in Computer Science
2016-06-01T07:00:00Z
John Dalbey
Other Computer Engineering
Software
Development
Java
<p>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 needed to maintain the database of fencers.</p>
<p>After struggling to cope with the limitations of the existing software, I began to wonder how this software would be used if it was scaled down to fit the level of a local club team or a youth league. The purpose of this project is to create a light-weight alternative to these large scale systems. Designing a system like this would result in an application customized to the needs of smaller events, and could also serve as a basic training tool, familiarizing users to the format of larger fencing tournaments. The end goals are simplicity, portability, and usability.</p>
2016-06-08T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/91
oai:digitalcommons.calpoly.edu:cscsp-1098
2016-07-14T19:44:10Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Audit
Kong, Tammy
Tang, Jordan
Zhao, Myron
Computer Science Department
BS in Computer Science
2016-06-01T07:00:00Z
Lubomir Stanchev
<p>Audit is an application that aims to create a center of user experiences of online shopping. Through observation and personal experience, we felt there was not an adequate way of online shoppers to verify the legitimacy of a website. Online shopping has become extremely prominent over the past decade, and one of the pitfalls of this is that it is relatively easy to create a fraudulent business. The Audit application serves as a review site that is similar to Yelp, but geared towards online retailers. The application allows users to create an account and leave reviews for companies that they have had experiences shopping at. If the company does not exist within the site’s database, they are given the option to request a new company to be added.</p>
2016-06-08T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/92
oai:digitalcommons.calpoly.edu:cscsp-1099
2016-07-14T18:30:54Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Remind
Abdulla, Keith
Computer Science Department
BS in Computer Science
2016-06-01T07:00:00Z
Bruce DeBruhl
Computer Engineering
android
material design
remind
ekeitho
2016-06-09T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/89
oai:digitalcommons.calpoly.edu:cscsp-1100
2016-07-14T18:29:30Z
publication:research
publication:students
publication:cscsp
publication:seniorprojects
Table Text
Pino, Daniel
Computer Science Department
BS in Computer Science
2016-06-01T07:00:00Z
Franz Kurfess
Computer Engineering
table text
restaurant wait list
waiting list
table management
2016-06-09T07:00:00Z
https://digitalcommons.calpoly.edu/cscsp/88
889273/qualified-dublin-core/100//