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

Computer Sciences Commons

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

California Polytechnic State University, San Luis Obispo

Discipline
Keyword
Publication Year
Publication
Publication Type
File Type

Articles 211 - 240 of 788

Full-Text Articles in Computer Sciences

Acceleration Of Jaccard's Index Algorithm For Training To Tag Damage On Post-Earthquake Images, Kyle John Mulligan Jun 2018

Acceleration Of Jaccard's Index Algorithm For Training To Tag Damage On Post-Earthquake Images, Kyle John Mulligan

Master's Theses

There are currently different efforts to use Supervised Neural Networks (NN) to automatically label damages on images of above ground infrastructure (buildings made of concrete) taken after an earthquake. The goal of the supervised NN is to classify raw input data according to the patterns learned from an input training set. This input training data set is usually supplied by experts in the field, and in the case of this project, structural engineers carefully and mostly manually label these images for different types of damage. The level of expertise of the professionals labeling the training set varies widely, and some …


Influencing Exploration In Actor-Critic Reinforcement Learning Algorithms, Andrew R. Gough Jun 2018

Influencing Exploration In Actor-Critic Reinforcement Learning Algorithms, Andrew R. Gough

Master's Theses

Reinforcement Learning (RL) is a subset of machine learning primarily concerned with goal-directed learning and optimal decision making. RL agents learn based on a reward signal discovered from trial and error in complex, uncertain environments with the goal of maximizing positive reward signals. RL approaches need to scale up as they are applied to more complex environments with extremely large state spaces. Inefficient exploration methods cannot sufficiently explore complex environments in a reasonable amount of time, and optimal policies will be unrealized resulting in RL agents failing to solve an environment.

This thesis proposes a novel variant of the Actor-Advantage …


Improving Swarm Performance By Applying Machine Learning To A New Dynamic Survey, John Taylor Jackson May 2018

Improving Swarm Performance By Applying Machine Learning To A New Dynamic Survey, John Taylor Jackson

Master's Theses

A company, Unanimous AI, has created a software platform that allows individuals to come together as a group or a human swarm to make decisions. These human swarms amplify the decision-making capabilities of both the individuals and the group. One way Unanimous AI increases the swarm’s collective decision-making capabilities is by limiting the swarm to more informed individuals on the given topic. The previous way Unanimous AI selected users to enter the swarm was improved upon by a new methodology that is detailed in this study. This new methodology implements a new type of survey that collects data that is …


Characterizing Mental Health And Wellness In Students Across Engineering Disciplines, Andrew Danowitz, Kacey Beddoes Apr 2018

Characterizing Mental Health And Wellness In Students Across Engineering Disciplines, Andrew Danowitz, Kacey Beddoes

Computer Science and Software Engineering

Anecdotal evidence has long supported the idea that engineering students have lower levels of mental health and wellness than their peers. It is often posited that the large number of courses, low overall retention, difficult courses, and the abundance of intensive engineering projects lead to an unhealthy work-life balance and eventually lower levels of mental health for this population. To date, however, there has been no comprehensive study on the prevalence and types of mental health conditions that afflict engineering students, or any data on whether certain disciplines within engineering may see a greater prevalence of certain mental health conditions …


Detecting Speakers In Video Footage, Michael Williams Apr 2018

Detecting Speakers In Video Footage, Michael Williams

Master's Theses

Facial recognition is a powerful tool for identifying people visually. Yet, when the end goal is more specific than merely identifying the person in a picture problems can arise. Speaker identification is one such task which expects more predictive power out of a facial recognition system than can be provided on its own. Speaker identification is the task of identifying who is speaking in video not simply who is present in the video. This extra requirement introduces numerous false positives into the facial recognition system largely due to one main scenario. The person speaking is not on camera. This paper …


An Empirical Study Of Css Code Smells In Web Frameworks, Tobias Paul Bleisch Mar 2018

An Empirical Study Of Css Code Smells In Web Frameworks, Tobias Paul Bleisch

Master's Theses

Cascading Style Sheets (CSS) has become essential to front-end web development for the specification of style. But despite its simple syntax and the theoretical advantages attained through the separation of style from content and behavior, CSS authoring today is regarded as a complex task. As a result, developers are increasingly turning to CSS preprocessor languages and web frameworks to aid in development. However, previous studies show that even highly popular websites which are known to be developed with web frameworks contain CSS code smells such as duplicated rules and hard-coded values. Such code smells have the potential to cause adverse …


