2021 Computer Science Capstone Symposium

May 14th & May 15th

The Computer Science Department senior capstone presentations will take place Friday and Saturday.  If you’d like to join the capstone Zoom session, please email Professor Laurie Murphy at murphylc@plu.edu.

Friday, May 14th

12:45pm – DeepStock: A Stock Prediction Tool Using Machine Learning
Vanessa Hoang (BS), Marcus Lee (BS), Erika Powell (BS), Nolan Premo (BS)

DeepStock is a web application that provides investors with stock information, including headlines, historical prices, and some of our own daily predictions. Through our predictions, we want to give investors all the data and information to form their own opinions on stocks to the best of their abilities. Our predictions are generated using XGBoost with Sentiment Analysis which is a machine learning framework that works with opinion mining which uses a gradient boosting library that’s highly efficient and flexible along with a natural language processing technique that’s trained on the most recent year’s worth of news headlines. Our website uses a backend Google Cloud, MySQL database, Docker, and Python Flask. While the front end is built with React JS. We have other features on our website as well that we hope will aid investors in their decision making. Those features, which are accessible to users by creating an account, include being able to view the historical data of certain stocks, a forum to chat with other investors, and more.

1:15pm – Over The Counter: A Medical Supply Inventory Tracking Application
Jeffrey Hallstrom (BS), Anastasia Bidne (BA/French), Wesley Louthen (BS)

Over The Counter provides an easy-to-use interface to record and track medications. Users can set reminders for low supplies and daily notifications to take medications. This Android application, written in Java, uses Google Firebase as a backend server and API to communicate with a local device and provide a secure connection to the user via Firebase authentication services, allowing the user to track their medicine usage across multiple devices. Using these highly documented software architectures, we were able to create an application that protects the user’s private data, while allowing them to access it through a simple user interface.

1:45pm Garden Guide: A Desktop Application to Assist Your Home Garden
David Ries (BS), Brandon Enderby (BS)

Garden Guide is your new and improved way to plan, plant, and manage your home garden. Developed as a Java based desktop application and utilizing mySQL for local database storage, we have created a sleek and intuitive UI to help you take care of your new home garden. The UI is split between database interaction and constructing a virtual representation of your garden. The database stores a wide variety of information on various common plants from planting instructions to sun exposure and planting season. The core of Garden Guide is creating and managing a virtual representation of your garden. After inputting the length and width of your plot you are able to select areas of your garden plot and add plants to your garden. After adding a plant, you are able view all stored information by selecting it. So whether you are a seasoned veteran or a new home gardener, Garden Guide is here to keep your thumbs green and your garden healthy.

2:15pm Break

2:30pm – Gradebook: A Mobile Application for Tracking Grades
Aaron Rabara (BS), Mohammad Almutawa (BS), Michael Mercier (BA)

Gradebook is a cross-platform, feature rich, customizable mobile application that assists students in keeping track of their grades in classes that they are currently enrolled in. The Gradebook app also calculates a student’s GPA for each term as well as their cumulative GPA based on terms entered into the app. Additionally, the Gradebook app can be used to track upcoming assignments and send notifications when a due date is approaching. Student data is automatically synced to the cloud to facilitate the use of multiple devices or in the event the user switches to a new device. The Gradebook client application is written in Dart using Google’s Flutter UI development kit and functions on both Android and Apple iOS devices. Our backend services were created using Google Firebase Authentication and Cloud Firestore services. Grades can be a major source of stress for college students, and our application aims to help give students peace of mind by providing a convenient, easy to use tool for tracking their grades and monitoring assignments.

3:00pm – Bioinformatics Tools Website
Christian Oakley (BA), Daniel Shin (BA)

The Bioinformatics Tools project is a web server to host pre-existing tools for protein modelling. Students and researchers can submit protein strings and receive estimations of a protein’s structure and function. They can also submit models of a protein’s structure and get back a summary of how accurate the model is. It uses a Docker backend with FastAPI and a Celery queue, with a MySQL database, and a reactstrap frontend.

Saturday, May 15th

9:30am – PLU Varsity Sports App
Blake Uyehara (BA), Emily Sugimoto (BA)

The PLU Varsity Sports App replicates the golutes website in a creative and user friendly design for mobile devices. Utilizing web scraping techniques, features such as team rosters, game statistics and game results are displayed in real time. Users will have greater accessibility to PLU sports while on the go through the direct link to the PLU streaming platform. The front end is built in Dart using the Flutter SDK, which makes the app compatible on both Android and iOS devices.

10:00am – Stella: A Mobile App for Astrological Matching
Tasha Tennyson (BA), Bay Faubion (BA), Phillip Hecksel (BS)

Stella is a mobile application for IOS and Android that brings users together based on their astrological signs. The front end is made with react native and the back end is written in Python. We are using AWS to host our services and databases. This app generates a birth chart for each user and then matches them with other users that have compatible birth charts. Users will be able to see the breakdown of each match, view user profiles, and save matches. Once a match is mutually saved between users an option to chat will appear and the two users will be able to communicate.

10:30am – Break

10:45am – Building a Kernel from Scratch
James Waltz (BS)

The goal of this project was to create a very simple OS as one would see in embedded systems development. This project was written on a Raspberry Pi 4 Model B in both C and ARM syntax Assembly code. Using these was able to complete various subsystems, including a working display, serial console connection and execution level change. These are implemented and interact to present data from an accelerometer connected via an I2C bus connection. This data is drawn via the HDMI driver onto my screen in real time.

11:15am – Graduation Planner Mobile App
Matthew Horton (BS), Andre Un (BS)

The Graduation Planner mobile app aims to simplify the current experience of planning out course scheduling and degree completion for both PLU students and advisors. Our application looks to bring the usage and information that currently is spread out between Google Sheets, the class schedule, the course catalog, and CAPP reports, and merge them into a single, more intuitive environment. Given some information about a student, the app allows a student and their advisor to view their graduation plan and manipulate it to their desire. Additional informative features of the app aid in the course selection process by minimizing the need to combine information from different resources and provides a checklist for a student’s progress in their degree requirements. The app is supported on both iOS and Android devices using Dart and Java as its primary languages.

11:45pm – Break

12:00pm – Hierarchical Machine Learning techniques Utilizing Sequential and 3D Structural Features for Evaluation of Model Accuracy and Local Quality Estimation
Kyle Hippe (BS)

The Estimation of Model Accuracy problem is a cornerstone problem in the field of Bioinformatics. As of CASP14, there are 79 global QA methods, and a minority of 39 residue-level QA methods, and very few of them works on protein complex. With the increasing accuracy of tertiary structure prediction methods, local quality is becoming more and more important, yet is still slightly underrepresented in tools that predict it. ZoomQA is a 3D structural based residue-level protein quality estimation tool that aims to solve this problem accurately and efficiently using novel feature engineering and machine learning techniques.

12:30pm – Value Investments Web Application
Keller DeBord (BS), Yaroslav Kravchuk (BS), Dylan Zuber (BS)

Value Investments is a web application with the mission to provide easily understandable financial information to investors of any experience level. Users are able to search for any company that is public and be presented with a page containing the company’s key value investing ratios, up-to-date stock charts, relevant news articles, and several more items that allow investors to make educated decisions. Our team is particularly excited about the Neural Network we have built from scratch to predict the intrinsic value of a company. The neural network is in line with the value investing approach in the way that it is being trained on financial reports of companies to output the high price of the stock the following year. Our front-end is written in React and our back-end uses Google’s Firebase hosting services and Firestore NoSQL database.