Thesis/Project Final Exam Schedule

Final Examination & Defense Schedule

Join us as the School of STEM master’s degree candidates present their culminating thesis and project work. Check back mid quarter for any new quarter defenses. View previous quarter schedules.

Select a master's program to navigate to candidates:

Master of Science in Computer Science & Software Engineering


Tuesday, November 15


Chair: Dr. Hazeline Asuncion
Candidate: Master of Science in Computer Science & Software Engineering
8:45 A.M.; Online
Project: Optimized Provenance Reconstruction for Machine-generated data

A lot of data is created, deleted, copied and modified easily over the Internet which makes it difficult to identify the authenticity and credibility of the data.  It is important to reconstruct the provenance of data which has lost its provenance information. There are techniques which helps in recovering the metadata from which provenance can be reconstructed. However, many systems fail to capture provenance due to lack of provenance capture mechanisms such as the Source file repositories or file storage system. The Provenance-Reconstruction approach proposed by the "Provenance and Traceability Research Group” has numerous projects on reconstructing provenance.

The current research (OneSource) captures various reconstruction techniques for machine generated datasets with attributes such as file size, semantic meaning of the content, and word count in the files. OneSource improves provenance reconstruction for git commit history as machine generated datasets. OneSource algorithm uses multi-funneling approach which includes techniques such as data cleaning in python, topic modelling and cosine similarity for clustering, and lineage algorithm with endpoints known to achieve higher accuracy in recovering valid provenance information. OneSource generates ground truth data by extracting commit history and file versions of a git repository. To assess OneSource model performance, the model is evaluated on various datasets with varying data size and count of files. OneSource reconstructs provenance of clusters and relationship of files (cluster derivation) within the cluster. The evaluation results indicate that OneSource can reconstruct provenance of cluster by attaining 90% precision and reconstruct provenance of cluster derivation by attaining 66% precision with cosine similarity as the clustering method. OneSource yields improvement in accuracy of 60% for cluster derivation than the existing technique. In the future, research studies may use parallelization for larger datasets as well as optimizations in lineage algorithm may improve the model performance.

Thursday, December 1


Chair: Dr. Kelvin Sung
Candidate: Master of Science in Computer Science & Software Engineering
1:15 P.M.; Online
Project: Real-time Cloth Simulation

Computer animated cloth is commonplace in video games and film making. Believable cloth animation greatly improves the sense of immersion for video gamers. Simulated cloth can seamlessly blend into live-action footage, allowing filmmakers to generate desired visuals by adjusting parameters. Real-time cloth simulation allows a user to interact with the materials, making the virtual cloth try-on experience possible. All these use cases prefer fast solutions, ideally achieving believable cloth animation in real-time. It is, however, challenging to simulate cloth both accurately and efficiently, due to its infinite deformation scenarios and complex inner mechanics. This project studied two solutions to tackle real-time cloth simulations: 1) an iterative approach using a linear solver, which fully exploits the GPU’s parallel processing architecture and efficiently solves the cloth material with thousands of vertices in real-time. 2) a nonlinear solver, which is based on the Projective Dynamics global-local optimization technique. We implemented an interactive application to demonstrate the two solutions, and assessed their qualities based on generality, correctness, and efficiency of the results. Our results show that both solvers are capable of generating believable real-time cloth animations in a wide range of testing scenarios: they interactively react to the changes in cloth attributes, internal and external forces, can be properly illuminated, texture mapped, and are capable of interacting with other objects in the scene, e.g., proper collision. The known conditions where the solvers could generate incorrect results were investigated: the instability of the linear solver with overly stiff spring constants, and the stiff self-bending of the nonlinear solver resulting in inability to support realistic wrinkles. By experimentation and theoretical reasoning, we identified that the linear solver’s instability is inevitable, while the nonlinear stiff-bending can be improved by a more sophisticated energy definition. To evaluate the both solvers' efficiency, we recorded actual runtime and derived each performance function with respect to the cloth resolutions. Our results verify the expected algorithmic complexity: within GPU supported range, linear solver runtime can maintain constant as the resolution increases. The nonlinear’s running-time grows at a O(N3) rate.