Semantic Document Clustering Using Information From Wordnet And Dbpedia, Lubomir Stanchev Jan 2018

Semantic Document Clustering Using Information From Wordnet And Dbpedia, Lubomir Stanchev

Computer Science and Software Engineering

Semantic document clustering is a type of unsupervised learning in which documents are grouped together based on their meaning. Unlike traditional approaches that cluster documents based on common keywords, this technique can group documents that share no words in common as long as they are on the same subject. We compute the similarity between two documents as a function of the semantic similarity between the words and phrases in the documents. We model information from WordNet and DBPedia as a probabilistic graph that can be used to compute the similarity between two terms. We experimentally validate our algorithm on the …


Lightning Draft, Benjamin Sweedler Jan 2018

Lightning Draft, Benjamin Sweedler

Computer Science and Software Engineering

Lightning Draft is a web application for drafting Magic: the Gathering cards. Users can visit www.lightningdraft.online to build a deck from randomly generated booster packs. This app was inspired by digital card games such as Hearthstone. Lightning Draft is a quick, fun, and simple alternative to drafting with physical cards.


Noteit Ios App, Waylin W. Wang, Gurjeevan Bains Dec 2017

Noteit Ios App, Waylin W. Wang, Gurjeevan Bains

Computer Science and Software Engineering

Miscommunication is a common struggle that many students face in today’s world, despite the significant technological progress that we have made. With NoteIt, we aimed to solve this issue, by allowing students to join groups based off of the courses that they are enrolled in during the current quarter. Within the app, they can send and receive messages and events from everyone else in the group, or post private reminders to themselves. Communication can range from assignment clarification to exam preparation tips. Overall the development of the application went relatively well, despite some roadblocks along the way. We were satisfied …


Optimal Layout For A Component Grid, Michael W. Ebert Dec 2017

Optimal Layout For A Component Grid, Michael W. Ebert

Computer Science and Software Engineering

Several puzzle games include a specific type of optimization problem: given components that produce and consume different resources and a grid of squares, find the optimal way to place the components to maximize output. I developed a method to evaluate potential solutions quickly and automated the solving of the problem using a genetic algorithm.


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

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

Computer Science and Software Engineering

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

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


Automatic Music Transcription With Convolutional Neural Networks Using Intuitive Filter Shapes, Jonathan Sleep Oct 2017

Automatic Music Transcription With Convolutional Neural Networks Using Intuitive Filter Shapes, Jonathan Sleep

Master's Theses

This thesis explores the challenge of automatic music transcription with a combination of digital signal processing and machine learning methods. Automatic music transcription is important for musicians who can't do it themselves or find it tedious. We start with an existing model, designed by Sigtia, Benetos and Dixon, and develop it in a number of original ways. We find that by using convolutional neural networks with filter shapes more tailored for spectrogram data, we see better and faster transcription results when evaluating the new model on a dataset of classical piano music. We also find that employing better practices shows …


Intuition: Role, Biases, Cognitive Basis, And A Hypothetical Synergistic Explanation Of Intuitive Brain Operations, Jens G. Pohl Jul 2017

Intuition: Role, Biases, Cognitive Basis, And A Hypothetical Synergistic Explanation Of Intuitive Brain Operations, Jens G. Pohl

Collaborative Agent Design (CAD) Research Center

This paper explores the characteristics of the intuitive responses that are generated by our brain continuously in an automatic and effortless manner. However, while intuition is a very powerful mechanism, it is also subject to many biasing influences. The author discusses the role of intuition, examines representative examples of biasing influences, compares cognitive theories of intuition advanced by Simon (2002), Klein (2003 and 1999), and Kahneman (2011), and then advances a hypothetical explanation of the neurological operations underlying intuition based on Hebbian rules (Hebb 1949) of plasticity in combination with synergetic principles.


Teaching Systems And Robotics In A Four-Week Summer Short Course, Andrew Danowitz, Bridget Benson, Jeremy Edmonds Jun 2017

Teaching Systems And Robotics In A Four-Week Summer Short Course, Andrew Danowitz, Bridget Benson, Jeremy Edmonds

Computer Science and Software Engineering

This paper describes a four-week summer short-course designed to introduce students with limited hands-on technical experience to the low-level details of embedded systems and robotics. Students start the course using a Raspberry Pi 3 to learn the basics of Linux and programming, and end the course by competing in a capture-the-flag type competition with the web-configurable GPS-guided autonomous robots they designed and tested in the course. Throughout the course, students are introduced to programming languages including Python and PHP, advanced programming concepts such as using sockets for inter-process communication, data interchange formats such as JSON, basic API development, system concepts …


