Projects

These are my current and past coding projects.

  • AI Task Delegability

    Abstract: Although artificial intelligence holds promise for addressing societal challenges, issues of exactly which tasks to automate and the extent to do so remain understudied. We approach the problem of task delegability from a human-centered perspective by developing a framework on human perception of task delegation to artificial intelligence. We consider four high-level factors that can contribute to a delegation decision: motivation, difficulty, risk, and trust. To obtain an empirical understanding of human preferences in different tasks, we build a dataset of 100 tasks from academic papers, popular media portrayal of AI, and everyday life. For each task, we administer a survey to collect judgments of each factor and ask subjects to pick the extent to which they prefer AI involvement. We find little preference for full AI control and a strong preference for machine-in-the-loop designs, in which humans play the leading role.

  • Novel Nets

    Last semester, I worked on a project to analyze the book Infinite Jest as a network. Well, after a few more nights of work, I’m pleased to announce that it’s now able to work on any book! It will turn the book into a network of character co-mentions using named entity recognition and a small bit of manual intervention when it’s not sure.

  • Infinite Jest Nets

    [View the visualization here!] Does a fictional story structurally mirror our world, or is it fundamentally different? How does a story’s structure impact its narrative? We analyze David Foster Wallace’s Infinite Jest to attempt an answer to a variant of these two questions. Specifically, we represent the book as a growing network, with characters as nodes and character co-mentions as weighted edges. In a liberal interpretation, this gives an approximation a character-interaction network. Using standard static analysis techniques (degree distribution, transitivity, modularity, assortativity, and centralities), as well as dynamic techniques (sparsification vs densification, by examining largest component size, number of components, degree, and mean geodesic path as a function of book progress), we answer two questions:

  • InfoVis using D3: Mozilla Dataset

    As part of my Information Visualization class, we were exposed to D3 for creating web-based interactive visualizations. It’s really quite slick. Here’s a link to something I made that I’m particularly proud of. It’s a representation of data from Mozilla’s 2017 Internet Future of Connectivity Survey. Mozilla’s blogpost on the data can be found here.

  • Unsupervised Learning and Student Math Misconceptions

    This was our Machine Learning (CSCI 5622) final project. We worked with a local Boulder company, WootMath, to see if we could apply unsupervised learning techniques to the area of personalized learning to automatically recognize types of student mistakes and misconceptions in grade school-level math problems (e.g. simplifying fractions).

  • Spectral Clustering Exploration

    Working with two other classmates, we conducted an in-depth analysis and exploration of spectral clustering, an unsupervised learning technique.

  • CS MS Degree: University of Colorado at Boulder

    These are the classes I’m taking or have completed in seeking my Master’s degree in Computer Science from CU-Boulder.