Chair: Dr. Munehiro Fukuda
Candidate: Master of Science in Computer Science & Software Engineering
3:30 P.M.; Online
Project: Performance and Programmability Comparison of Parallel Agent-Based Modeling (ABM) Libraries

Agent-based modeling (ABM) allows researchers in the social, behavioral, and economic (SBE) sciences to use software to model complex problems and environments that involve thousands to millions of interacting agents. These models require significant computing power and memory to handle the high numbers of agents. Various research groups have implemented parallelized ABM libraries which allow models to utilize multiple computing nodes to improve performance with higher problem sizes. However, it is not clear which of these libraries provides the best-performing models and which is the easiest to develop a model with. The goal of this project is to compare the performance and programmability of three current parallel ABM libraries, MASS C++, RepastHPC, and FLAME. The Distributed Systems Lab at the University of Washington Bothell developed Multi-Agent Spatial Simulation (MASS) C++ as a C++-based ABM library. Different research groups developed RepastHPC and FLAME before MASS C++, and SBE researchers have successfully used these libraries to create agent-based models. To measure performance, we designed a set of seven benchmark programs covering various problems in the SBE sciences, and implemented each of them three times using MASS C++, RepastHPC, and FLAME. We compared the average execution times of the three implementations for each benchmark to determine which library performed the best. We found that certain benchmarks would perform better with MASS C++ compared to RepastHPC, while for other benchmarks the opposite was true. However, we found that across all benchmarks FLAME had the worst performance since it could not handle the same parameters given to the MASS C++ and RepastHPC implementations. To measure programmability, we performed a static code analysis and manual code review of each benchmark implementation to assess the three libraries quantitatively and qualitatively. We found that in terms of quantitative metrics, none of the three libraries was conclusively more programmable than the others. However, MASS C++ and RepastHPC may have more desirable qualities for developing agent-based models compared to FLAME.

Friday, December 2


Chair: Dr. Min Chen
Candidate: Master of Science in Computer Science & Software Engineering
8:45 A.M.; Online
Project: Automobile Retrieval Price Predictive System using LightGbm with Permutation Feature Importance

We see different powered vehicles of hybrid, gasoline, and electric models in the vehicle market.
The varying vehicle features in these types of vehicles creates a unique problem in vehicle
selection and price prediction. We create an automobile retrieval price predictive system to
enable users to access different powered car results that have similar vehicle features. Our
system focuses on selecting multiple powered vehicles for users and predicting prices on the
selected vehicles. Our system also enables similar recommendations based on past vehicle
selections. Our capstone project compares four different regression models: LightGbm,
FastForest, Ordinary Least Squares, and Online Gradient Descent. The four models cover
ensemble machine learning models and linear machine learning models on automobile datasets
for price prediction. We select a model to use for our system after comparisons. We select and
use the LightGbm regression model for our personalized support retrieval prediction system. The
LightGbm regression model achieved a price prediction accuracy of .97 within our regression
evaluation results with cross-validation. Furthermore, we record permutation feature importance
scores within our system to signify how feature importance scores differ after predictive
learning. The system displays these rankings by car results to the user. This allows the user to
learn about how different features influence the prediction of prices. This gives the user insight
into the structure of importance by showing users low, medium, and high rankings for vehicle
features that influence price predictions.


Chair: Dr. Kelvin Sung
Candidate: Master of Science in Computer Science & Software Engineering
3:30 P.M.; Online
Thesis: Real-Time Hatch Rendering

Hatching has been a common and popular artistic drawing style for centuries. In computer graphics rendering, hatching has been investigated as one of the many Non-Photorealistic Rendering solutions. However, existing hatch rendering solutions are typically based on simplistic illumination models, and real-time 3D hatch-rendered applications are rarely seen in interactive systems such as games and animations. This project studies the existing hatch rendering solutions, identifies the most appropriate one, develops a real-time hatch rendering system, and improves upon existing results in three areas: support general illumination and hatch tone computation related to observed artistic styles, unify spatial coherence support for Tonal Art Maps and mipmaps, and demonstrate support for animation.
The existing hatch rendering solutions can be categorized into texture-based and primitive-based methods. These solutions can be derived in object or screen space. Based on our background research, we chose to examine the texture-based object-space method presented by Praun et al. The approach inherits the advantage of object-space temporal coherence. The object-space spatial incoherence is addressed by the introduction of the Tonal Art Map (TAM). The texture-based solution ensures that the rendering results resemble actual artists' drawings.
The project investigated the solution proposed by Praun et al. based on two major components: TAM generation as an off-line pre-computation and real-time rendering via a Multi-Texture Blending shader.