Performing A Practical Paging Attack On The Lte Network, Nathan H. Yee Jun 2017

Performing A Practical Paging Attack On The Lte Network, Nathan H. Yee

Computer Science and Software Engineering

No abstract provided.


Senior Project: Calendar, Jason L. Chin Jun 2017

Senior Project: Calendar, Jason L. Chin

Computer Science and Software Engineering

This calendar application is meant to help individuals with busy schedules. Those who must balance their time between working on multiple simultaneous projects would categorize key users. In the application, users will be able to participate in multiple projects at any one time. When a user is in a project, they will be able to create tasks, add tasks, be assigned to tasks, and add other users to the project. A key feature in this application is that each user is provided a personal project. In their personal project, any task assigned to the user from any project, will be …


Roborodentia Robot (Duct Tape Craze), Tarrant J. Starck Jun 2017

Roborodentia Robot (Duct Tape Craze), Tarrant J. Starck

Computer Science and Software Engineering

Roborodentia is an annual autonomous robotics competition held at Cal Poly in April. In 2017, Roborodentia was a head-to-head double elimination tournament with the winner being the robot that moves more rings onto the scoring pegs. For this year’s competition, I designed, built, programmed, and tested a robot.


Underwater Computer Vision - Fish Recognition, Spencer Chang, Austin Otto Jun 2017

Underwater Computer Vision - Fish Recognition, Spencer Chang, Austin Otto

Computer Engineering

The Underwater Computer Vision – Fish Recognition project includes the design and implementation of a device that can withstand staying underwater for a duration of time, take pictures of underwater creatures, such as fish, and be able to identify certain fish. The system is meant to be cheap to create, yet still able to process the images it takes and identify the objects in the pictures with some accuracy. The device can output its results to another device or an end user.


Procedurally Generating Genetic Keys, Adam A. Levasseur Jun 2017

Procedurally Generating Genetic Keys, Adam A. Levasseur

Computer Engineering

This project presents a method for creating multi-part models based on input keys to generate new, variant models via genetic algorithms. By utilizing 3D models as modular parts, this method allows for the generation of a unique, compound model based on one or multiple input keys. This paper explains the process of creating and testing such generation styles using simple geometry to create more complex, compound models.


Neural Network Ai For Fightingice, Alan D. Robison Jun 2017

Neural Network Ai For Fightingice, Alan D. Robison

Computer Engineering

Game AI in the fighting game genre, along the lines of Street Fighter, Mortal Kombat and Tekken, is traditionally script-based, with hard-coded reactions to various situations. Though this approach is often easy to understand and tweak, it requires substantial time and understanding of the game to implement in a way that is challenging and satisfying for the player due to the very large possibility space. This paper explores the use of neural networks as an alternative approach by implementing and training a network to select an action to take each frame based on the game state.


Eulerian On Lagrangian Cloth Simulation, Kyle C. Piddington Jun 2017

Eulerian On Lagrangian Cloth Simulation, Kyle C. Piddington

Master's Theses

This thesis introduces a novel Eulerian-on-Lagrangian (EoL) approach for simulating cloth. This approach allows for the simulation of traditionally difficult cloth scenarios, such as draping and sliding cloth over sharp features like the edge of a table. A traditional Lagrangian approach models a cloth as a series of connected nodes. These nodes are free to move in 3d space, but have difficulty with sliding over hard edges. The cloth cannot always bend smoothly around these edges, as motion can only occur at existing nodes. An EoL approach adds additional flexibility to a Lagrangian approach by constructing special Eulerian on Lagrangian …


Message-Layer Encryption In Ricochet, Liam B. Kirsh Jun 2017

Message-Layer Encryption In Ricochet, Liam B. Kirsh

Computer Science and Software Engineering

My intention for this project was to implement encryption and authentication on Ricochet's message layer. This provides two major benefits. The first is a higher level of encryption in the event that a flaw is found in the existing channel-layer encryption, or if increases in computing power make attacks on that encryption feasible. Tor is used by the military, journalists, law enforcement, researchers, and activists, whose communications may be interesting to state-level adversaries and criminal organizations with access to great amount of computing resources. Additionally, message-layer encryption would allow users to specify relay nodes that can temporarily store messages and …


Unreal Engine 4 Rpg, Jacob W. Russ, Jeffrey J. Nunez Jun 2017

