2020 Computer Science Capstone Symposium

May 8th & May 9th

Join the Computer Science Department to hear the senior capstone presentations. Student presentations will take place Friday and Saturday.

Friday, May 8th

1:45pm – PLU Natural Sciences Fellowship App
Nicholas Crossman (BS), Hayley Heishman (BS), Daniel Kaiser (BS), Natalie Steinert (BS)

The Natural Science Fellowship is a new program dedicated to the academic success of students within the Natural Sciences programs. Faculty and tutors can host events to help students with personal and academic growth, giving students prizes as a reward for attending a certain number of events. Our goal is to replace the current method of paper booklets and stickers for tracking participation with a web and mobile application that is more eco-friendly and convenient. Students and faculty only need a device connected to the internet to create an account and have their attendance counted, see their personal score, and compare it against the top ranked students. Our app uses a backend MariaDB database connected to a RESTful Java API. The front end is built in Dart, using the Flutter SDK to make the app available across platforms.

2:15pm – X-Research
Joshua Moran (BS), San Nge (BS)

X-Research is a desktop application that assists in creating simple research papers. With X-Research, users enter researched content into the text editor and are given the option to change font styles, and cite urls using a built in citation generator. The text editor in X-Research preserves text styles from content copied onto clipboard and with implemented AI Summarization, the user has the option to summarize text. X-Research also displays a list of content that users have added so that they can keep track and organize what will be converted into the research paper. Users will be able to edit the citation contents manually. In addition, the text editor in X-Research is designed to accept images, and styled text, giving the user more power to edit their research paper. X-Research will then convert all of the user’s research into a polished pdf document. The software is built in a cross-platform framework called Electron, written entirely in HTML, CSS, JS, and a related ecosystem of tools and can be used on Windows, Mac, or Linux OS. The app is designed to help with simple research based projects by summarizing content and citing sources, saving time on the tedious tasks and allowing more time to do research. Github: https://github.com/CS499-NoteTaker/xResearch_DesktopApp.git

2:45pm StudyHub: Social Networking for Students
Chris Caudill (BA/Chinese Stu), Holden Gjuka (BS)

StudyHub is a social app aimed at creating opportunities for students to study together and network. It recommends other students to study with based on their interests, and once they connect they can send messages to get to know one another. Using Dart-based Flutter for the UI and Google’s Firebase for many under-the-hood functions, the application has a screen for browsing the profiles of other users for potential connections, a settings page for profile customization and other user settings, and chat rooms with other users you’ve made connections with. Our database is hosted on Firebase Cloud Firestore which is a NoSQL database, that is managed by our app and Firebase Cloud Functions.

3:15pm Break

3:30pm – Implement Autonomous RC Car
Daniel Carver (BS), Sola Gbenro (BS), Kaitlyn Gold (BS), Moses Mbugua (BS/French)

The goal of this project is to build a self-driving RC car that drives itself around a predefined path. Utilizing a LiDAR laser scanner to observe the car’s environment, we generate a map and algorithmically guide the car through the racecourse. We utilize ROS (Robot Operating System) packages as a means to integrate our LiDAR laser scan data with the Hector SLAM (Simultaneously Localisation and Mapping) algorithm to simultaneously localize and map the location of the RC car. Using these maps, we implement our path planning algorithm (pure pursuit) and machine learning models to predict a safe and suitable path for the car to traverse. A simulated replica of our RC car is created using ROS which allowed us to test our pure pursuit algorithm and machine learning models. Once the simulations achieve success, the instructions are implemented onto the physical hardware of the car.

4:00pm – Genre Busters
Devin Ober (BA), Keith Petitt (BS/Poly Sci)

“Genre Busters” is a project made to satisfy a niche in the deck building genre. As a mixture of card based strategy and bullet hell action, our game caters to players who find the average deck builder too slow. Developed in Unity and coded in C#, our project utilizes the Unity ECS framework to maximize the number of simultaneous projectile and player interactions. “Genre-busting” is when an artist or author combines established styles into a unique and revolutionary experience for consumers. In “Genre Busters”, players construct decks with up to two different “genres”, allowing them to find unique and expressive ways to defeat their opponents in 1-on-1 combat.

Saturday, May 9th

9:30am – FractaSound
Grant Rayfield (BS), Alex Schuster (BS/Art)

