Computer Science Department

Student Publications and Theses 

Computer science students are involved in active research, both through senior thesis and through other undergraduate research opportunities. In both cases students often publish this work in prestigious academic venues.  Below is a list of recent thesis and published work.

Past theses are available in the Reed library stacks, and some are available online. Seniors: visit the Resources page for typesetting help, including the thesis template.

Recent Student Publications

Bolded authors are Reed students.


Recent Theses 

This list includes math majors advised by computer science professors, especially in years when the computer science major did not yet exist.


Aadit Bagdi (Computer Science)
Ctional Programming, Or How the “Fun” got taken out of Functional Programming: An examination of Haskell as a tool for interactive web applications

Zach Barbanell (Computer Science-Mathematics)
Optimizing Gadgets for Fully Homomorphic Encryption

Perry Chan (Computer Science)
Session Typing and Checking Using State Minimization

Caden Corontzos (Computer Science)
Optimizing Lempel-Ziv-Welch for DNA Compression

Connor Deiparine (Computer Science)
Playlist For A Traveling Salesman

Ilana Frey-Kim (Computer Science-Mathematics)
Simplicial Homology Computation Using Discrete Morse Theory

Roscoe Haynie (Computer Science-Mathematics)
A Zero-Knowledge Proof for Norinori

Finn Hill (Computer Science)
An expansion of Miss Ratio Curves

Jacob Hoopes (Computer Science)
The L-Systems Explorer: An Introduction to Generative Art

Will Howes (Computer Science)
Nintendo Entertainment System Emulation in Rust

Josephine Kessler (Computer Science)
Harmonies Bound in Markov Chains

Aria Killebrew Bruehl (Computer Science)
A Parameterized Approach for Hedcut Rendering

Becca Luff (Computer Science)
Human Understanding of Fairness Definitions

Bryant Morrell (Computer Science)
Towards Analysis of Parallel Caching with Variable Size Items

Keith Ng (Computer Science-Mathematics)
Building To The Third Story: An AI To Play Santorini

Harrison Nicholls (Computer Science)
Formal Verification of Key Exchange Protocol Security with Tamarin Prover

Emily Osborne (Computer Science)
Orals scheduling

John Poole (Computer Science)
E-cology: simulating cancer with evolutionary and ecological dynamics