The TAM construction involves building a two-dimensional structure, vertically to address spatial coherence as projected object size changes and horizontally to capture hatch tone changes. This unique structure enables the support for smooth transitions during zoom and illumination changes. We have generalized the levels in the vertical dimension of a TAM to integrate with results from traditional mipmaps to allow customization based on spatial coherence requirements. Our TAM implementation also supports the changing of hatch styles such as 90-degree or 45-degree cross hatching.

The Multi-Texture Blending shader reproduced the results from Praun et al. in real time. Our rendered results present objects with seamless hatch strokes and appear natural and resemble those of hand-drawn hatch artwork. Our implementation integrated and supported interactive manipulation of effects from general illumination models including specularity, light source types, variable hatch and object colors, and rendering of surface textures as cross hatch. Additionally, we investigated trade-offs between per-vertex and per-fragment tone computation and discovered that the smoothness in hatching can be better captured in the per-vertex computation with the lower sampling rate and interpolations. Finally, the novel integration of TAMs and traditional mipmaps allow customizable spatial coherence support which allows smooth hatch strokes and texture transitions in animations during object size and illumination changes.

Monday, December 5


Chair: Dr. Dong Si
Candidate: Master of Science in Computer Science & Software Engineering
11:00 A.M.; Online
Project: Psychosis iREACH: Reach for Psychosis Treatment using Artificial Intelligence

Psychosis iREACH aims to optimize the delivery of evidence-based cognitive behavioral therapy to family caregivers who have a loved one with psychosis. It is an accessible digital platform that can utilize the user's intent and entities to determine the appropriate response. The platform is implemented based on an artificial intelligence and natural language understanding (NLU) framework, RASA. We developed the web application of the platform, and the chatbot has been integrated into the platform to collect data and evaluate performance. The link to the website is 

Thursday, December 8


Chair: Dr. Min Chen
Candidate: Master of Science in Computer Science & Software Engineering
11:00 A.M.; Online
Project: Audio Classifier for Melodic Transcription in Language Documentation  and Application (MeTILDA)

There are about 7000 languages around the world, and 42% of these languages are considered endangered due to the decline in the number of speakers of the language. Blackfoot is one such language and is primarily spoken in Northwest Montana and Southern Alberta. MeTILDA (Melodic Transcription in Language Documentation and Application) is a collaborative platform created for researchers, teachers, and students to interact, teach, and learn endangered languages. It is currently being developed based on the Blackfoot language. Deep learning has progressed rapidly in the field of audio classification and has shown potential to serve as a tool for linguistic researchers in documenting and analyzing endangered languages. This project focuses on creating a web application for researchers of Blackfoot to assist their continuous research efforts in supporting deep learning research for MeTILDA. This application focuses on the automatic classification of different sounds in Blackfoot, specifically vowels and consonants, and provides three main functionalities. The dataset preparation section allows the user to create datasets of vowels and consonants easily and reduces manual effort. The feature extraction section allows the user to extract their choice of audio features such as Mel-Frequency Cepstral Coefficients, spectrograms, and spectral features for further processing and re-training models, and the audio classifier section allows the user to automatically obtain instances of vowels and consonants in user-provided audio files within Blackfoot language. The audio classifier uses an optimized ANN with audio spectral features and Mel-Frequency Cepstral Coefficients as input features and provides an accuracy of 89%. This application lowers the manual efforts and time-intensive tasks for researchers of Blackfoot and can be extended to classify other sounds in the future.

Friday, December 9


Chair: Dr. Munehiro Fukuda
Candidate: Master of Science in Computer Science & Software Engineering
8:45 A.M.; Online
Project: Agent-based Graph Applications in MASS Java and Comparison with Spark