FractaSound is a fractal-based audio visualizer; this java desktop application aims to provide users with an appealing and customizable animation accompaniment for music. After installing the application, users will be able to import their own music in .WAV or .MP3 form. Users may also select one of several color theme presets to customize the animation to their liking. During the process of the visualization, pitch and volume is extracted by Fast Fourier Transform (FFT), to produce a fractal animation using the fundamental frequency of a current audio sample of the input music. This combination of pitch and volume is used to render a specific Julia Set fractal belonging to the Mandelbrot Set, creating an intuitive and interesting audio visualizer for all to enjoy.

10:00am – PhysiCL
Ben Warner (BA/3-2 Eng.)

PhysiCL is a general-purpose Python physics simulation library intended for both physics students and researchers wishing to perform OpenCL-accelerated numerical analysis, and is currently used primarily for the simulation of light. PhysiCL includes a Numpy-based code units system, a set of generic simulation tools, built-in tools for absorption-based and isotropic-based scattering, tools for measuring light behavior, and tools for writing new OpenCL-based simulation features. Github: https://github.com/bcwarner/physicl

10:30am – Implementation and Empirical Analysis of Acceleration Structures for Ray Tracing
Spenser Currier (BS), Adam Rhoades (BS)

Realistic rendering can take minutes, hours, or even days depending on the complexity of the scene. To meet modern demand in movies, video games, and commercials, acceleration structures for ray tracing have been designed to efficiently reduce the number of ray-triangle intersection checks necessary when traversing a scene using spatial subdivision. In this research project, we implemented acceleration structures discussed in the Oscar award-winning book, Physically Based Rendering, by Matt Phar(research scientist at NVIDIA). Using our C#-based application, we were then able to analyze the performance of different types of acceleration structures, and their effect on memory use, render duration, and acceleration structure setup duration. Our analysis shows that when triangles are well distributed throughout a scene, the Grid accelerator is highly efficient, whereas the Bounding Volume Hierarchy Accelerator is best suited for scenes with abnormal distribution of triangles.

11:00am – Break

11:15am – Origamia: An Origami Approach to Euclidea
Nathan Hohnbaum (BS/Math), Steven Lopez (BS/Math)

Origamia is a web-based app that offers a geometrically challenging puzzle experience for those interested in Origami, but even more specifically for those who want to stray from the norm and create folds in a 2D plane. The lines and points that result from folds comprise the “solution” to a given level, rather than the 3D paper structures that are created by the folds. The types of folds that can be done with paper are described by the Huzita-Hatori Axioms of Origami. Our project implements the first two axioms and is modular so that we can implement further axioms in the future. We have additionally designed our program to be resistant to various forms of cheating and hacking, including data-mining on the front-end, tricking the front-end into believing that a given level has been solved, and committing CSRF attacks.

11:45am – Healthcare Reporting Tool
Shakah Alhamed (BA), Max Staples (BA/Econ), Connor Van Natta (BA)

The Chronic Patient Manager web app seeks to enable healthcare organizations to improve the management of patients with chronic conditions such as diabetes or hypertension. Inspired by a local community health clinic manager and public health advocate our web application taps into existing healthcare data standards to fill the reporting gaps clinic managers often face. Utilizing FHIR health information exchange standard, following REST API best practices and MVT architecture we have created a tool that allows clinic managers to better serve patients while meeting their organization’s needs!

12:15pm – Break

12:45pm – Old Man in the Shop
Jim Carey (BS), Colton Freitas (BS)

The main goal of the Old Man in the Shop project is to aid heavy machinery mechanics in their line of work through quick troubleshooting information and a set of forum pages for easy information sharing. The project is centered around a website troubleshooting tool used by heavy machinery mechanics to aid in diagnostics and repair of broken machinery. With an account, a user can enter a minimal description of the machine and receive predictions made by a set of machine learning algorithms about what mechanically plagues it. Utilizing a multi-machine architecture and machine learning, the front-end website formally requests predictions and user management through a REST-like API to an off-site backend server written in C#. These features allow us to provide heavy machinery mechanics with quick troubleshooting information.

1:15pm – Cunning Coders’ Cafe
Sam Driver(BS), Michael Garcia (BS), Nicholas Sundvall (BS)

Cunning Coders’ Cafe is a mobile food ordering application written for Android and iOS phones. Users are able to create an account, view menus of available food and drinks, and can place an order for pickup. Employees can view the list of orders that have been placed and approve or deny them before getting the order ready for the customer. The application’s UI was built with React-Native which is a JavaScript framework that uses one codebase to compile to both Android and iOS. The backend includes an ASP.NET web API written in C# hosted on AWS Elastic Beanstalk, and a MySQL database hosted on AWS RDS. GitHub URL: https://github.com/nisule/capstone