Ryan Quisenberry (Computer Science
Multithreaded Prefix-Free Parsing for Multi-Genome Index Construction

Iwan Richards (Computer Science)
Fluid Modeling in Computer Graphics with the Moving Least Squares-Material Point Model

Eliot Tarlov (Computer Science)
The Quantum Approximate Optimization Algorithm and its Application to Clustering

Rohan Walia (Computer Science)
Javascript Score Following

Alex White (Computer Science)
Making a Simple GPU

Larry Zeng (Computer Science-Mathematics)
Exploring Noninterference in Programming Languages: A Study of Simple Dependency Core Calculus and Logical Relations

Daniel Zou (Computer Science-Mathematics)
Differentially Private Weighted Linear Regression


Emmanuel Arthur (Computer Science-Mathematics)
The stable roommates problem with globally-ranked pairs

Cruz Barnum (Computer Science-Mathematics)
Indistinguishability obfuscation from the ground up

Peter Cherepanov (Computer Science)
An Expanded and Updated Review of Halftoning Techniques

Maxx Curtis (Computer Science)
Simulating the Granularity-Change Caching Problem

Caroline Fanelli (Computer Science-Art)
Ago : empathy, simulation and princesses

Ariel Flaster (Computer Science)
Scheduling MapReduce on a Heterogeneous Architecture

Rylie Foster (Computer Science-Mathematics)
An introduction to data-driven modal analysis

Prasun Ghosh (Computer Science)
Investigating Writeback Aware Landlord

Benjamin Hunter (Computer Science)
Parallel Delaunay triangulations under the divide-and-conquer model

Safiyy Kanjiyani (Computer Science)
Recognition and Translation of Timbre in Monophonic Audio

Josh Klein Valente (Computer Science-Mathematics)
An Introduction to Elliptic Curves and Applications in Cryptography

Tunç Başar Köse (Computer Science-Mathematics)
Approximate Message Passing for Principal Component Analysis : Theory and Practice

Jay Kruer (Computer Science-Mathematics)
The Way of Glue: An Invitation to the Categorical Semantics of Lambda Calculi

Arthur Lawson (Computer Science)
Ain't Nothin But a G-trie 

Henry Lindeman (Computer Science-Mathematics)
Normal Attention: A Novel Self-Attention Linearization Strategy For Abstractive Summarization of Long Documents

Luka Morgan (Computer Science)
Tetris x Scrabble : Combining Two Classic Games and Getting a Computer To Play It

Alex Richter (Computer Science)
Instacloak : A Friendly Guide About Adding Noise to Preserve Some Anonymity Online

Daksh Shami (Computer Science-Mathematics)
Exploration of the Hidden Subgroup Problem

Jakob Shimer (Computer Science-Mathematics)
CNF Reduction in Weighted Model Counting

Stella Trout (Computer Science)
A Guessing Game: Text Compression With Natural Language Models

Charlotte Walker-Kahn (Computer Science)
Investigating Fairness Definitions For Risk Classification Algorithms


Reilly Cannon (Computer Science-Mathematics)
Differential Privacy: the Gap Statistic and the Mapper Algorithm

Zhengyao Gu (Computer Science-Mathematics)
Selective Prediction: Training and Evaluation Methods

Casey Harris (Computer Science)
Don’t Look Down: Interpreting Visual Information Using Celeste

Hannah Hellerstein (Computer Science)
Where’s My Proton Pack?: Defending Against Spectre Variant 1

David Herrero Quevedo (Computer Science)
Implementation of Local Differentially Private Protocols for Linear Queries

Albert Ji (Computer Science-Mathematics)
Universal Approximation and Interpolation in Neural Networks

Jonah Kohn (Computer Science-Neuroscience)
The Recursive Application of Biological and Artificial Neural Networks: Towards an Understanding of Both

Jiarong Li (Computer Science-Mathematics)
Complex Network Comparison using Graphlets

Yilin Li (Computer Science-Mathematics)
What If English Had No Spaces? Investigating the Challenges of NLP for Character-Based Languages

Robert McCaull (Computer Science)
Session Types for a Concurrent Language sNow

Kai Pinckard (Computer Science)
Causal Relation Extraction: a Three Step Process

Eli Poppele (Computer Science)
Do Algorithms Dream in Electric Sleep? Using Genetic Algorithms to Train Neural Networks to Play Atari Video Games on RAM-Based Input

Weihang Qin (Computer Science-Mathematics)
Raymarching Hyperbolic Geometry

Danny Riso (Computer Science)
Building a Taxonomy from the Wikipedia Category Graph

Hrishee Shastri (Computer Science-Mathematics)
Cutting the Chord: Interleaved and Demand Aware Skip Graphs

Jakob Shimer (Computer Science-Mathematics)
CNF reduction in Bayesian network inference by weighted model counting

Aryeh Stahl (Computer Science-Mathematics)
A Generalized Approach to Graph De-anonymization

Jon Takagi (Computer Science)
Evaluating Multiparty Computation Techniques for Fuzzy Matching of Voter Registration Records

Ian Wahbe (Computer Science-Mathematics)
Improvements to the Heuristic Rural Postman Problem

Lucas Yong (Computer Science-Mathematics)
An Exploration of Topological Quantum Computation

Laura Yoshida (Computer Science)
Insights from Applying Readability Formulas to Computer Systems Papers


Mercy Bhakta (Computer Science)
Colors in flux :rendering iridescence arising from single-layer thin films

Henry Blanchette (Computer Science)
Purity and effect

Eric Boettner (Computer Science)
Keystroke encryption over USB HID pathways

Vinay Gopalan (Computer Science)
Sentiment analysis on code-mixed tweets

Ian Jackson (Computer Science-Psychology)
A Novel BCI System for 3D Shape Imagery Classification

Jillian James (Computer Science)
Lengthy language generation :using neural networks to write a Reed thesis

Mason Koch (Computer Science-Mathematics)
Reinforcement learning for Pokemon AI

Noah Koster (Computer Science-Mathematics)
Neuronal Dynamics of the Action Potential: Spiking Behavior in the FitzHugh-Nagumo Model and others

Alice McKean (Computer Science)
A replication of the AKS primality decision algorithm

Monica Moniot (Computer Science)
Differentially private bootstrap

Ryan Neumann (Computer Science)
An exploration of reinforcement learning through video games

Hien Nguyen (Computer Science)
Investigating the effectiveness of byte pair encoding for low-resource machine translation

Lilian Qi (Computer Science)
On Generating Stylized Line Drawerings from Polygonal Models

Josh Reiss (Computer Science)
Procedural terrain generation for virtual reality environments

Maxwell Rosenberg (Computer Science)
Odd One Out: Learning Taxonomic Embeddings from WordNet

Sierra Schlott (Computer Science)
Increasing mySQL throughput via smartNIC offloading

Kaiyan Shi (Computer Science-Mathematics)
Investigation on 1D area law and XXZ model

Sarah Strand (Computer Science)
SimuLating leader-free byzantine fault-tolerant consensus protocols in a partially synchronous distributed system

David Tamas-Parris (Computer Science-Mathematics)
Elliptic Curves Aren't Secure? SIKE!

Sam Zofkie (Computer Science)
Parallel collaborative filtering for gray sheep


Matthew Atteberry (Computer Science)
Reinforcement Learning: An Overview

Miles Baker (Computer Science)
Don't Point Yourself Into a Corner: Using Static Analysis to Prevent Memory Leaks in C

Tanmay Dubey (Computer Science-Mathematics)
Latent Dirichlet Allocation: an Application to Computer Systems Conference Papers

Ira Globus-Harris (Computer Science-Mathematics)
Differentially Private One-Way Analysis of Variance

Dylan Huff (Computer Science)
PowerPoint Natively on the Web, a Java PPTX Extension

Emmett Kahn (Computer Science)
DNA Compression Using Machine Learning

Michael Kalange (Computer Science-Mathematics)
Embed With the Entropy: Applying Word2Vec to Lossless Text Compression

Rhody Kaner (Computer Science)
Gender Representation in Computer Science

Abenezer Mamo (Computer Science)
Scalable learning for the odd-man-out task with applications to word vector induction

Hannah Mead (Computer Science)
Untangling tech and timbre :assumptions make algorithms 

Ananthan Nambiar (Computer Science)
Computing the Language of Life

Richard Pham (Computer Science-Mathematics)
Graph reconfiguration in the context of permutation routing

Angelica Richardson (Computer Science-Mathematics)
Composing Cellular Automata for Modeling n-Component Reaction Diffusion Systems

Veronica Richardson (Computer Science)
Dynamic emergence and evolution in a distributed behavioral flocking model

Marika Swanberg (Computer Science-Mathematics)
Noisy Quantum Oracles: A Study of Algorithmic Robustness 

Ziyuan Zhong (Mathematics with a concentration in Computer Science)
Combined Program, Columbia University

Jalan Ziyad (Computer Science-Physics)
Quantum Search in the Face of Decoherence: Insights From Histories Approach


Meaza Abate (Computer Science-Mathematics) 
A runtime system and translator for a concurrent language

Revant Bagaria (Computer Science-Mathematics)
An exploration of textual similarity in academic literature on computer systems

Langston Barrett (Computer Science-Mathematics)
Deriving coinductive types in univalent type theory

Benjamin Black (Computer Science-Mathematics)
Efficient parallelism detection for heterogeneous computing

Zachary Campbell (Mathematics)
The Hungarian algorithm and the primal-dual method
Kealyssa Castillo-Martin (Computer Science-Mathematics)
Bridging natural language and logic automatically : from formal grammars to SMT solvers

Trenton Freeman (Computer Science)
Memory consistency in the internet of things : is that lock really locked? 
Alexander Grant (Computer Science-Mathematics)
3D sandpiles and efficient computation of the circular sandpile

Andie Hoshijo (Computer Science)
Solving fuzzy-logic problems with SMT solvers : or, How rice cookers relate to happy roommates

Palak Jain (Computer Science-Mathematics)
Oblivious data structures

Alisa Kwok (Mathematics with a concentration in Computer Science)
Algorithmic approaches to the fold-and-cut problem in origami
Sage Michaels (Computer Science-Mathematics)
Functional encryption and indistinguishability obfuscation 
Mark Schultz (Computer Science-Mathematics)
Homomorphism attacks on R-LWE : one hardness assumption to rule them all
Eric N. Whittier (Mathematics)
NeuroCompress : text compression using long short-term memory networks


Taylor Whitney Allen (Mathematics)
Subgame Perfect Rational Secret Sharing
Cameron Alexander Fish (Mathematics with a concentration in Computer Science)
A GPU approach to the Abelian sandpile model
Nicholas William Philip Franzese (Mathematics-Biology)
Examining the Practicality of Shortest Hyperpaths for Signaling Pathway Analysis: The Cheating Hyperpath Algorithm as an Alternative Approach
Rik Ghosh (Mathematics)
Parametric Curve Fitting and Vector Graphics
Joewie J. Koh (Mathematics with a concentration in Computer Science)
Algorithms for the Computation of Delaunay Triangulations
Alec Richard Kosik (Mathematics with a concentration in Computer Science)
Semantic Parsing with Substructural Logics
Erik Osvaldo Lopez (Mathematics with a concentration in Computer Science)
Password Hash Functions
Alexander C. Pan (Mathematics with a concentration in Computer Science)
Parallel Graph Algorithms
Dylan Gunter Whitlow (Mathematics)
Combined Program, Department of CSE, University of Washington


Nathan Duncan (Mathematics)
Heart of Zero-Knowledge

Joshua Gancher (Mathematics)
Fully Homomorphic Encryption

Gregory Alex Ledger (Mathematics with a concentration in Computer Science)
Implementing Component-Based Garbled Circuits

Emma Miller (Mathematics)
A Quantum Walk on the Heisenberg Group

Alexandra Salem (Mathematics)
Explanation and Simulation of the HHL Algorithm

Barney Potter (Mathematics-Biology)
Modeling Cell Signaling Networks with Prize-Collecting Subhypernetworks

Jeremy Cosel (Mathematics with a concentration in Computer Science)
Clean Up After Yourself: Implementing Garbage Collection

Joshua Hepworth (Mathematics with a concentration in Computer Science)
The States of Splendor: Searching Game Trees with Partial Information

Isabella Jorissen (Mathematics with a concentration in Computer Science)
Tiling the Heavens In special cases where 'the Heavens' is ℝ2