Graph theory is constantly evolving as it is applied to mathematics, science, and technology, and it has active applications in communication networks, computer science (algorithms and computation), and operations research (scheduling). Research on the realization and optimization of graph theory is of great significance to various fields. However, due to the increasing size of databases today, the volume of datasets (which can be represented as graphs for graph theory analysis) in real academia and industry has reached the level of petabytes (1,024 terabytes) or level of exabytes (1,024) petabytes. Analyzing and processing massive graphs has become a principal task in different fields. It is very challenging to process and compute rapidly growing, huge datasets (graphs) in a reasonable amount of time with limited computing and memory resources. In order to meet the need of improving performance, some solutions have emerged one after another - parallel frameworks that support graph computing. However, it is unclear how these parallelization libraries differ in performance and programmability for graph theory research or graph application development. The goal of this project is to compare the performance and programmability of two parallel libraries, MASS Java developed by the DSLab at the University of Washington Bothell, and Spark (including Spark GraphX) developed by the AMPLab at the University of California Berkeley, for graphics programming. In order to balance performance and programmability, we used MASS Java and Spark to design and develop Graph Bridge, Minimum Spanning Tree, and Strongly Connected Components respectively, for a total of six graph applications. After three rounds of running the applications and comparing their performance, the results show that for the Graph Bridge application, the performance of Spark is slightly better than that of MASS Java, and for Minimum Spanning Tree and Strongly Connected Components applications, MASS Java performs slightly better. Because MASS Java provides agents, they can more flexibly handle vertex-based regional operations and pass data to other agents; but Spark is not an agent-based library. However, for Graph Bridge applications that require depth-first traversal to obtain results, the agent advantage of MASS cannot be reflected. To measure programmability, we perform quantitative and qualitative evaluations respectively. The results show that the programmability of the two libraries is similar, but from the user's point of view, MASS Java is more intuitive and suitable for developing graphical applications.


Chair: Dr. Min Chen
Candidate: Master of Science in Computer Science & Software Engineering
1:15 P.M.; Online
Project: Extending a Cloud-Based System for Endangered Language Analysis and Documentation

With 40% of the world’s 7000 languages considered endangered, there is a significant need to document and analyze these languages to preserve the language and its associated culture and heritage. Blackfoot, spoken by approximately 2800 speakers in Alberta, Canada and Montana in the United States, is one such endangered language. Classified as a pitch accent language, the meaning of a Blackfoot word is not based exclusively on the spelling of the word but on the pitch patterns of the spoken word, which makes it challenging to teach and learn. To overcome this challenge and aid in the revitalization of the Blackfoot language, we collaborated with researchers at the University of Montana in developing a cloud-based system known as MeTILDA (Melodic Transcription in Language Documentation and Application). The goal of this project is to modernize the technologies originally used in the MeTILDA system, extend its analytic capabilities to incorporate the study of rhythm, and improve its data reuse and collaboration capability by persisting the data used in creating the visual aids called Pitch Art. The proposed features will benefit linguistic researchers in furthering their understanding of the Blackfoot language. It will facilitate teachers in developing curriculum for language acquisition, and help students take advantage of a teachers guided learning plan. With this system, we aim to provide an extensible platform to support future development to support the documentation and preservation of other endangered languages.

Back to top

Master of Science in Cybersecurity Engineering

Autumn 2022

Wednesday, November 30


Chair: Dr. Brent Lagesse
Candidate: Master of Science in Cybersecurity Engineering
11:00 A.M.; Online
Project: Securing WireGuard with an HSM

WireGuard is a popular, secure, and relatively new VPN implementation that has seen widespread adoption.  WireGuard’s basic key management in the reference implementation leaves some weaknesses that could be  exploited by threat actors to steal keys, compromising a user’s identity or exploit their privileged access. In my project I combined the industry-standard practice of isolating sensitive data with cutting-edge support for Curve25519 keys on an HSM. I created a WireGuard-compatible fork called WireGuard-HSM which uses the PKCS#11 interface to securely access a user’s private key and perform privileged operations on a USB security key. After performing two threat model analysis and comparing the results, I show how my modifications improve the security of the WireGuard system by decreasing the attack surface and mitigating two vulnerabilities, if the host computer is compromised. WireGuard-HSMs security improvements come without a noticeable  performance penalty.

Back to top

Master of Science in Electrical Engineering

Autumn 2022


Back to top