2019 Computer Science Capstone Symposium
May 3rd and May 4th
Join the Computer Science Department to hear the senior capstone presentations. Student presentations will take place Friday and Saturday. All talks are scheduled in Morken 203.
Friday, May 3rd
1:45pm – PLU Club App
Hengthai Liv (BSCS), Jimmy Nguyen (BSCS), Jeremy Pallwitz (BSCS)
The PLU Clubs App aims to create a better experience for PLU students to conveniently access all PLU Clubs. Inspired by the social media of today, this Android mobile application and server will act as a communication hub that connects clubs’ members and boards efficiently. Users will be able to view, join, and create clubs and activities. The application also has the ability to recommend clubs to the user based on responses to an in-app interest survey. Following REST API and Android MVVM architecture, we have created a communication hub with ease of access and centralized information.
2:20pm – BookClub
Walker Lavoy (BSCS), Vân Nguyen (BSCS), Nick Wagner (BSCS)
3:15pm – Bits and Bytes: Learning the Basics of Computer Science Via a Puzzle Based Video Game
James Gentry (BACS), Wyatt Gleason (BSCS), David Min (BSCS)
Bits and Bytes is a puzzle based video game designed to help students learn and practice basic computer science concepts. Bits and Bytes was implemented using the Unity Engine. The game allows the player to explore pixelated maps and solve puzzles to practice concepts like variables, conditionals, and loops. These puzzles are based on the concept of “Parson’s Problems”, where code is separated into blocks and then mixed up so that it must be placed in the correct order to solve the problem. The player uses an inventory of code blocks they find throughout the game world or acquire from enemies in order to solve the puzzles and progress to the next level. These enemies can display varying behavior and will attack the player when they get close making it more difficult to get each puzzle piece required for progression.
3:50pm – Customized Bible Commentary Builder
Nathan Kosylo (BSCS)
This project implements a WordPress plugin and supporting website that allows pastors and scholars to collaboratively write custom Bible commentaries and store information in a MySQL database. These commentaries provide additional historical, translational, and cultural information to enhance one’s study of the Bible. Authors are assigned commentaries to write, with secondary contributors providing their cultural insight on the passages. The commentaries can then be published to the front end of the website for users to browse, bookmark, and download.
Saturday, May 4th
9:30am – StudioNotes: A Digital Audio Workspace Application
Emma Poffenberger (BACS)
StudioNotes is a digital audio workspace desktop application, where users can record, edit, playback audio and have a convenient place to take notes too. With the use of multithreading, users are able to multitask and perform many of these tasks at the same time. Using Python and many of its libraries such as PyAudio, Tkinter, and MatPlotLib I have developed this basic digital audio workspace to provide an easy user interface for both experienced users and beginners.
9:55am – Coding the Concepts: A web-based study tool for new computer science learners
Pardeep Haer (BACS), Kate Morgan (BSCS, BA Mathematics), Sami Lynn (BSCS)
10:30am – Break
10:50am – MushAI: Poisonous Mushroom Recognition
Dawson Faker (BACS, BA Philosophy), Jacob Leigh (BACS), Caroline Powell (BACS)
The Pacific Northwest is the perfect place for a mushroom to reside. Enthusiasts and amateurs enjoy finding and collecting these mushrooms, but they do not know if the mushrooms they are picking up are poisonous or not. MushAI provides help to individuals wanting to recognize mushrooms without having to risk hurting themselves. MushAI is a mobile friendly web application that uses artificial intelligence to identify a mushroom through image recognition. We used ImageAI’s custom recognition library to train a model based on several thousand images of different species of poisonous mushrooms we gathered from websites such as MushroomObserver.com and iNaturalist.com. Our website utilizes PHP and the CodeIgniter framework to let users upload an image to our server. This is then passed to our model to predict its species and display to the user essential information on that mushroom from our database.
11:25am – Automated Modeling of HIV Treatment Data: a Collaboration with Fred Hutch
John Smith (BSCS), Emily Shane (BSCS), Natalie Stephenson (BSCS)
This web application was a collaboration with the Fred Hutchinson Cancer Research Center. Our aim was to streamline the analysis of HIV treatments in order to quantify the effectiveness of each treatment. We automate the mathematical modeling of data retrieved in HIV clinical trials — making it easier and faster for clinicians to analyze their experiments in the search for a cure to HIV. The web interface allows clinicians to input data from clinical trials, analyze them through existing mathematical models, and view resulting insights. For example, a clinician could discover intricacies that lead to a better understanding of a medicine’s effects on HIV infection. Using CodeIgniter’s MVC architecture, the interface allows clinicians to view and select models from among those available in a MySQL database, then execute math modeling R scripts on an Apache server.
12:00pm – Lunch
12:50pm – Summit Log: Cross-Platform Outdoor Tracker Mobile Application
Robin Naggi (BSCS), Jacob Rohweder (BSCS), Isaiah Scheel (BSCS)
Summit Log is a mobile application that was written for both Android and iOS. Hikers are able to create a list of hikes they have done, a list of hikes they wish to do, upload photos of hikes they have done, and look at other people’s hikes. It is built using Google’s Flutter SDK that uses one codebase written in Dart to compile to both Android and iOS. The app also utilizes other Google platforms for the back end support like the Firebase API and the NoSQL database of Firestore.
1:25pm – Everybody Loves Ray: A Java-built, Physically-based Rendering Engine
Seth Chapman (BACS, BS Mathematics), Ethan Wiederspan (BSCS)
Everybody Loves Ray is a physically-based rendering system, gathering input from a single specification file and rendering a scene containing 3D models and point lights. Using a simple, easy-to-understand set of input parameters, this Java-based client uses a ray-tracing algorithm to simulate material qualities at a level approaching photorealism. The program uses a customized implementation of Sean R. Owens’ openOBJLoader to parse object and material file specifications, while the ray-tracing algorithm itself is a Whitted-style implementation, allowing for reflection and refraction via backwards ray propagation. Additionally, the program employs several methods for accelerating the rendering speed using an Octree data structure. When the program is finished rendering the scene, the file can be exported as a simple PNG file.