Unreal Engine 4 Rpg, Jacob W. Russ, Jeffrey J. Nunez

Computer Engineering

Classic RPG videogames have become few and far between in the Western market over the years as modern RPG systems have gained popularity. The purpose of this project is to present a vertical slice of a hybrid RPG game that takes the gameplay mechanics and styles of classic RPG videogames and infuses them with a modern presentation. Through the use of the powerful Unreal Engine 4 graphics engine, this project is able to combine impressive graphical fidelity with modernized systems to fuel a videogame that is undeniably a classic RPG at heart. This is not a full game, but a …


Automated Grading Of Handwritten Numerical Answers, Mark T. Brown Jun 2017

Automated Grading Of Handwritten Numerical Answers, Mark T. Brown

Computer Engineering

The objective of this project was to automate the process of grading handwritten numerical answers in a classroom setting. The final program accepts a scanned answer sheet completed by the student along with a description of the correct answers and produces a detailed report describing the confidence of correctness for each answer.

Computer vision techniques are used to automatically locate the locations of the answers in the scan. Each digit is then passed through a convolutional neural network to predict what was written by the student. The individual probabilities of each digit produced by the network are aggregated into a …


Computer Vision Based Route Mapping, Ryan S. Kehlenbeck, Zachary Cody Jun 2017

Computer Vision Based Route Mapping, Ryan S. Kehlenbeck, Zachary Cody

Computer Science and Software Engineering

The problem our project solves is the integration of edge detection techniques with mapping libraries to display routes based on images. To do this, we used the OpenCV library within an Android application. This application lets a user import an image from their device, and uses edge detection to pull out a path from the image. The application can find the user's location and uses it alongside the path data from the image to create a route using the physical roads near the location. The shape of the route matches the edges from the given image and the user can …


Group Work Versus Informal Collaborations: Student Perspectives, Andrew Danowitz Apr 2017

Group Work Versus Informal Collaborations: Student Perspectives, Andrew Danowitz

Computer Science and Software Engineering

A substantial body of research exists showing that, when implemented correctly, the use of group work in a class can improve student learning outcomes. When implemented incorrectly, however, group-based assignments can lead to dysfunction and inter-personal conflicts that can hamper overall student success. This problem can be especially acute in first and second year engineering fundamentals courses where advanced students who learn the concepts faster may end up completing—and reaping the benefits of—a lions-share of the group work. As the course material starts to build on itself, those students who initially underperformed in their group may lack the understanding to …


Probabilistic Roadmaps For Virtual Camera Pathing With Cinematographic Principles, Katherine Davis Apr 2017

Probabilistic Roadmaps For Virtual Camera Pathing With Cinematographic Principles, Katherine Davis

Master's Theses

As technology use increases in the world and inundates everyday life, the visual aspect of technology or computer graphics becomes increasingly important. This thesis presents a system for the automatic generation of virtual camera paths for fly-throughs of a digital scene. The sample scene used in this work is an underwater setting featuring a shipwreck model with other virtual underwater elements such as rocks, bubbles and caustics. The digital shipwreck model was reconstructed from an actual World War II shipwreck, resting off the coast of Malta. Video and sonar scans from an autonomous underwater vehicle were used in a photogrammetry …


Iota Pi Application For Ios, Deborah Newberry Mar 2017

Iota Pi Application For Ios, Deborah Newberry

Computer Science and Software Engineering

Kappa Kappa Psi is a national honorary fraternity for college band members. They meet every Sunday night, and during these meetings they plan events (both internal and external) that aim to meet our goal of making sure that the Cal Poly band programs have their social, financial, material, and educational needs satisfied. This paper details the steps I took to create an application for them to use internally to help ease organizational processes.


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

Music Times: A Music Learning Game, Emily Woo

Computer Science and Software Engineering

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


Gpumap: A Transparently Gpu-Accelerated Map Function, Ivan Pachev Mar 2017

Gpumap: A Transparently Gpu-Accelerated Map Function, Ivan Pachev

Master's Theses

As GPGPU computing becomes more popular, it will be used to tackle a wider range of problems. However, due to the current state of GPGPU programming, programmers are typically required to be familiar with the architecture of the GPU in order to effectively program it. Fortunately, there are software packages that attempt to simplify GPGPU programming in higher-level languages such as Java and Python. However, these software packages do not attempt to abstract the GPU-acceleration process completely. Instead, they require programmers to be somewhat familiar with the traditional GPGPU programming model which involves some understanding of GPU threads and kernels. …