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

Physical Sciences and Mathematics Commons

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

Articles 1 - 14 of 14

Full-Text Articles in Physical Sciences and Mathematics

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.


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 …


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 …


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 …


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 …


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.


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.


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 …


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 …


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.


Hitchride Ios App, Petar Georgiev Mar 2017

Hitchride Ios App, Petar Georgiev

Computer Science and Software Engineering

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


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

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

Computer Science and Software Engineering

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